How To Start: A No-Fluff First Post
The template's first sample post — replace this with real content in your niche. This shows headings, lists, and a pull quote.

Abhishek
Full-Stack & AI Product Engineer
Replace every file in content/posts/ with your own .md files. Each post is just frontmatter (title, description, date, category) plus Markdown content — no CMS, no database.
Why this structure works for SEO
- Every post gets its own static route (
/blog/[slug]) with unique<title>, meta description, and Open Graph tags generated from the frontmatter. app/sitemap.tsregenerates automatically from whatever posts exist incontent/posts/.- Article JSON-LD structured data is injected on every post page, which is what qualifies you for rich results in Google.
What to do next
- Delete the two sample posts in
content/posts/. - Write your first three real posts — pick the actual pain-point topics your audience searches for.
- Set your site identity in
.env(name, URL, description). - Connect a newsletter provider and your AdSense client ID.
Content is the whole product here. The template just makes sure Google and your readers can actually find and trust it.
Related Articles
View All Articles ↗Why Your NestJS API Slows Down Under Load (And It's Probably Not the Database)
A field guide to diagnosing V8 memory leaks and event loop lag in high-throughput NestJS APIs — measuring lag with perf_hooks, killing RxJS subscription leaks, and offloading CPU work to worker threads.
Backing Up Any Android Phone on Linux with ADB
A step-by-step ADB backup workflow for Linux that works on any Android phone, not just one brand — includes the exact commands, common failure points, and how to verify the copy actually worked.
Stripe Webhooks in NestJS Are Fine Until Production Hits: Fixing Race Conditions and Duplicate Events
How to stop Stripe webhooks from double-charging users, showing stale subscription status, or racing the frontend redirect in a NestJS and PostgreSQL app.