Reflecting on Building an App17 Jan 2024
I Built an App 🍎
I built an app. Last week I demoed it to a select group of colleagues. I want to pause and reflect on the past three months.
I’ve realized that the app is more than just code. It’s the fulfilment of a lifelong dream and an expression of my values of simplicity, efficiency, and reliability.
The Journey Begins 🚉
Three months and 170 PRs – that’s what it took to transform an idea into an alpha-level app.
Initially, I planned to use Python and Django for my project. However, as a solo developer with a strong preference for back-end development, I decided to switch to Rails. The scaffolding feature of Rails made it easier for me to experiment and develop my project quickly.
Embracing the Pain 🏋♂️
At first, I was trying to rush the development of my app, hoping to create it in just one month like some of the successful app creators out there. However, this approach often resulted in more work and a growing feeling of resentment.
I eventually realized that greater productivity would come if I slowed down and was more deliberate in my approach. Slowing down allowed me to think more critically about what was necessary for the app rather than just trying to add every interesting feature that came to mind.
Strategic Decisions 🤔
Throughout this process, I learned as much about myself as I did about app development. I discovered my limits and strengths and the importance of not pushing myself to the brink.
A decision that paid off early was postponing unit testing until after the core app was developed. This approach went against “standard development practices” but allowed for the flexibility needed in the early stages.
As for testing, I found a preference for MiniTest over RSpec – a choice guided by the need for simplicity and clarity during those late-night coding sessions.
A Lovely Companion 🌍
ChatGPT became the programming buddy I never knew I needed. It could have been better, but it was a sounding board that helped me through some complicated decisions. I explored Copilot, but I found it intrusive– it didn’t align with my programming style.
Having Fun 🎉
One of my proudest achievements was implementing Prometheus and Grafana for monitoring. I love Datadog but promised to have fun and use as much open-source technology as possible. I can stare at the dashboards all day long.
Looking Ahead 📺
I forgot to build an invitation system, so I apologize for any confusion. Thank you for reading this far. The support of strangers and colleagues is immeasurable.
Running Postgres on AWS RDS? Reach out and say hi 👋🏽!