Overview
Gritize is an open-source, AI-driven technical interview preparation platform designed to help developers sharpen their coding skills through personalized learning. It brings together curated problem-solving paths, real-time feedback, and powerful AI assistance—all in one sleek, intuitive interface.
Think of it as your AI coding coach—no pressure, no generic question dumps—just adaptive learning and intelligent support tailored to how you learn best.
The Idea
The idea for Gritize came from a simple observation: most coding platforms offer problems, but very few offer guidance. I wanted to build something smarter—a platform that doesn’t just test you, but helps you grow. A space where developers could practice, get hints when stuck, receive feedback on their solutions, and visually track their progress. With the rise of LLMs and generative AI, I saw an opportunity to bring this vision to life.
Tech Stack
Frontend
- Next.js 15 with App Router and SSR
- TypeScript for safe, scalable development
- Tailwind CSS + shadcn/ui for clean, responsive design
- Monaco Editor for a full in-browser coding experience
Backend & Services
- Appwrite for database, authentication, and cloud functions
- Google Gemini AI & OpenAI for generative hints, adaptive learning, and code reviews
- Piston API for real-time code execution (supporting JS, Python, C++, etc.)
- Zod for schema validation
- Nodemailer for secure email notifications
My Role
I led the project from start to (ongoing) finish.
Responsibilities included:
- UI/UX design with Figma and Tailwind
- Frontend development with Next.js + TypeScript
- Backend architecture, schema modeling, and Appwrite integration
- LLM prompt engineering for code review and hint generation
- DevOps scripts for setting up Appwrite locally via Docker
- Markdown-based documentation and content planning for scaling
Challenges Faced
- Token & response limits from AI APIs
→ Solved with better prompt engineering, caching logic, and retries - Latency in code execution and hint generation
→ Optimized async behavior and fallback UX to ensure snappy responses - Dynamic content structuring with Appwrite
→ Created reusable schema setups and automated DB seeding scripts - Maintaining a clean user experience across complex flows
→ Used animation, scroll hints, and subtle UI guidance to reduce friction
Outcome & Impact
- Launched as a functional beta, currently live at gritize.vercel.app
- Gained positive feedback for being a developer-friendly, AI-assisted prep space
- Used in real developer learning environments and bootcamps as a companion tool
- Fully open-source and available for community contributions