The setup
| Site | Description | Repo |
|---|---|---|
| amandamashburn.com | Personal site. Who I am, what I do. | amandamashburn-com |
| docs.amandamashburn.com | Public knowledge base. Evergreen content. | docs |
| Component | Role |
|---|---|
| GoDaddy | DNS — routes traffic to the right place. |
| GitHub | Version control — all content lives in markdown files. |
| Vercel | Hosts the personal site. |
| Mintlify | Hosts the knowledge base. |
| Cloudflare R2 | Object storage — images and assets for both sites. |
Why build at all
I have quite a bit of knowledge I’d like to share — frameworks, notes, observations, etc. Until now, I haven’t shared it. The friction wasn’t a lack of ideas. It was that I didn’t have a system that felt right. There are out of the box solutions such as Squarespace, public Notion pages, Medium articles that would allow me to publish with minimal effort. But they weren’t quite what I envisioned. That misalignment was a legitimate blocker. I couldn’t bring myself to pour evergreen content into a container that felt wrong. That is because infrastructure — the system through which knowledge is written, organized, and delivered — is as important as the content itself. The medium shapes the experience on both ends. For the author, a misaligned system creates friction that makes it hard to do the work. For the reader, a well-crafted experience is superior to something cobbled together. Think of a book. You can print the same words on cheap paper with a flimsy cover, or bind it in leather with pages that are pleasant to the eye and touch. The content is identical. The experience is not. Or think of power lines: overhead wires and buried cables deliver the same electricity, but one is more resilient, visually clean, more considered. The function is the same. The execution is not. In the end, I felt compelled to link up my own system rather than leverage a pre-built solution. I couldn’t begin sharing until the foundation felt right. Now it does.Design principles
A few values drove every decision: Portability. All content is in markdown files with version control. If any platform disappears tomorrow, I can move the files somewhere else. No proprietary formats. No content trapped in a database I don’t control. No vendor lock-in. Every component is swappable. Don’t like Vercel? Switch to Netlify or Cloudflare Pages. Mintlify not working out? Move the markdown to Docusaurus or Astro. The domain is mine. The content is mine. The services are just rendering layers. Separation of concerns. The personal site and knowledge base serve different purposes and audiences. Keeping them separate means each can evolve independently. I can redesign one without touching the other. Built to scale. The system is designed to grow. I can addshop.amandamashburn.com or tools.amandamashburn.com without rethinking the architecture. Spin up a new repo, add a DNS record, point it at a host. The pattern holds. No major rework required or tech debt to deal with down the line (theoretically).
Aesthetics matter. Functionality alone isn’t sufficient. Look and feel are equally important. The architecture diagram you see above went through several iterations until it matched the simplicity and clarity I wanted. That same attention applies to the sites themselves (including the parts you don’t see).