Tech stack
Every external library, grouped by category, with its reason.
Every library below is declared in some workspace manifest — names, version ranges, and categories come from the data, and the build fails if the list drifts. "Used in" points at the folders that import each library. Libraries marked "Declared but not used in source" sit in a manifest but no source file imports them — most notably better-auth, which both manifests declare while authentication actually runs on JWT plus bcrypt.
Language and build
Loads local environment files into process.env.
Used in: Backend
Development server and production bundler.
Used in: Frontend
Fast refresh and JSX transform for the Vite build.
Used in: Frontend
@types/nodeDeclared but not used in source
Type declarations for Node.js built-ins.
Used in: Frontend
@types/reactDeclared but not used in source
Type declarations for React.
Used in: Frontend
@types/react-domDeclared but not used in source
Type declarations for React DOM.
Used in: Frontend
Frontend framework
UI and styling
Utility-first styling for the whole interface.
Used in: Frontend
Compiles Tailwind inside the Vite build.
Used in: Frontend
Conditional class names without string juggling.
Used in: Frontend
Merges conflicting Tailwind classes correctly.
Used in: Frontend
Variant styles for the shared interface primitives.
Used in: Frontend
Accessible profile pictures with fallbacks.
Used in: Frontend
Accessible form labels.
Used in: Frontend
Styled scroll containers for chat and feeds.
Used in: Frontend
Polymorphic primitive behind the shared button.
Used in: Frontend
Icon set used across pages and components.
Used in: Frontend
Brand icons the main set does not carry.
Used in: Frontend
Syntax highlighting for code snippets in posts.
Used in: Frontend
Animation utilities for Tailwind v4.
Used in: Frontend
State
Realtime
Realtime server for chat, typing, presence, and notifications.
Used in: Backend
Shares socket rooms and events across server instances over Redis pub/sub.
Used in: Backend
Redis client behind presence and the socket adapter.
Used in: Backend
Live channel for chat, typing, presence, and notifications.
Used in: Frontend
Backend framework
Database and ODM
File storage
Sends the contact form mails over Gmail SMTP.
Used in: Backend
Auth and email
Signs the session token and verifies it on every protected route.
Used in: Backend
Hashes passwords before they reach the database.
Used in: Backend
better-authDeclared but not used in source
Declared in both manifests but never imported in any source file; authentication is JWT plus bcrypt.
Validation
Linting and formatting
ESLintDeclared but not used in source
Static analysis run through the lint script.
Used in: Frontend
Recommended rule set for the flat config.
Used in: Frontend
Rules of Hooks checks for components.
Used in: Frontend
Fast-refresh safety checks for exports.
Used in: Frontend
Environment globals for the flat lint config.
Used in: Frontend
Other
Dependencies as of commit cdef8af.
Sources: backend/package.json, frontend/package.json (documented at commit cdef8af)