DEV Community

Sara Bezjak
Sara Bezjak

Posted on

From a spreadsheet of questions to an app on Google Play

Origins

I've always been drawn to deeper questions. I'd collected a few notebooks with themed exercises and some card decks full of prompts, and at some point I thought it would be nice to have all of it in one place. So I started an Excel document.

Then the list grew, and the bigger it got, the more obvious it was that the format itself was the problem. I was never going to sit and scroll a spreadsheet to find a question. That's where the idea for an app came from. I'd made apps for myself before as side projects, and I had an Android phone, so Android it was.

Coding and product decisions

I started with the data. I improved and added questions, and structured everything with parameters like theme and tone, mapping it to a table I could later turn into a database. It all lived in the Excel file.

Alongside that, I documented everything into notes: ideas, decisions, anything. I also kept a to-do list of what had to happen before launch. Finish the journal screen, add import, create the splash icon, set up an email account. Anything between me and a shippable app went on the list.

I was fairly comfortable in Android Studio from previous apps, so I decided to try Kotlin. The first step was using Claude Code to get a basic prototype running. As always, a good chunk of time went into just making the example run at all. But you do that once and you're set.

After that I worked screen by screen. Settings was easiest, since every app has one. The Today screen, the question plus the input field, wasn't complicated either, at least in theory. The UI was another story. I knew I wanted to save the answers and show them back as a sort of chronological diary, so I worked in very small steps: implement, run, test, fix, sometimes revert, repeat.

Once the structure was in place, I thought I'd like iOS users to have access too. So I moved to Flutter, which covers both platforms from one codebase. I took the easy way out, honestly. I have some Swift experience, but the whole Xcode signing and certificates side of things wasn't appealing at that stage. The prices also mattered: 25 USD one-time for Google Play, 99 USD per year for Apple.

So I rewrote the entire app from scratch in Dart, a language I'd never used. Surprisingly, it didn't take that long. My understanding of the code dipped for a while, but I caught up by the end and learned a lot. The basic patterns are the same in any language anyway.

Testing

This took more time than the development. Every feature had to be retested many times, even before launch. So I built a Dev Tools section in Settings, with buttons to populate the journal, test reminders, and replay the onboarding screens. It turned out to be one of the most useful things I did. It surfaced edge cases I'd never have caught otherwise, like bugs when the month changed over and navigation errors.

Looking back, the parts that ate the most time weren't the coding at all. They were testing, design (the icon, colours, fonts, prototypes), and the Google Play closed testing process.

Google Play closed testing

To apply for production, Google requires 12 testers opted in for 14 days. I asked friends and family, and tried Reddit forums to swap testing with other developers, but it was hard to get anyone. So I used Upwork to pay for the remaining slots. This turned out to be a good thing because I got real feedback instead of just people installing the app and never opening it.

Launch

After closed testing, applying for production was actually quite simple. A few feedback questions, and I was approved within two days. Then came the post-launch reality: fixing titles and descriptions, and lining up a list of improvements for the first updates. Total cost to get here: 50 USD.

Conclusion

From first idea to launch took around six months. Not every day, though. A couple of hours a week at the start, then most days toward the end, but still only one to three hours at a time. It was a side project alongside an almost-full-time job, and it never felt like work. It felt good the whole way through, which is how I think a hobby project should be.

The most frustrating parts were getting the UI right and the application process, but even those taught me something. What I didn't expect was how much of building an app has nothing to do with writing code. The data, the design, the testing, the store process, the small product decisions made along the way. I came out of it understanding the whole arc, from an idea to a thing real people can download, in a way I simply didn't before. For a first launch, that turned out to be the real reward, more than the app itself.

Top comments (0)