Madewgn.
← Back to blog

Welcome to the blog

What this blog is for, what to expect, and how to write your first post.

metablogging

This is where I'll dump field notes from shipping software and on-chain systems. Expect short, opinionated posts with real code — not breathless announcements.

Writing a new post

Posts live in content/blog/ as .mdx files. Frontmatter at the top, MDX body below.

---
title: "Your post title"
description: "One-line summary used in cards and SEO."
date: "2026-05-11"
tags: ["nextjs", "web3"]
---
 
Your content. **Bold**, _italic_, `code`, [links](https://nextjs.org).
 
\`\`\`ts
export function hello(name: string) {
  return `hi, ${name}`;
}
\`\`\`

Thumbnails / cover images

Add a cover to any post's frontmatter. Local files live under /public, e.g. drop welcome.jpg into /public/blog/ and reference it as:

cover: "/blog/welcome.jpg"

Remote URLs work too — just whitelist the host in next.config.ts under images.remotePatterns. When a post has no cover, a gradient placeholder is generated from the title hash so every card still has a unique look.

Drafts

Set draft: true in the frontmatter to hide a post from the index, RSS feed, and sitemap. Drop it when you're ready to publish.

What's next

A few queued posts: gas-optimization tricks for ERC-721, why most "Web3 onboarding" pages get UX wrong, and a deep-dive into building type-safe subgraphs.