> Server is loading......
A pattern I like: validate on the client and validate again on the server. Then connect to email or a ticketing tool.
Client validation improves UX. Server validation protects your system.
Use the same Zod schema in both places.
In production, connect your route handler to:
Keep it simple, but safe.
Next.js App Router SEO Checklist (2025)
A practical checklist for shipping pages that rank: metadata API, OG/Twitter cards, sitemap, robots, and content structure.
Dark mode done right with next-themes
A clean approach to theme toggling in Next.js: class-based themes, CSS variables, and persisting preferences.
Markdown + reading time in the App Router
A simple pipeline: Markdown in /content, gray-matter for frontmatter, and reading-time to show estimate on cards.