// the take
A Next.js 13 (App Router) realtime chat app built as a companion repo to a YouTube tutorial by Josh (joschan21) — friend requests, 1:1 messaging, and online presence using Pusher for realtime and Upstash Redis as the primary data store. It's for developers learning App Router patterns alongside Pusher/Redis, not for anyone needing a chat app to actually run in production.
Decent use of App Router route groups ((auth)/(dashboard)) to separate layouts without polluting the URL structure. Friend-add and message payloads are validated with Zod (src/lib/validations), which is more rigor than most tutorial repos bother with. Using Redis sorted sets/hashes for friend lists and message history is a reasonable performance choice for a chat app's access patterns (sorted by timestamp, fast reads) instead of reaching for a relational DB it doesn't need.
Mixes the App Router with a leftover Pages Router API route (src/pages/api/auth/[...nextauth].ts) because next-auth v4 didn't support route handlers cleanly at the time — anyone copying this into a current project will hit confusion about which router owns auth. No tests, no CI config anywhere in the tree. Redis as the system of record means no relational integrity for friends/messages and no migration story if you outgrow key-value — there's no abstraction layer, API routes talk to Redis directly. The README's own 'Things I forgot in the video' section (metadata, favicon) is a tell that this was assembled to match a screencast, not maintained as a library; last push was mid-2024 with no indication of ongoing upkeep.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →