Hey there! You're looking at the very project I'm about to geek out about. This was my first crack at building a content management system, and honestly? I'm pretty stoked about how it turned out! Take a little ride with me and hear about how it all came together. đ
The Build
I went with Flask and Python for the backend, PostgreSQL for the database, and kept the frontend straightforward with HTML5, CSS3, and vanilla JavaScript. I wanted to keep things as simple as possible while also giving myself a hub to build on in the future. Part of that plan was hosting all of the other projects I build on this domain, as the project library fills up I intend for many of them to live right here.
The coolest part was having Claude do most of the heavy lifting and the worst part was also having Claude do most of the heavy lifting đ . AI can send you tumbling backwards just as quickly as it can propel you forward, hah. We probably built 4 half-working CMS platforms before landing on this architecture and refining to the finish line. The future of ai development is veerrry bright, I can definitely see how something like this could be accomplished with just a short voice chat with an llm in the near future. Here's to hoping that ai remains accessible in the future, because right now it definitely feels like having superpowers.
Code Breakdown
The whole operation runs on just 3890 lines of code:
- Python: 1,572 lines (40.4%) - All the backend magic happens here
- HTML: 1,264 lines (32.5%) - Making things structured and pretty
- CSS: 988 lines (25.4%) - Split between making things work (151 lines) and making things look cool (837 lines)
- JavaScript: 62 lines (1.6%) - Just enough to make things feel smooth
- Nix: 4 lines (0.1%) - The tiny but mighty config stuff
edit: The project has grown a bit as I refine the UX/UI, fix bugs, and address accessibility issues. I may update this post in the future if I hit a big milestone behind-the-scenes or something.
Under the Hood
I leaned pretty heavily in Replit for this build and found it made things fun and surprisingly accessible. I love how painlessly integrated it is, I can't imagine going back to vscode and everything that comes with that. The VPS in my replit workspace allowed me to build and test super quickly, and their integrated ai features were helpful to a point though majority of my ai interaction ended up being directly with Claude using the projects feature.
The dedicated deployment for this site is running on a lean 0.5 vCPU with 2GB RAM. My old personal site cost me money just to sit there, whereas this one I can run in the background using my Replit credits while I go on building software. Everything is routed through Cloudflare which is my free domain manager of choice.
What's Next
I'm planning to eventually open source the CMS since it's so simple to deploy and run. In the meantime Claude and I'll continue building on what we've got so far đ!
I hope you enjoy! â¨