This is my personal website, built from scratch as both a publishing platform and development workspace. It's where I document my work, share my thoughts, and build web applications.
On the surface, this looks like a standard personal website. Under the hood, it's a full-stack framework for rapidly building and shipping web applications. The site itself is the primary application, but it also serves as a container for other projects. You can browse the site features or check the roadmap to see what's been built and what's coming.
When I build a new app I can do so within this repo, leverage the existing tooling and component system, and host it directly on the site. The framework makes each new project faster and better than building standalone.
Most content is software work artifacts—why I chose this tool over that, debugging sessions, architectural decisions. These are thinking out loud, not traditional articles.
But since this platform is also great for personal publishing, I use it for traditional blogging about things that interest me such as fitness, finances, and other parts of life. Same infrastructure, different purposes. The software artifacts are process documentation; the life posts are actually written for readers.
This stack is the result of years of experimentation on this project. I've rebuilt it multiple times, trying different approaches until I landed on what actually works for me.
Core:
Content System:
Developer Experience:
Infrastructure:
What does it cost to run this?
Hosting static sites is often free. For my site specifically, being a Next.js app hosted on Vercel, that means I need to pay more attention to serverless and edge function usage. But for a personal site like this, the free tier handles everything beautifully.
I've wanted my own corner of the internet since I was a teenager. Not a profile on someone else's platform, but an actual space that's mine. This is that space.
More practically: I needed a cross between a note taking app, a personal knowledge management system, a traditional blog, a place for my development tools and documentation, and a dev blog, all with the flexibility to evolve as needs change. I needed a powerful, customized tool that makes my work better.
This website is primarily meant to help me develop better software. It's my testbed for new features, new ideas, and anything I find interesting and worth working on.
It's also my development environment. I can build GUI tools directly into the browser such as component galleries, theme editors, debugging visualizations—whatever I need to develop better software. Instead of relying on scattered CLI tools or external apps, I build custom interfaces that integrate perfectly with my workflow.
The site also functions as a knowledge base for learning. Software development requires constantly learning new systems and navigating and debugging them. It also requires making decisions that will affect the rest of my work down the line because I chose to do something a certain way. By capturing my thinking as it happens—why I chose this tool over that one, this method over that one, how a system works, what I learned debugging a particular issue—I build a searchable record of my own problem-solving patterns. It's learning that compounds.
It also gives me endless things to work on. The site is never done. As the site gets bigger with more features and content, novel technical problems naturally arise that need solving. And even if the site doesn't need active work done on it, it serves as the container for all my other development work, which means even when I'm not working on the site directly, I'm working inside of it and using it.
One thing I love doing is debugging things with it. I don't add random print statements to the console to debug things. I post a comprehensive, styled, organized, interesting illustration of the problem I'm having and the associated outputs as a page on my site.
The fact that it's a website is secondary to the fact that I'm a visual learner who is visualizing my problems in precise detail while web and browser just so happen to be the medium I'm using to do so.
I'm not a traditional writer. My software articles aren't crafted for an audience—they're artifacts of my thought process, captured in real-time with AI collaboration.
Most writers try to write for readers. I'm just externalizing my thinking, and AI helps structure it into something coherent enough to be followable. The process is the point. You're reading my working memory, not polished essays.
This gives me incredible freedom. Instead of agonizing over how to present ideas, I just think through them with text. AI helps clean up the rough edges while preserving my voice and process. The result is a constant stream of documented thinking—decisions made, problems solved, patterns noticed.
By having a robust component system, content design, and AI assistance, this site helps me turn thoughts into quality web pages really, really fast, which is actually a lot of fun!