// the find
leerob/next-email-client
An email client built with the Next.js App Router and Postgres.
A demo email client built by Vercel's DX lead to showcase Next.js App Router patterns — layouts for column navigation, server actions for progressive enhancement, prefetching. It's a teaching project, not a production email client. No IMAP/SMTP, no real email; it works against seeded dummy data in Postgres.
The URL-first design is done right — scroll position and selected thread live in the URL so reload doesn't reset your place. Server actions with progressive enhancement means the compose form works without JS, which most demos skip entirely. Drizzle is a sensible ORM choice here; the schema is simple and the queries in lib/db/queries.ts are readable. The three-column layout with independent scroll positions is a clean demonstration of nested layouts.
This is explicitly a demo — the README's own todo list includes 'make up/down arrows work' and 'dark mode styles', which are table-stakes for an email UI. There is no actual email transport: no IMAP, no SMTP, no sending, no receiving. Adopting this as a starting point for a real email client means ripping out the seeded data model and adding an entirely separate mail layer. The 724 stars likely come from leerob's audience, not from anyone shipping this.