Back to thoughts
2 min read

the architecture of this blog

a look into building a high-performance minimalist portfolio using next.js and ai acceleration.

it is 2026, and building a blog should no longer be a weekend-long chore of configuration and boilerplate. this site was built in less than two hours using a modern stack and a lot of ai-driven automation.

as a security engineering manager, i spend most of my day cutting through noise. i wanted my personal digital space to reflect that: minimal, fast, and strictly utilitarian.

the stack

the foundation is next.js with the app router. it provides the performance and seo capabilities needed for a technical portfolio without the bloat of traditional cms platforms.

  • content: local mdx files. there is no database. markdown provides the best developer experience for technical writing, especially when embedding code snippets.
  • styling: tailwind css (v4). i have used a high-contrast navy and teal palette to mirror the visual identity of the tools i build in the microsoft security space.
  • deployment: azure static web apps via github actions. pushing to main triggers a build and deploy cycle that completes in under 60 seconds.

technical choices

there are a few specific technical decisions i have made to keep the experience seamless:

  1. lowercase titles: an intentional design choice to maintain a low-profile, utilitarian aesthetic across all headers and navigation.
  2. cmd+k navigation: technical users navigate via keyboards. i have implemented a command palette for instant site-wide search.
  3. syntax highlighting: i have used rehype-pretty-code with the tokyo night theme to ensure my kql and powershell snippets are as readable as they are functional.

why build this way?

the goal of this blog is to document "cool solutions" to pragmatic operational problems. whether it is a team notification bot like argus or a custom sentinel query, the focus is always on engineering efficiency.

building this site with ai acceleration allowed me to focus on the architecture and the rules (documented in a gemini.md file) rather than the syntax of a tailwind config. it is a testament to how we build software now: define the constraints, set the branding, and let the agents handle the boilerplate.

expect more deep dives into modern security operations and pragmatic engineering fixes soon.