What have you built more than twice and wish someone had built for you?
For me, I'm building workspaces and sharing capabilities for the third time at a different company.
I would convince my boss to pay for a service that provided easy-to-use React components and implemented all the flows for inviting users to workspace, share by email or link, list who can access a resource, send invitation emails, etc, so I could focus on the damn app!
A local dev environment that works.
Doing this again, and again, and again....
...truly sucks.
After not working on a codebase for a year, or two, I usually need to set up everything again -- and often run into very stupid/pointless issues that waste an hour, and often much more, just to get to the point where I can start the actual coding process.
This is pretty much why I've stopped coding. I don't have the time to waste any more.
The programmable web. A singular gateway to a programmatic way in which you not only consume data but also services. It doesn't exist. We have a very fragmented ecosystem of http based services mixed with html, APIs and everything requires an account or credit card. I'd kill for one way to access everything in a programmatic way through one gateway. Tried to approach this in numerous ways and continually failed.
Edit: Last attempt https://M3O.com
A sane build system + package management solution for C++. I have to cobble it together via CMake + Conan every time and I'm praying I get put on a new Rust project someday, but my position and sizeable comp are mainly for being a "legacy janitor".
A SaaS for managing personal documents. The closest I have right now (not SaaS) is paperless-ng[0], but I have to self-host it, unless I missed a really compelling solution.
I have a sea of documents, both physical and electronic, and it's always a struggle to scan/organize/find them. I'd pay good money for a software/service that manages my documents, from scanning to archiving.
[0] https://github.com/jonaswinkler/paperless-ng
Deployment pipelines, CI/CD, (dev)ops. It's my biggest pet peeve ever that every company I have ever been to has written highly customised CI/CD/(dev)ops tooling that I had to fight with or adapt at some point. I don not understand why anything beyond heroku/dokku complexity is ever needed. The needs for teams to manage infrastructure is lunacy in this day and age.
A licensing system. That's actually why I ended up building my current business 7 years ago.
So you've found a problem -- now build a solution. :)
My parent's computers.
In the ancient times known as "the 90s" you could find PC technicians who would run anti-malware, dig into the register, and overall tune your computer while leaving everything more-or-less as it was.
Those technicians are long gone, replaced by people who make easy money by wiping your computer clean and putting your old files in a folder called "Backup".
I'd gladly pay someone to do it right, but I just can't find anyone. So whenever I visit my parents I know there will be a parade of slow devices waiting for me to tune them.
Postal Pre-sort routines. Many years ago, when the most reliable way to get the real walk lists was to go to the local postmasters.
There was fairly cheap commercial options even then but that shop had a bad "dont buy what you can build" attitude combined with a maddening shyness about making any other use out of the things they'd built. Having written our own presort software, we couldn't then sell it or even open source it because that would be "a burden distracting from the core mission of the business."
It's a tricky area. There are strong reasons why systems like this tend to use dark patterns and it is your own call what you think is appropriate. Also making a system like this really work as opposed to pretend to work means effort put into email deliverability and things like that that other people can't really do for you.
I read this in 1999
https://philip.greenspun.com/panda/
and came to the conclusion that the basic need for a "web framework" was a system of authentication that did what most commercial sites do: let people create new self-service accounts with email verification and all of that. That was the essence of the tcl-based framework that Phil Greenspun was pushing but I didn't like tcl, so I wrote something in PHP that was meant to integrate with 'best-of-breed' PHP applications (install the authentication system, then modify various applications to use your authentication not then) as opposed to the "PHPNuke" approach which was popular in the industry which was "install some portal which had worst-of-breed implementations of most of the functionality you think you need".
What I found baffling was that nobody cared about authentication frameworks until they became something that worked "as a service" about 10 years later which is silly for so many reasons, not the least that a company that offers a service like that is going to either run out of money and shut down the service or get aqui-hired and shut down the service.
An open source lib where I can type up some text configuration, hook it up to a sql database, and get a nice looking generated form (for internal surveys in my case).
A photo deduplication tool. For some reason I always resort to writing small, scenario-specific python scripts. A couple of reasons I can recall:
- 3 or more input directories which have specific roles like "main archive, prioritize", "temp folder, remove from here first"
- multiple levels of equivalence test, including file name, exif tags, checksum, perhaps perceptual hash (e.g. for flagging downscaled images to be deleted)
An internal fix for attribution. I have worked with three companies - all three consumer - and they required a reliable attribution mechanism they could rely on to know which channel is required for acquisition of their users, and which one for conversion. Usually it's a very similar product too. We use Branch or Appsflyer api (or Facebook, Google Ads if on website) and then use the JSON generated to map it to our users (in a postgres table) and then run queries by joining that with our internal DB tables.
I usually value two things: one, who first made the user aware about the product (could be organic, FB, SEM, Organic, Instagram, reddit, hacker news, product hunt, anything) and then which channel was responsible for final conversion event we want. Most products in the market only care about last. First touch is important to figure out where to get more users from at a lower cost. In the products, they tend to overwrite that and just use last touch. So, you store the JSON at the time of generation in your own database, map it to userid, and use it for internal calculation.
Cheap offsite backups. I know AWS and BB are the bees knees. But when I read the terms they. Have so many escape clauses built in. My bosses already had a poor experience with our backup provider simply deleting our backup set over a missed payment. Although there are better services they are quite shy about doing it again.
Spreadsheet data ingestion. Someone did built it, but it was years after: https://flatfile.com/
Not a plug. I'm unaffiliated and just impressed by it. Should've thought of it myself.
Regexstepper - takes an ordered list of regexs & repeatedly runs them against a corresponding ordered replacement list and ordered sample list until no further replacements are found. Used it to learn about stepping through PEMDAS simplification on various math iexpressions & attempts at combinatorial systems. Wrote it once years ago learning about PEMDAS then decided to delete it because JS cannot do at matching of arbitrary depth matching braces without parsing into an AST ala shunting yard, then learned about combinators & decided to try again to try and find systems that work without parentheses.
Auth Code.
The only I have used before was django auth (great), but never get anything like that in other langs. I'm in Rust know and is my biggest desire...
I wrote a web app that moved paper-based funding submission and grant management online. A second client wanted the same thing, so I wrote it again with newer tech. When the third client asked for the same thing I spent eighteen months creating a customisable framework, which is in use for increasing numbers of clients.
Every couple of months I wind up making a quick s3 static site which isn't too difficult but doing it manually there are several steps spread out across many pages and it's easy to forget one if it's been a while. Every time I do it I wish I had written a script to automate it the last time.
A configuration management system. Actually I didn't build it, but have used different implementations at every job. Why can't this just be a commodity? It's not exactly doing anything very different in each case.
Multi-party signed review tooling for git, CI, and secure enclave infrastructure. Built all of it several times. This time I found a client to let me open source it all though, so this is the last time I hope!
A password manager for teams of people that isn't dumb.
It's surprisingly hard to find. I contributed to one open source that a co-worker started, and I made my own in my own time. So I've almost made it twice.
Revenue infrastructure. For the amount of time and engineering resources it takes to build and maintain, it's just easier to spend 10% of it.
Buy $10K > Build $120K
A developer laptop with all the required software installed, environment variables set, ready to go.
making makefiles work correctly - happened every place i've worked
Installing matlab parallel server