Technology

I rebuilt my website from scratch (and left WordPress behind)

Why I ditched WordPress for a fast, hand-built site — the stack, the trade-offs, and how the whole thing now costs me almost nothing to run.

I had a WordPress site once. It had a theme, a database, a login page I’d forgotten the password to, and exactly zero posts. The maintenance tax was real and the writing was not. So I tore it down and started over.

This time I wanted something that matched how I actually think: plain text files, version-controlled, fast, and mine. Here’s what I landed on.

The stack

The whole site is built with Astro — a framework designed for content. Posts are just Markdown files. There’s no database, no server to patch, and the output is plain HTML that loads instantly.

A post’s metadata lives in a little block at the top of the file, called frontmatter:

src/content/posts/my-first-post.md
---
title: "Something I needed to say"
description: "A one-line hook for search engines and link previews."
pubDate: 2026-06-22
topic: life
tags: ["notes", "first"]
---

Everything below that block is the post. The site reads the frontmatter to build listings, topic pages, tags, and the RSS feed automatically.

A taste of the code

The piece that makes this feel effortless is Astro’s content layer. Defining the shape of a post — and getting type-safety for free — takes a few lines:

src/content.config.ts
const posts = defineCollection({
loader: glob({ base: './src/content/posts', pattern: '**/*.{md,mdx}' }),
schema: ({ image }) =>
z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
topic: z.enum(['tech', 'india', 'faith', 'family', 'life']),
tags: z.array(z.string()).default([]),
}),
});

If I typo a topic or forget a description, the build fails before anything ships. The computer catches my mistakes so readers never do.

The trade-off, honestly

WordPress lets you write from any browser, including your phone. A hand-built site doesn’t — by default. That’s the one thing I gave up, and I’m closing the gap with a small browser-based editor so I can still jot a post from anywhere.

For everything else — speed, ownership, simplicity, the fact that I’ll never again hunt for a forgotten admin password — it’s not close. This is the site I should have built years ago.

Abhiroop

I write about technology, India, faith, and family — and the questions that cut across all four.

Newsletter

The newsletter

Occasional essays on tech, India, faith, and family — sent straight to your inbox. No spam, unsubscribe anytime.

No spam, ever. Unsubscribe in one click.