My journey as a solo app developer: building app from scratch

EV
4 min readJan 7, 2023

--

Hi, my name is Ev and I’m a software engineer with 10 years of experience. I’m excited to share my journey of creating a new mobile app and its backend with all of you on Medium. In this series of posts, I’ll be documenting the ups and downs of the development process, from initial ideation to launch and beyond. Whether you’re a seasoned developer or new to the field, I hope that my experiences and insights will be helpful and inspiring.

If you don’t feel like reading any further, that’s entirely up to you. However, if you’re looking for advice, the most important piece I can offer is this: the best way to learn is by doing. When I was starting out, I couldn’t have imagined how much I would have to learn, discover and re-think. This project has been the most impactful and educational experience of my career, and I feel obligated to share the wisdom I’ve gained. That’s why I’m sharing this with you — so you can learn from my mistakes and join me in celebrating successes. This is also a great opportunity for me to hone my writing skills. So let’s get started!

My background

I am a software engineer with a passion for all things backend. While I have dabbled in frontend development, it has always been a thorn in my side, a distant and elusive horizon. But I have mastered the art of backend development, delving deep into the mysteries of DevOps and platform engineering. With the Microsoft stack as my canvas, I craft elegant solutions in C#, weaving together a tapestry of code and magic.

Tech stack

I’m posting my tech stack here so you can decide if any of the technologies is of any interest to you. For most of the listed technologies, I’m going to provide some useful tips and tricks that I learned along the way.

  • .NET7 + Minimal APIs
  • Test Driven Development with xUnit and SpecFlow
  • Docker containers on Kubernetes (AKS), Helm
  • A bunch of Azure services — blob/table storage, service bus, key vault, container registry, app insights, functions
  • CI/CD in Azure DevOps
  • Prometheus and Grafana for monitoring and alerting
  • MongoDB
  • Cloudflare
  • Flutter + Firebase

Why Flutter you may ask?

I decided to use it because I wanted to try something new and I liked the syntax of Dart. I had previously tried learning frontend frameworks like React and Angular, but they didn’t work out for me. So I thought mobile development would be a good fit for my skills and interests, and Flutter seemed like a good option. Moreover, Flutter was a new technology at the time and I have a tendency to be drawn to new tech and frameworks.

Cool, if you’ve made it this far, it must mean that you are interested in one or more of the technologies I mentioned, and that’s awesome!

… we have a long way yet to go and I can’t go without you

(Ursula K. Le Guin)

Buckle up, hold tight. Next, I’ll describe what problem I tried to solve with my app.

Meet Untrap

Untrap — the app that helps drivers avoid costly towing fees and lost time by alerting them when their vehicle is in danger of being towed. If a user sees a vehicle that is about to be towed, they can report it and attach two photos showing the vehicle and the tow truck. The owner of the vehicle will receive a notification and can take action to retrieve the vehicle before it is towed away. Each submitted report is subject to moderation. Approved reports are eligible for a cash reward. With this app, drivers can rest easy knowing that their vehicles are safe and sound, and users can earn rewards for helping to prevent vehicles from being towed.

My goal with this app is not to prevent 100% of towaways. That would be nearly impossible to achieve. However, the app could prevent some, and that is my end goal.

I’ve had this idea for a while now and recently decided to turn it into a mobile app. Out of all the app ideas I’ve had, this one seemed both fun and relatively straightforward to code on my own in a relatively short period of time. So I decided to go for it!

Current progress

The mobile app is in the final stages of development — it’s about 98% done. Right now, we’re conducting closed testing with a small group of people to make sure everything is working properly. Once we’re confident in the app’s stability and functionality, I’ll release it to the public. I’m hoping to do this in the near future.

Thank you for sticking with me until the end of this post! In my next one, I’ll be sharing some of the tools and techniques I use to plan my work, improve the quality of my code, and streamline my development process. I’ll also explain why I prefer to push changes directly into the main branch.

Stay tuned, cheers!

--

--

EV

Hi all. I'm a software engineer, hiker, semi-professional Rubik's cube solver. I love all things outdoors, travelling, reading about the universe, and cats.