Building a side project with Claude Code

I've been studying AI and machine learning for a while now, and at some point, reading about it wasn't enough. I needed to actually build something with it.

So I started a side project.

For now, is just a personal finance app I'm building for myself. No bank integrations, no complex dashboards, just a simple way to log my daily expenses, track my recurring bills, and figure out how much I'm putting on each credit card every month.

The app itself isn't the interesting part of this post, though.

The interesting part is how I'm building it.

Claude Code as a collaborator

I've been using Claude Code as my main AI coding tool for this project, and it's been... different from what I expected.

I didn't expect to feel like I had a collaborator. But that's kind of what it feels like.

Before writing a single line of code, I used Claude to help me think through the product. What problem am I solving? Who is this for? What are the core features for an MVP? That thinking became a proper PRD inside the docs/ folder. It covers the problem statement, the target user, the feature list, security requirements, and what's explicitly out of scope.

Having that document changed how I build. Instead of just vibing and adding things as I go, I have something to anchor decisions to. When I'm tempted to add a feature, I check the PRD first. Is this in scope? Does this solve the actual problem?

Claude also helped me write a technical spec and a standards document. The standards doc covers things like the Git Flow branching strategy, commit message conventions, and code style rules. Stuff I knew I wanted but would have never sat down to write out properly on my own.

It's not glamorous, but having that docs/ folder has made the whole project feel more intentional.

What I'm actually learning

The backend stack is something I've never fully built from scratch before. AWS Lambda, DynamoDB, Cognito, and EventBridge, all wired together through the Serverless Framework.

Each one of those is its own rabbit hole, and I'm going down all of them at the same time.

I'm also learning how to set up a proper CI/CD pipeline with GitHub Actions. Staging deploys on every push, production on merge. It's the kind of infrastructure setup I always skipped in personal projects, and I'm glad I'm not skipping it this time.

It's still a practice project

The app is still in its early stages. It has a growing backlog of issues, the CI/CD pipeline is working, and the PWA is installable.

But it's still just side project I'm building to learn. That's the whole point.

I'm not trying to ship a product. I'm trying to understand how these tools fit together and build something real enough that the learning actually sticks.

If you're also curious about Claude Code, go build something small. Something you actually want to use. The feedback loop is way tighter when you care about the outcome.

That's what I'm doing. You can check here: https://github.com/daniilomello/vida

– Dan