From a young age, I knew I wanted to build things.
I was infatuated with learning every programming language and framework there was.
I was 14 when I first opened a laptop and went to codecademy.com.
I started a course teaching the basics of HTML and CSS, which I used to build my first (ugly) personal website.
For the next 4 years, I would jump from tutorial to tutorial, learning whatever piqued my interest at that time.
When I started my computer science degree, I had gone through enough content to understand the basic syntax and concepts of any programming language, but had never built any real projects.
The most I had finished at this time was a few portfolio sites, a todo list, and a quiz app.
While I started to understand how to code through school and an eventual internship, I had no idea how to build and ship a new idea from scratch.
It wasn't until I made building things (outside of my CS coursework) a priority that I made progress.
Late in 2023, I decided to start working on my own side projects so I could eventually launch my first SaaS product.
At this time, Marc Lou was blowing up on Twitter with his shipfa.st boilerplate.
It was a Next.js app that had Stripe billing, emails, and authentication already built for you.
As a newbie to shipping things, this sounded perfect - it would help me build my apps even faster.
I bought it while sitting in a Linear Algebra class, sick of school and wanting to finally start building things.
Despite buying this template, I started and quickly abandoned several projects.
My problem with building apps wasn't that I couldn't do it fast enough; it's that I couldn't come up with an idea I wanted to stick with.
I knew I wanted to build a web app, but I started projects that weren't best suited for that medium.
I wanted to create a calorie tracking app to help myself bulk up.
That should probably start as a mobile app.
For years, I've thought about building my own finance tracker that was easier than existing platforms.
I started work on it, but didn't get very far before I quit.
I hadn't built the muscle of shipping things yet.
A boilerplate wasn't going to solve that problem... at least not one someone else wrote.
Some time in 2024, I began working on my own 'Dashboard Boilerplate'.
I wanted to understand everything about how my app worked and make decisions about which services I used.
This was similar to shipfast in that it was a Next.js app with billing and authentication.
The difference was I set out on this project to build myself the template I could later use to build anything I wanted.
I didn't have any good SaaS ideas, but I knew I could keep making progress on this template.
By the time I came up with something, I'd have a damn good starting point.
If you're struggling to stay consistent with a project or come up with an idea, I highly recommend you do the same.
One of my last classes at college was Game Development with Unreal Engine.
It was a heavily project-based class; we had to create one game by the end of the semester.
I quickly realized how fun this was and started my own template for game development - this turned into work on a demo for my first indie game.
I'm no longer working on that because it's not a priority, but I learned a ton about the engine.
I was creating my own framework to implement patterns that would exist in any project.
In April of this year, I started working on my first commercial app, Creator Kiwi.
I used the dashboard boilerplate repo as the starting point for it and saved myself a ton of time.
I still had to rewrite things I had done wrong, but I got to write business logic earlier than if I was starting with a blank project.
The idea for Creator Kiwi formed as I was building the dashboard boilerplate.
By building something, I was forming the identity of someone who could ship.
If you feel lost right now, this is a great place to start.
Have a great week.
Cole
P.S. If you found this letter helpful, please consider sharing it with a friend :)
Sign up to receive more insights on building digital products.