How UP Journal Club is built. Every layer, from the pages you click to the model that appraises each paper.
Next.js 15 + React 19
Application framework
The whole experience runs on the Next.js App Router with React 19 server components and TypeScript end to end. Pages render on the server for speed, then hydrate into the interactive quests, players, and dashboards you use.
App RouterReact Server ComponentsTypeScript
Tailwind CSS
Design system
Every surface is styled with Tailwind and a small set of design tokens, so the light and dark themes, the glassy cards, and the gradients all stay consistent from one screen to the next.
Utility CSSTheme tokensDark and light modes
Supabase
Database and authentication
A managed Postgres database holds papers, appraisals, points, and badges. Supabase Auth handles the email single sign-on, and row-level security policies make sure people only ever see and change what their role allows.
PostgresAuth (email SSO)Row-level security
Claude by Anthropic
The Appraisal Engine
The Appraisal Engine is powered by Claude through the official Anthropic SDK. Claude reads each paper and returns a structured critical appraisal through a defined tool schema, which is what turns a published study into a guided, competency-based quest.
Put together, these pieces let UP Journal Club stay fast, secure, and genuinely interactive, while the heavy lifting of reading and appraising research is handled by a frontier language model rather than a static template.