A community platform where developers share their real-world coding struggles, architectural blunders, and technical mistakes—anonymously and honestly—so others can learn and grow faster.
"Your next mistake might be someone else's breakthrough."
MistakeCount aims to strip away the "perfect dev" facade often seen on social media. By sharing mistakes instead of just successes, we build a more resilient and knowledgeable developer community.
This is a monorepo powered by Turborepo, designed for scalability and code sharing.
apps/web: A modern Next.js frontend featuring rich GSAP animations, a responsive design system, and a seamless user experience.apps/api: A high-performance Express.js backend providing secure authentication and a robust API for mistake management and voting.packages/database: A centralized Prisma schema and client used for unified data access across the platform.packages/ui: A shared component library for design consistency (in progress).
- Frontend: Next.js, React, GSAP (Animations), Tailwind CSS, Lenis (Smooth Scroll), DiceBear (Anonymous Avatars).
- Backend: Node.js, Express.js, JWT (Authentication), Helmet (Security).
- Database: PostgreSQL with Prisma ORM.
- Tooling: Turborepo, pnpm workspaces, TypeScript.
- Node.js (v18+)
- pnpm
- PostgreSQL
-
Clone the repo
git clone <repo-url> cd MistakeCount
-
Install dependencies
pnpm install
-
Environment Variables
- Copy
.env.exampleto.envin the root directory. - Update
DATABASE_URLwith your local PostgreSQL credentials. - Set a
JWT_SECRETfor authentication.
- Copy
-
Initialize Database
cd packages/database pnpx prisma db push # Optional: pnpx prisma db seed (to popluate initial tags)
-
Run Development Mode
# From root pnpm devThe web app will run on http://localhost:3000 and the API on http://localhost:5000.
- Anonymous Identity: Every signup generates a fresh avatar and username to encourage honest sharing.
- Interactive Feed: Vote on mistakes and filter by categories like React, DevOps, or ML.
- Decomposed UI: Highly modular frontend components for better performance and maintainability.
- Secure by Default: JWT-based session management and protected routes.
Built with ❤️ for the developer community.