Building in Public | I'm Finally Doing It. I'm Finally Creating My Own App.
- erinvh620
- Nov 5, 2024
- 5 min read
Updated: Jul 31
For several years, I've wanted to create my own iOS app and publish it on the App Store. After 12 years as an iOS developer, working on teams to build apps for large organizations, I'm itching to take on a project that's entirely my own--where I make every decision and build everything from the ground up. Honestly, it’s a little embarrassing I haven’t done this sooner, but I've always struggled to make the time. Better late than never, right?

Aside from the personal satisfaction, here are some reasons I'm excited to finally develop my own app:
Interview preparation. I've taken a break from iOS development over the last year and a half to research code review. Now it's time to dust off my coding skills and get ready for interviews.
The experience of building from scratch. In my full-time roles, I usually step into established codebases where everything is already set up--user analytics, error logging, a Git workflow, CI/CD, a dependency management framework, user authentication and authorisation . . . the list goes on. I want to learn how to set up all those foundational elements myself. Doing this will not only be rewarding but also better equip me for troubleshooting the codebases I get paid to work on.
Trying out the latest tech. At most jobs, developers have to make sure the app is compatible with older iOS versions. For example, even though iOS 18 is available, my next job will probably involve an app that is compatible with iOS 16--maybe even iOS 15. That limits access to new features unless the team is willing to clutter the code with conditional statements (i.e. if-else or switch statements). A personal app gives me the freedom to use the latest features as Apple releases them.
App Store release process. I want to experience the entire release journey, just for the sake of it. I find it fascinating to see how every piece of the puzzle works. At work, App Store submission isn't exactly a playground--the stakes are generally high and involve the company's profits. But with my own app, I can experiment and even (gasp!) make mistakes.
A portfolio app. I've always wished I had an app on GitHub to share with potential employers. This project will give me something concrete to discuss in interviews and demonstrate my skills.
My own playground. Having a personal codebase to experiment with would be invaluable. I've wanted this ever since I attended WWDC 2013, where every new framework or API made me eager to dive in. Some of these features need a semi-mature codebase to explore properly, and it's not practical to spin up a new project every time. With my own app, I'll have a perfect environment for experimentation.
Real-life code samples. Writing blog posts on code review would be so much easier with my own codebase to draw examples from. It turns out I'm not the best at fabricating sample code from scratch. Having actual code snippets to share makes a huge difference--and it's a lot more interesting for readers, too!
Tools I want to try out. I am dying to try out some of the AI code review tools out there, as well as Sonar, GitHub Actions, and a service I found called pullrequest.com.
The App Idea
A few weeks ago, I met a recent college graduate through a mutual interest in fibre arts (knitting, crochet, weaving, sewing, spinning, etc). She has a degree in Product and Furniture Design and mentioned wanting to try mobile app design. I told her I've wanted to make my own app forever but didn't want to deal with the design side. Perfect match! We decided to team up on an app as a portfolio piece for both of us: iOS development for me, and mobile app design for her. Plus, working together would help keep us both accountable.
After brainstorming a few different app ideas, we settled on a knitting calculator of sorts.

The Problem Statement
When following a knitting pattern, especially an older one, there's often a lot of "knitter's choice." For instance, a pattern might say, "Work 1 row in stockinette while increasing 8 stitches evenly." It's up to the knitter to decide how to make that increase--choosing both the type of increase stitch and how to distribute the increases across the row.
Here's the thing: knitting tends to be a very relaxing, meditative activity. You get into a rhythm, you zone out, you get lost in it. And that relaxed state is a big part of why people love knitting. When you suddenly have to pause, solve a mini word problem, and make a series of decisions, it interrupts the flow. In the past, I've put projects aside for weeks just to avoid pulling out pen and paper.
That's where this app could help, offering a simple solution to keep knitters in their groove without these mental detours.

A Perfect Side Project
This app idea has all the right ingredients for a side project. It's a self-contained tool that doesn't require a backend, user profiles, logins, or even storage (though we can add those things later if we want!). In other words, I get to dive deep into iOS development without wearing a dozen different hats.
The UI could potentially be fairly involved, but that's actually a perfect fit because I'm working with a designer who's just as invested in the project as I am. Her focus on the user experience side frees me up to focus on iOS development.
Plus, this is an app that I'm genuinely excited to use myself! It's something I need, and I already have a test group lined up--my knitting friends, who can try it out and give us feedback. Between my local knitting group and connections from past knitting retreats, we'll have real users ready to put it to the test.
Finally, there's so much potential for creative growth with this project. If we decide to expand it, we could incorporate features like a backend, user accounts, widgets, or even develop a macOS version. It's a flexible side project with plenty of room to evolve into something even bigger if we want to add more portfolio material down the road. In other words, the opportunities for learning are limitless.
Building in Public
When I shared my plan to blog about building this app with a friend, I explained that I wanted to document the entire process openly, inviting feedback along the way. He then told me about the "building in public" trend--a growing movement where creators share each step of their journey for others to follow, contribute to, and learn from. Some creators do this to build community, some for accountability, and others to establish trust through transparency.
For me, the main goal is to learn. By blogging about my progress and keeping my codebase public, I'm opening the door to feedback and suggestions. I don't expect a flood of contributors, but even one useful insight--a new tool, a fresh perspective on my code--would be valuable. Plus, I like the idea of creating a trail of my work to look back on, learn from, and improve over time.



Comments