Website and Blog Redesign
Today I’m launching a redesigned, integrated michaelbanks.org experience that brings my website and blog together into one platform.
Launch announcement
As of February 7, 2026, michaelbanks.org now runs as one integrated website and blog.
For years, my website and blog lived in separate systems. This launch brings them together into one platform so readers can move from profile to writing to contact without switching contexts.
The redesign had three goals: make navigation clearer, make the experience more consistent, and simplify publishing behind the scenes.
At a glance
- One integrated platform now replaces two separate site experiences.
- The navigation and design language are now consistent across pages.
- Blog discovery is stronger with both search and tags.
- Writing and maintenance now happen in one workflow.
- The stack is modernized with Node.js, Next.js, and MDX.
Before and after: visual snapshots
Old website
The old website used static pages with Markdown-driven updates. It was stable and straightforward, but it lived independently from the blog and required a separate update rhythm.

New integrated website
The new integrated website runs on Node.js using Next.js, so profile pages and writing pages now share one application shell. In practice, this means shared components, consistent navigation, and one deployment path.

Old blog
The old blog ran on Ghost with Markdown authoring. It worked well for publishing, but it was still a separate destination with separate navigation and operations.

New integrated blog
The new integrated blog keeps Markdown and adds MDX (Markdown with component support). Writing stays readable, while layout and content blocks can be richer when needed.

These snapshots show the core shift: from split systems to one cohesive platform.
What changed for readers
Before this redesign, michaelbanks.org and blog.michaelbanks.org were separate codebases with different browsing patterns. Readers had to context-switch, and updates required coordination across systems.
Now, both experiences live in one platform. For readers, that means:
- A cleaner path from homepage to article to contact.
- Less visual and navigation drift between sections.
- Better discovery through search and tags in the same experience.
Old experience vs new experience
| Area | Old setup | New setup |
|---|---|---|
| Structure | Separate website repo and separate blog repo | One integrated website + blog platform |
| Navigation | Portfolio links on one site, category links on another | One shared top navigation across key pages |
| Discovery | Category browsing and homepage cards | Category browsing plus built-in blog search |
| Publishing flow | Content and presentation split across systems | Single content workflow in one repository |
| Visual consistency | Different layouts and interaction patterns | Unified design language across pages |
| Operations | Two systems to maintain and update | One system with shared tooling and pipelines |
A concrete legacy example: the old website emphasized Bio, Skills, Projects, and Contact, while the old blog emphasized categories such as General, AWS, DFIR, and Tools. Both worked independently, but together they felt disconnected.
In the redesign, those paths are connected through one primary header and one domain-level experience.
How the new platform works (plain language)
The implementation is modern, but the operating model is simple.
- Content source: Posts are written in Markdown and MDX files under
content/posts. - App pages: One Next.js app (running on Node.js) serves both website and blog routes.
- Search: A lightweight API route powers on-site blog search.
- Discoverability: Search engine optimization (SEO) metadata and social preview images are generated automatically.
- Feed automation: RSS feeds and sitemap files are generated during the build.
- Contact workflow: Contact submissions are handled server-side and delivered through Amazon Simple Email Service (Amazon SES).
This adds technical depth behind the scenes, but the reader-facing result is simpler navigation and less fragmentation.
Design diagram: new site architecture
Integrated Website + Blog Architecture
Post flow: content authoring -> Node.js app runtime -> search and publishing pipelines -> unified experience.
Design diagram: old vs new map
Old vs New Platform Map
From two separate stacks to one integrated Node.js + Next.js + MDX platform.
Tradeoffs and outcomes
Every redesign includes tradeoffs. The new platform is more capable, but it also adds more behind-the-scenes stack complexity than the legacy static setup.
The practical benefits are significant:
- Readers get a cleaner path from profile to writing to contact.
- Search and category browsing now complement each other.
- The site feels more consistent page to page.
- Publishing and maintenance now happen in one place.
This launch marks a cleaner foundation for future writing, experiments, and updates.
Keep reading
View archiveRelaunching michaelbanks.org
Design goals, architecture decisions, and how I'm preparing the site for AI-assisted publishing.
How I got started and my journey in Cybersecurity
Recently I was extended an opportunity to speak at an undergraduate class of computer science. The topic I was to speak on was how I got into cybersecurity and my experience of different roles within the public and private sector of cybersecurity. I thought I'd share my story...
The 5 Books Every Cybersecurity Professional Should Read
A group of industry professionals that I know started to talk about interesting books they've read and thus own our very own cyber book club began. Now I keep track of a running and ever-evolving list of books that I genuinely believe EVERYONE in the field and industry should...