I built a search engine for sales taxes in Canada. Just type in a product or service and it would tell you whether it was taxed, and what that tax was (HST, PST, GST, zero-rated etc). It was a huge endeavour. I had an investor. I hired a half dozen data-entry people to input items. I personally went up and down the aisles of Walmart documenting every item on the shelves. I used Amazon.com product hierarchy to categorize the entries.
I worked night and day for three and a half months. I would literally collapse on the floor with exhaustion and be unable to move.
When I think about it now I marvel at the gargantuan scope of the project and my unrelenting drive to finish it. It was probably the most ambitious undertaking of my life.
And when it was finished - 12,000 easily searchable items and their sales tax for each of the 10 provinces and three territories - NO ONE CARED. People on reddit mocked the idea. I pitched it to an incubator and they shrugged indifferently. A few months later I repaid the investor (I didn't want him losing money because of my shortsightedness). Eventually the site was taken down, although I wish now I didn't.
I was toying with the idea of a procedurally generated adventure/escape-room game, where I was creating a big list of puzzles and item interactions that could be randomly combined to create new puzzles e.g. key opens door, water puts out fire, guard can be bribed with money.
I ran out of steam when I realised it wasn't fun, which I think was largely because most adventure game puzzles in isolation aren't that interesting.
Adventure game puzzles generally need to be based around physical interactions with everyday objects where the interaction is almost common sense yet not too obvious, and I came around to thinking the number of these isn't high enough or varied enough for interesting combinations to arise.
If you look at adventure game walkthroughs, you'll see the same puzzles appearing over and over again e.g. fix the fuse box, rusty something needs oil, machine needs fuel to work, PIN written somewhere or hidden behind a riddle to open a lock, distract person to take something. I don't think this is from lack of originality but due to limits of the genre.
You can get around this somewhat by adding logic puzzles, magic/sci-fi to introduce new interactions, complex NPCs, a good plot etc. (which most good adventure games have) but I was more interested in seeing how far you could get with just everyday objects. I could probably make something with this eventually though.
An in-progress task, that I really hope will not be a failure, but that has most of the typical hallmarks of my usual "oh, here's a technical thing I'd really like to see accomplished and will attempt, but that, if I'm honest, is probably beyond my focus and capability to achieve":
I think there are opportunities in PostgreSQL to improve the performance of multi-string pattern matching (essentially, queries that contain a LIKE comparison against a pattern that contains multiple wildcards/placeholders).
There's some work-in-progress by another person to implement Boyer-Moore string search, and that'll be a good improvement I expect. I did some digging into the state-of-the-art research-wise, and found a paper that presents results that improve on Boyer-Moore, and that's what I'd like to try implementing.
I have the existing Boyer-Moore patch applied locally and compiling, and have begun thinking about how to systematically benchmark and performance-test changes (ideally I want to get to the point where I have a strong understanding of my own implementation and can rapidly iterate on that with support from performance tests). But it seems to be taking me a long time to achieve progress, and my guess is that I'll be distracted by other tasks before completing it.
(it's purely a personal objective; I think it'd be very cool to potentially increase the performance of PostgreSQL and many applications that depend on it)
I was working on a game part-time for 1 year. The game is mix of Factorio + Stardeus (https://store.steampowered.com/app/1358970/Cyber_Factories/).
After releasing an early demo on Steam, the game seemed to be of little interest to anybody (only 1300 wishlists after one year).
I had two publishers reaching to me, but their funding offers were too low for me to consider working full time on the game and ship a finished product (I would need 18 month fulltime to finish the game).
So due to a lack of interest from the audience, I just cancelled the project.
Started building a student loan fintech startup with a friend to better manage outstanding debt that gained a lot of traction with advisors, potential partners, and venture capital, but the complexity of that market and our various pivots in strategy for launching the product became too much for our small team.
I’m glad we didn’t end up moving quickly beyond business strategy, design, and a simple technical demo (thanks React Native, Plaid, and various vendors!) because the pandemic hit shortly in 2020 after we got rolling and the resulting fallout put student loan payments on pause anyway.
I worked at a startup with a sick product that wowed every person we demoed it to, from investors to users to consumers that would see it on their devices. It was ahead of its time, now all the major phone manufacturers have their own variation baked into their OS.
It failed for a few reasons, none overtly technical. The product was feature complete by the time we ran out of funding. All we needed was someone to pay for it, which proved harder than you'd think.
The first problem was that it wasn't possible to advertise direct to consumers. For technical reasons it needed buy in lower in the stack, it wouldn't work as an app. Even if we hacked that together we'd either need users to jailbreak their devices for it to be seamless, or to get it into one of the major existing apps. We actually had the latter lined up with one of the biggest platforms out there today, which was around 6 months from launch when we folded.
The problem was that the tech itself was well defined. It was a piece of software users were very familiar with. However, the way that software is typically purchased is by individual users and not platforms - we wanted to innovate in that regard by giving the software away for free, but licensing the stuff made with it on the platform. Not only was this unheard of, the real money in the industry was hardware solutions - think multimedia chips. License the protocol for free to anyone that wants it (or even pay people to use it!), but sell chips to hardware manufacturers for the decoder. Since we didn't need hardware we couldn't go that route, and convincing someone to pay for something that they had never spent money on was inherently difficult.
Compounding that difficulty were some major issues: the first was that it could never directly translate into higher revenue. We'd need a months long pilot program to indirectly measure that. Secondly, the way the businesses purchase technology like it meant that it required individuals with tons of sway in business to get together and agree to fund and purchase it. At the time, meetings got delayed months and months because remote work hadn't taken off.
And lastly, possibly most importantly, the client that had the best odds to make the first big sale, and had a handshake agreement to buy it, was also an investor. Once it became clear that things weren't great for us they would rather let the company die and buy it out from under them at a discount, well below what they would have paid for the product. Like I said, it was virtually feature complete - you don't even need to retain staff to just buy the widget and have anyone they already paid to keep it up to spec.
The lesson I took away from this was that users are more important than demos, even if they don't pay. And chasing big paydays from large companies with complicated decision making processes is extremely risky, and not worth the time investment from a small team if you can be iterating on better product market fit. Finally, not all innovative business models have legs and you need to cut your losses early.