Categories
Building In Public iOS Development retrospectives Uncategorized

🦄 Dev Diaries – Month 4

Welcome to my indie dev journey.

New here?

Hey, I’m Mikaela 🦄 I’m an independent iOS developer working on making my own apps profitable, and doing some freelance on the side.

Every month, I plan on publishing a journal / retrospective like this one to share how things are going with my business. You an read from the beginning here.

I want to develop my own apps full time and make enough money from them so I can live off the proceeds, and not have to get a full time job or do freelance work.

Goal Grades

At the beginning of the month, I’m going to set high level goals, and then rate myself on how I did at the end of the month.

Finish Fruitful MVP

  • Result: It’s mostly done… (said the narrator)
  • Grade: D

It was almost there! Sorta.. kinda…not quite. I am writing the native Fruitful iOS app, and the backend is in Vapor. In reality, I had double the work to do. A majority of the work was focused on the backend, making the models, and a TON of debugging to make Sign in With Apple work. I kept running into issues with the iOS app not holding the state properly for keeping the user signed in. It’s sorta kinda, not really there. Still lots to do. I’ll discuss more below.

Freelance

I have 2 freelance clients that I work with. Client A, I’ve had for several years, and is an ongoing project at an hourly rate. I did a little bit of work throughout the month, but mainly I was focused on Fruitful. I probably say this every month, but this client is amazing and is super flexible with me. We’re still on track to ship the first version of the project by the end of Q2.

Client B is new where I’ve been trying a productized service model. I charge a flat amount per month. For this project, I talk with the client about high level goals and plan how we want to tackle features, and I subcontract the actual development work.

It’s going well so far. We are moving non-consumable IAPs to subscriptions with RevenueCat. We’ve implemented the first subscription, out of 3 different ones. This project will end around June right before WWDC.

Subcontracting has been going well so far. I made a GitHub project, and am assigning tasks with a deadline. They’re linear, so my subcontractor only has one task to focus on at a time.

Fruitful

Just about everything is done, all that’s left is uploading photos for the user’s cards and making two people friends. Which thinking about it, that is most of the app 😂

I spent a majority of the month making the backend. I mapped out the models for the Postgres database and the logic for the endpoints. But debugging Sign in With Apple took about a week, to make sure I was doing it right, constantly creating / destroying the db, and more.

I did accomplish making all the SwiftUI views for the app, and put them together so that the app flows properly.

Deep Dish Swift is coming up May 5-7, 2024, so I’m hoping to wrap the last few tasks up to beta test at Deep Dish!

Random Other Things

I was in Whistler, CA for a majority of the month! Snowboarding a few days and working the rest of the time. I decided when to go snowboarding just based on the weather that day.

I also had a few meetings for WWDC, preparing for iOSDevHappyHour IRL event.

I recorded 2 podcast episodes of Swift over Coffee, and was the judge for an online app building YouTube challenge by Tom.

And last, I paid my estimated Q1 taxes for 2024.

Lessons Learned

Think of how long it will take you to finish a task, and then double it. This is the general freelancing advice and I totally agree here. It felt like everything took longer than I would’ve expected, and tiny bugs here and there. Debugging one little issue for days. It never ends 🫨 but it is so satisfying when it starts to come together.

Goals for Next Month

Release Fruitful Beta Test for Deep Dish Swift

All that’s left now is to friend users and then upload a photo (to show on their card). And for right now, I’m going to hard code which conference the user is at, because it’s just a beta test.

See ya in the next one! 👋