Inspiration
I've found that I feel more motivated to keep healthy habits when my friends are doing it too. After finding research that confirms this, I set out building my first production full-stack app, Stride.
What it does
The concept is simple: Set a goal and make it easy for friends to join you. Features like reminders, streaks, and pictures are designed to help you!
How I built it
I started with the backend using nodeJS for a prototype. Switched to Go within a month.
The client is written in Swift with SwiftUI.
I handled all of the branding and design. Graphic design is a hobby of mine. I picked a red color scheme due to the "take action" psychology behind it.
I'll be publishing an article on my blog about the process in detail.
Challenges I ran into
I ended up rewriting my backend after realizing an ORM didn't make sense for my use case. I changed the REST api design several times. It was hard to find a balance between sending unnecessary fields to the client and requiring too many api calls to load a view. Representing relationships was also a challenge. On top of all of that, the solution had to be cache-friendly as this is a mobile app.
On the client side, Swift got async/await support which led me to refactor my whole codebase halfway through the project. The benefits of code readability outweigh the time investment though!
My choice of a cutting-edge stack made coding fun but compatibility is a real concern. Learned it the hard way!
Those pretty dribbble-style mockups are harder to implement than I thought! Eventually scrapped my custom components for the native Apple ones in most places. It feels better to use. Maybe future SwiftUI will give us more freedom.
Over the 10-month course of development, I learned new best practices and standards so I had to rewrite portions of code to improve maintainability.
I'm writing a series on my blog about these problems and how I solved them.
Accomplishments that I'm proud of
I started this project when I was 13. I am proud to have finished this app after 10 months of work. The next journey will be way smoother with experience from this one.
What I learned
Too much to write about here! Check out my blog atulya.me to stay updated!
What's next for Stride
I plan to regularly release feature additions to the premium product. (including making pictures optional to mark as done)

Log in or sign up for Devpost to join the conversation.