6-Month Side Project Retrospective: I Threw Away More Than I Built
The side project I started last September finally had its first release. It's an AI-based reading log app, but honestly, I threw away almost everything I made along the way. So I'd like to reflect on that process.
At first, it was just a timer app for tracking reading time. But after hearing people say, 'Why not just use a time tracker?' I started thinking about differentiators. In the end, I decided to add a feature that automatically saves highlighted sentences from books when you take a photo of them.
Here's what I went through during this process:
1. I changed the OCR library three times - Tesseract's Korean recognition rate was too low, so I switched to Naver Clova OCR, then switched back to open source due to cost.
2. I split out the image processing server, then merged it back into a monolith - it's just easier to operate everything from a single server.
3. The AI summarization feature was harder than expected - since using the GPT API costs money, I replaced it with a keyword extraction algorithm for now.
4. I can't even count how many times I redrew the design in Figma - for a developer, spending time on design feels like the biggest waste.
In the end, the released app is about 70% different from the original plan. Still, I learned a lot from this experience. In particular, I deeply felt the importance of showing it to others early. If you keep it to yourself, it's easy to lose direction.
Going forward, I plan to prioritize getting user feedback at least once a week. My goal is not to make a side project that's just about development, but to build an app that people actually use.
3 answers
True, if you've thrown away more than you've made, that's how you learn lol
I totally relate to giving up on AI summarization because of cost and going with keyword extraction. I also used the GPT API on a toy project and dropped it after spending 100,000 won a month. I think it's better to start with a local model or a simple algorithm. And separating the image processing server and then merging it back is exactly like me lol. I think it's important not to over-design at first, but to make it work.
Well, isn't changing the OCR library three times a bit unplanned? If you had properly defined the requirements from the start, you wouldn't have gone through that much wasted effort. And saying 'there's more thrown away than made' isn't something to be proud of. For a retrospective, it seems lacking in reflection.