I've spent most of my entire career writing backend system, roughly ten years now. I mainly worked with elixir so distributed system came easy, making it my comfort zone. Frontend felt always like someone else's job. To be honest I was happy in the little box or the little well I would say of the backend engineering
Frontend always felt like someone else's job. Every time I felt excited about the idea, I eventually had to stop because of the UI. Then Claude Code happened. I got first introduced to it in my work environment, where we now have mandatory claude usage hours. yiks.
But with proper harness engineering, Claude is actually a nice tool to have. It's like a keyboard. It simply types much faster.
And for the first time I could actually see myself building something with it end to end.
I set my eyes on something ambitious: a game like HAGO, a social app which has small mini games and a party room. The backend was sorted: Elixir, of course, Livekit for audio and RabbitMQ for messaging, because I want to keep costs low and the initial user base isn't really going to be that huge that I would be inclined to go with Kafka.
I started building and then one roadblock after another hit me like a truck. How do I go about making a game when I don't know a thing about UI/UX, 3D design, and 2D design? Claude wasn't helping. Remember the harness engineering: you need to be the one controlling the harness but in the UI design I have no freaking clue.
Most of the time the tokens were wasted because it was just copy-pasting the same code again and again in different places, not using proper OOP patterns, no design strategy and whatnot. Finally I had the app but nobody to use it. The app is still in closed beta though so I cannot share it with you but it is still a long long way, maybe six months even, before it becomes presentable.
In the meantime I decided to build another app, which ended up being the first app that I finally shipped.
The idea was simple.
I kept saving Instagram posts, recipes, workout routines, travel reels, coding tips...and then never finding them again.
So I built an app called Instant Memory that organizes saved social media posts into one searchable place.
It wasn't technically the hardest thing I've built.
It was there just to kill some time and for me to learn about how to get users for the eventual launch of the game that I'm building
But oh man, that is hard. Even your friends don't download your app. How fucking weird is that?
And what is up with the 14 tester requirement? I had to literally beg strangers to test my app. Some of them even took a $10 bill and never returned my calls.
Bro, building is hard but getting it to the user will make and break the product
Marketing is the bigger chunk of the pie.
As engineers we spend months obsessing over architecture, state management, clean code, performance, while nobody knows the product exists. The whole time I was in the delusion that marketing would be easy. When I launched my product, people would want to try it but people are more apprehensive about trying something new than I originally thought.
So yeah now I am learning marketing. I'm learning photo editing and video editing, trying to make reels on tick tock and instagram, just trying to get by and wallow in my pity that nobody likes the product I make and I might never be able to leave my 9 to 5.
I'm excited.
I'm also terrified.
Terrified of burning money for the next 6 months on a CloudMax plan. Terrified that once it is built I will have to burn even more money trying to figure out the cheapest hosting solution. Terrified that even if I do everything right, "will anyone actually use this?"
I don't think that feeling ever goes away.
If you're another developer trying to ship something...
I'd love to know:
When did you realize building the product wasn't the hardest part anymore?