Noterra
AI-powered learning tool to generate comprehensive notes and flashcards from given user prompts, powered by Gemini AI.
Technologies Used
TypeScriptNext.jsReactTailwind CSSshadcn/uiPostgreSQLDrizzleZodClerkGemini AI
Timeline
Apr 2025 - Dec 2025Co-Authors
This project was completed individuallyKey Accomplishments
- Integrated Gemini AI with a comprehensive system prompt to generate detailed notes and a set of flashcards for any given topic.
- Integrated TipTap editor for rich text editing and Mermaid.js to render diagrams within notes.
- Integrated Clerk for user authentication, leveraged Next.js route grouping to separate public and protected routes.
- Implemented form validation with Zod and React Hook Form for robust input handling.
- Implemented note export (txt, md, pdf) functionality leveraging native browser APIs.
- Designed PostgreSQL data models using Drizzle, implementing proper relationships and indexing to optimize query performance for user, note, and flashcard data.
- Automated CI pipeline with GitHub Actions to enforce linting and formatting with Biome, as well as automate releases using Semantic Release.
- Designed a responsive UI using TailwindCSS, shadcn/ui and Lucide React Icons.