finds.dev← search

// the find

leerob/next-email-client

★ 724 · TypeScript · updated Dec 2025

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →