Epistoria
Full‑stack developerDecember 2025 - April 2026
Epistoria:Production‑style full‑stack blogging platform with React + TypeScript frontend and a TypeScript backend (Express + Drizzle) supporting CRUD, validation, and modern state management. Frontend: Vite + React (TSX) with Tailwind CSS, Redux Toolkit, React Query; app bootstraps from frontend/src/main.tsx and routes/layout in App.tsx. Backend: TypeScript + Express (dev scripts run with Bun), Drizzle ORM for DB modeling/migrations, Postgres driver (pg), and Zod for request validation. Key features: view all blog posts, open individual post details, add posts with validation, update existing posts, delete posts with credential/password checks, category-based formatting and clean content presentation, light/dark theme and responsive UI. Project structured as separate frontend/ and backend/ folders for independent development and deployment; Drizzle config and migrations live under backend/drizzle and drizzle.config.ts. Dev tooling: Bun for running, nodemon for backend dev watch, TypeScript build, Vercel config files provided for deployment.
Services:
TypeScriptReactViteTailwind CSSRedux ToolkitReact QueryExpress (Bun)Drizzle ORMPostgres (pg)Zod (validation)
Challenges:
Keeping full type-safety across the stack while wiring frontend API calls to a typed backend, modeling DB schema and migrations with Drizzle, and adding robust validation (Zod) for user-created content — plus deploying split frontend/backend to Vercel. (inferred)
What I learned:
- Building a full‑stack TypeScript application end‑to‑end
- Using Drizzle ORM and configuring migrations for Postgres
- Applying Zod for request validation and safe data handling
- Integrating React Query + Redux Toolkit for client state and async data
- Deploying a separated frontend and backend (Vercel hints included)
