I like dreaming about ideas. Ideas I’d like to see exist in the world, ideas for things that I might want to build, and other ideas that just broadly fall in the bucket of “oh this would be kinda cool”. Some of these ideas are really bad, some promising, some completely random, and some better articulated than others. Mostly they’re a collection of thoughts that my brain was (for some reason!) eager to explore a little bit.
I tend to write these ideas down in Google Keep and then eventually forget about most of them. But recently, I’ve been experimenting with moving them from Google Keep onto this page, where they can have a slightly more visible home. If any of these resonate with you, please go and build em!
The counter piece to Problems
Social reading app
Some kind of social reading app which makes reading books a more social experience.
- see what friends are reading, what they highlighted in their books, see their notes, etc.
- ideally you could see this inside the book you’re currently reading
- iPad app?
- connect to people who are also currently reading the same book as you and have discussions about it
- break out a quote, then have a conversation about it
- “better Goodreads”
B2B focussed mashup of Stackshare and Yourstack
Combine the enterprise/company focus of Stackshare with the SaaS tool focus of YourStack
What you see on Stackshare:
- Uber uses MySQL
- Airbnb uses React Native
What you see on YourStack:
- Your friend uses Spotify
- Someone you follow on Twitter read Atomic Habits
What you’d see on this product:
- Figma uses Looker for Business Intelligence
- Airbnb uses GitHub Projects for eng project management
All of these are just random examples
The overarching ideas is to give SaaS purchasers an idea of what tools their peers are buying, and what they’re using those tools for.
- Charge CIOs, CTOs, CXOs to access this service
- Novel distribution channel for new SaaS tools
Wikipedia for problems
Problems and known unknowns can be difficult to find on Wikipedia. To me the class of specific known problems that we know exist seem like a class of knowledge that is still trapped in the heads of subject matter experts. It would be cool to have a place that focuses on giving structure specifically to problems and related challenges.
I’m documenting some of the problems I’m thinking about right here on this blog
On a related note, there are a lot of (nice!) tools for collecting feature requests (aka solutions/ideas) from users. I wonder if there are any tools that nudge users more towards sharing their raw experiences and encountered problems instead.
iOS app just for posting tweets and DMs
Nothing else. No feeds. Just post tweets and send/receive direct messages.
Slack API middleware service
A service that sits in between the Slack API and any Slack app to take care of most of the generic “plumbing” tasks that any app would otherwise have to implement manually.
Public API services
Government (?) run publicly available, free (API) services to serve common computing needs
An example of this would be this favicon-image-getter service by Google, below. As far as I know it’s not publicly documented, so I’d be cautious to use it. But if it came with a reliability guarantee, I’d start using it in my apps
- Government run and maintained Lambda functions?
Next gen terminal/shell
- Proper sync, composable dotfiles, runs in the cloud
- Works out of the box with the stuff you want. Take inspiration from the best parts of fish and zsh
- Share bash history with the rest of the world, learn from the commands of others
- Commonly executed commands
- Easily share commands/sessions/workflows with your team
- Later: buttons
- Mobile-first shell? Or even further: apple-watch-first shell?
Write code on smartphones
New programming language and environment that is mobile-first
Dotfiles are great, but they can get messy quicly. I would like dotfiles to be more composable and more discoverable. I should be able to have many different configuration tweaks and extensions to my programming environment without it becoming super messy. I would also like to very easily adopt a part of my cool coworker’s setup (but without needing to adopt everything)
I think it’d be cool if there was a “dotfiles platform” where anyone could publish small, useful, dotfile-esque snippets. These could then be discovered and 1-click installed by anyone.
As an example, I’ve had this alias in my
.zshrc for a few years after discovering it on Stack Overflow. I use it every couple of weeks:
alias git-remove-merged='git branch --merged | egrep -v "(^\*|master|main)" | xargs git branch -d'
This is a great candidate for publishing as a “snippet”. Anyone can see that I use this snippet and add it to their own setup.
- profile that shows your published and your installed dotfiles
- monetize by charging teams/companies to maintain private dotfiles or shared “team dotfiles” configurations
Super basic Slack slash command that opens a modal and ultimately appends to a Google Sheet (each column in the sheet would be an input element in the modal)
Emojis are great and help us express ourselves in non-verbal communication. One really cool thing about Slack is that anyone can add custom emoji. Some of my favorites include:
- :yes:, :yay:, :nope:
- and literally hundreds of others that fill some of the gaps not covered by the official emojis in the Unicode standard
I’d love for there to be some kind of emoji platform where anyone can upload their own custom emojis and then folks can upvote the best ones. Perhaps eventually these custom emojis can also become official ones.
- Some great existing explorations here, such as https://slackmojis.com/ – but still feels like some of the best custom emojis are trapped in private Slack workspaces
- easily export to/import from Slack
- upvoting and downvoting (?) is key
Code in AR
If we had much more additional peripheral space available, what would we do with it?
Codify organizational processes
Some kind of tool that helps you articulate business processes, keeping track of who owns them, which ones are active. To keep the whole organisation informed about which processes exist, which they are expected to participate in, etc.
- Probably especially useful for processes where at least one human needs to be involved
- “When we have 10 blog posts, then we should send a newsletter”
- System keeps track of the number of blog posts and then notifies when it’s time to send a newsletter
- Humans and machines working in concert
- Trello for business processes. (where the value of Trello comes less from the drag and drop Kanban board, and more from everyone in the organisation seeing exactly the same content and being on the same page about the who, what, when, etc.)
A place where anyone can write down or otherwise document a specific problem that they’d like someone to provide a solution for. For example:
“Suppliers” of solutions gain insight into the kinds of problems that are reported. Which ones are the most grave, which ones are experienced by the most people.
Additionally, match experienced problems to solutions that already exist
- novel distribution channel for solutions
- Stack Overflow for SaaS app recommendations
Live database diagrams
A tool that connects to your staging database, looks at the schema and then makes a visualization of how all the tables are laid out. Helps everyone on the team understand how the system is modelled and where dependencies are. Also likely reduces the time it takes for someone to onboard and understand the system.
A simple example of such a visualisation (from my database modelling blog post):
Language agnostic open source services
Each programming language has language-specific libraries. In some cases a specific library for one language is vastly superior to the equivalent libraries in other languages.
An example of this is Puppeteer, which provides a great API to control Chrome. If you’re already using Node, making use of this library is not that hard. But if you’re using a different stack, you’ve got a lot more things to figure out before you can make use of Puppeteer and seamlessly tie it into the rest of your existing application.
I’d love for there to be some kind of language-agnostic setup that makes it trivial to use all the best libraries that are otherwise only easily available if you happen to already use an existing language.
Some of the things that would be required for this to work:
- good data exchange protocol/good interface
- strong reliability
- easy networking setup
- straightforward deployment set up
- straightforward local setup or an alternative
- simple deployment systems (Render or Heroku would need to support it)
- In the absence of battle tested decade long reliability, strong observability
- extremely low latency
Databases are a good example of such open source, language agnostic services with powerful interfaces. Imagine if each programming language had to have its own custom database library/service.
Another idea that I’ve been thinking about in this realm is a service that sits in between any Slack app and the Slack API to take care of much of that plumbing that each Slack app would otherwise have to implement itself.
- Am I just describing microservices here and the distributed systems problems that come with it?
Digital, social, immersive bookshelf
In meatspace, browsing the bookshelves of others can be great sources of inspiration and great conversation starters. This is much harder to do during lockdown, and of course there are many physical constraints in that you can only visit so many people, Kindle books won’t show up on the bookshelf, etc.
I think it’d be cool if there was some kind of immersive, social, digital bookshelf that you can browse, and take inspiration from which doesn’t come with the constraints of the physical world.
Quick yes/no on mobile
A few weeks ago I was reviewing ~300 job applications. The initial screen consisted of looking at a few questions that each applicant answered, as well as their CV and a couple of other fairly standard things. I would then record my thoughts and recommendation in a Google sheet.
IMO this is the perfect task you could do on a phone if you’re not close to a laptop/desktop. I would have loved to rate some more applicants while commuting as opposed to scrolling through another endless feed, but good look editing a google sheet on the go. A full screen overview of their google form submission, and a couple of buttons to communicate my recommendation would have been perfect!
Team scratch pad
A scratchpad for teams
- extremely simple
A scratchpad that becomes the default place for notes. Anything team based can just easily be written up there. No making a google doc and trying to figure out sharing and jumping through many hoops. One easy space that is quickly within reach at all times. Write notes first, triage later
quickly within reach and easily present close to where users are is extremely important.
- tied into vscode scratchpad
- Kind of like google keep enterprise?
- feels related, though more of a focus on zoom: https://www.macro.io/
Collaboration-first operating system
Operating systems are not really collaborative by default. I wonder what it could be like to build a collaboration-first OS from scratch.
Tools like Tandem are pretty cool and promising but feel a bit bolted onto the old word.
Imagining something that is a bit more like Minecraft multiplayer and each of the players is doing some productive thing (writing code, writing a document, communicating with each other, etc.)
Some kind of collaborative keyboard shortcut app
You could record your own keyboard shortcuts and then annotate them for others to see?
Or for users wanting to learn, could show the top 5 most commonly used keyboard shortcuts for each app (and an explanation around what they do)
Feature request bounties
Sometimes I have extremely niche feature request for closed-source products that I pay for. To give a specific example, there’s this one feature I really want to have in Stripe Sigma that would save me approximately 2h of manual work once every 3 months.
I would love if there was a place where I could post a $200 bounty which would be paid out (presumably to the team or to the engineer directly) upon implementation.
customers requesting features can put their money where their mouth is at a very granular level
teams have an incentive to build for the desires of customers (?)
product managers + engineers get additional customer input into what to prioritize working on
some prior art (though specific to open source: https://issuehunt.io/
Got any thoughts on these ideas? Email me: [email protected]