AI-Powered Notes App built with Next.js, TypeScript, TailwindCSS, Supabase, and React Query.
- ✨ User Authentication (Google + Email/Password via Supabase)
- 📝 Create, Edit & Delete Notes
- 🤖 AI-Powered Summarization using Groq's
llama-3.1-8b-instantmodel - ⚡ State Management with React Query
- 🎨 Modern UI with Shadcn components
- 🚀 Deployed on Vercel
Follow these steps to run the project locally.
git clone https://github.com/himanshuhr8/NoteGenius.git
cd NoteGeniusnpm install
# or
yarnCreate a .env file in the root and add:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
GROQ_API_KEY=your-groq-api-key
SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID=your-google-client
SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET=your-google-secretnpm run dev
# or
yarn devVisit http://localhost:3000 to view the app.
├── app/ # Next.js App Router routes and API
│ ├── api/
│ │ └── summarize/route.ts # AI summarization API route
│ ├── note/
│ │ └── [id]/page.tsx # Note detail (view/edit)
│ ├── signup/page.tsx # SignUp Page
│ ├── login/page.tsx # Login Page
│ ├── dashboard/page.tsx # Dashboard showing all notes
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # Reusable UI components
│ └── ui/ # Shadcn-based design system components
├── hooks/ # Custom React hooks (useNote, useNotes, etc.)
├── lib/ # Library utilities (Supabase client, AI utils)
│ ├── supabase/
│ │ └── client.ts
│ └── utils/
│ └── ai.ts
├── types/ # Shared TypeScript types and interfaces
├── next.config.js # Next.js configuration
└── README.md # Project documentation
Authentication is powered by Supabase:
- Google OAuth
- Email & Password
Make sure you configure authentication providers in your Supabase dashboard.
AI Summarization is integrated using Groq's llama-3.1-8b-instant model. The model helps summarize user-generated notes effectively.
The llama-3.1-8b-instant model is a powerful language model used for summarizing the content of notes. The summarization feature enables users to get concise versions of their notes with minimal effort.
- The user writes or edits a note.
- The note is sent to Groq's API using the provided API key.
- The model processes the content and returns a summary.
- The summary is displayed to the user in the app.
- Next.js
- TypeScript
- Supabase
- TailwindCSS
- Shadcn UI
- React Query
- Groq (for AI Summarization with
llama-3.1-8b-instantmodel)