Smart Notes is a modern, responsive web application designed to help users create, manage, and summarize their notes efficiently. It leverages the power of AI to provide instant note summarization and ensures a seamless experience across devices.
- Next.js (App Router + TypeScript)
- Tailwind CSS
- Shadcn UI
- TanStack Query (React Query) β for data fetching and state management
- Supabase β Authentication & Database
- Groq API β Primary AI Note Summarization
- Mistral API β Fallback AI Note Summarization
Sign up and log in using:
- Google OAuth
- Email & Password
- Create, edit, and delete notes
- Real-time updates and auto-sync with Supabase
- Summarize any note using Groq with Mistral fallback support
- Great for quick recaps and idea digestion
Powered by TanStack Query (React Query) for optimized, scalable, and cache-efficient data fetching
π Root Directory
βββ π app - Main application directory
β βββ π api
β β βββ π summarize
β β βββ route.ts - AI summarization API endpoint
β βββ π auth - Authentication pages
β βββ π dashboard - User dashboard
β β βββ page.tsx - Notes dashboard
β β βββ π [noteId]
β β βββ page.tsx - Individual note editor
β βββ layout.tsx - Root layout
β βββ page.tsx - Landing page
β
βββ π components - Reusable UI components
β βββ π ui - Shadcn components
β βββ π notes - Note-related components
β βββ π auth - Auth form components
β
βββ π lib - Core utilities and configurations
β βββ supabase.ts - Supabase client
β βββ utils.ts - Helper functions
β βββ π hooks - Custom React hooks
β βββ types.ts - TypeScript type definitions
β βββ π providers
β βββ query-provider.tsx - React Query setup
β
βββ π public - Static assets
βββ π images - Logos, illustrations, etc.
git clone https://github.com/your-username/smart-notes.git
cd smart-notes
npm install
Create a .env.local file in the root directory and add the following variables:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=llama-3.1-8b-instant
MISTRAL_API_KEY=your_mistral_api_key
MISTRAL_MODEL=mistral-small-latest
NEXT_PUBLIC_APP_URL=http://localhost:3000
For Google OAuth with Supabase in local development, also add
http://localhost:3000/auth/callback to your Supabase Auth Redirect URLs.
npm run dev
npm run smoke:ai
- βοΈ Markdown support for notes
- ποΈ Folder and tag-based categorization
- π₯ Real-time collaborative editing
- π¨ AI tone/style rewriting features
- π΄ Offline access via PWA support
MIT License