STEEL — Steal Therapy

Brutal gym training PWA · Next.js 15 App Router + React 19 (RSC) · TypeScript strict · PocketBase backend

A brutal/industrial gym training PWA for workout plans, session logging, and progress analytics with a multilingual exercise library. Built on Next.js 15 (App Router, RSC) with a PocketBase backend reached through a /pb rewrite proxy.

Generated 4 Jun 2026 · 135 files · 13 components · 5 flows

File Architecture

The full source tree as a layered graph — every file with its role, imports, exports and reverse dependencies.

System Design

Runtime topology across the five zones — client, edge, application, data and external services.

Flow Graph

The five most significant application flows, step by step — startup, auth, write, read and error recovery.

Technology

ComponentTechnologyVersionSource of Detection
FrameworkNext.js (App Router, RSC)^15.1.6package.json
UI runtimeReact^19.0.0package.json
LanguageTypeScript (strict)^5.7.3tsconfig.json
StylingTailwind CSS v4 (@tailwindcss/postcss)^4.0.0postcss.config.mjs
Componentsshadcn/ui (New York) over radix-ui^1.4.3components.json
Server state@tanstack/react-query^5.62.11QueryProvider.tsx
Client statezustand (persist)^5.0.2stores/workout-store.ts
Formsreact-hook-form + zod7.72 / 3.25package.json
Iconslucide-react^0.469.0package.json
Animationframer-motion^12.38.0package.json
Chartsrecharts^3.8.1components/progress/*
Toastssonner^2.0.7providers/Providers.tsx
Backend SDKpocketbase^0.26.8lib/pocketbase.ts
Backend serverPocketBase (SQLite):8090.env.local / next.config.mjs
AI (scripts)ai + @ai-sdk/{google,groq,anthropic,openai}ai ^6scripts/seed-*.mjs
Exercise dataExerciseDB (RapidAPI fork)*[unresolved]*.env.local (EXERCISEDB_URL)