Skip to content

AI-Powered Note-Taking App - A modern, responsive note-taking application with integrated AI features and analytics dashboard.

Notifications You must be signed in to change notification settings

felipe-muner/lucid-notes

Repository files navigation

LucidNotes πŸ“βœ¨

AI-Powered Note-Taking App - A modern, responsive note-taking application with integrated AI features and analytics dashboard.

🎯 Project Overview

LucidNotes is a single-page web application that combines traditional note-taking with AI-powered features. Built for a seed-stage ed-tech founder, this MVP demonstrates clean architecture, seamless AI integration, and polished user experience.

UI

image image

✨ Features

Core Functionality

  • πŸ“ CRUD Operations - Create, edit, delete, and organize notes
  • 🏷️ Tagging System - Required tags for organization and filtering
  • πŸ” Search & Filter - Search by text content or filter by tags
  • πŸ“± Responsive Design - Optimized for desktop and mobile devices

AI-Powered Features

  • πŸ€– Note Summarization - AI-powered summaries of long notes
  • ✍️ Auto-Title Generation - Intelligent title suggestions
  • πŸ“„ Smart Note Generation - Create notes from shorthand input

Analytics Dashboard

  • πŸ“Š Usage Metrics - Notes created per day/week
  • πŸ€– AI Feature Usage - Track AI feature utilization
  • 🏷️ Tag Popularity - Most used tags and trends

User Experience

  • πŸŒ™ Dark/Light Theme - Toggle between themes
  • ⚑ Smooth Animations - Micro-interactions and transitions
  • πŸ›‘οΈ Error Handling - Graceful handling of empty states and API failures
  • β™Ώ Accessibility - ARIA labels and keyboard navigation

πŸ› οΈ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS 4
  • UI Components: shadcn/ui + Radix UI
  • Icons: Lucide React
  • Charts: Recharts
  • State Management: Zustand
  • AI: OpenAI API
  • Backend: JSON Server (mock API)
  • Package Manager: pnpm

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • pnpm

Installation

  1. Clone the repository
git clone https://github.com/felipe-muner/lucid-notes
cd lucid-notes
  1. Install dependencies
pnpm install
  1. Set up environment variables
cp .env.example .env.local

Add your OpenAI API key:

OPENAI_API_KEY=your_openai_api_key_here
  1. Start the development servers
pnpm dev
  1. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

lucid-notes/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                 # Next.js App Router
β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ ui/             # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ notes/          # Note-related components
β”‚   β”‚   β”œβ”€β”€ analytics/      # Dashboard components
β”‚   β”‚   └── layout/         # Layout components
β”‚   β”œβ”€β”€ lib/                # Utilities and configurations
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ types/              # TypeScript type definitions
β”‚   └── store/              # Zustand store
β”œβ”€β”€ db.json                 # Mock database
β”œβ”€β”€ estimates.csv           # Time tracking
└── public/                 # Static assets

πŸ§ͺ Testing & Quality

Performance Targets

  • ⚑ Lighthouse Performance Score: β‰₯90
  • β™Ώ Lighthouse Accessibility Score: β‰₯90
  • πŸ“± Mobile-first responsive design
  • πŸš€ Optimized bundle size and loading

Manual Testing Checklist

  • Shortcut keys - Save note (⌘/Ctrl + Enter to save)
  • CRUD operations work smoothly
  • Search and filtering functions correctly
  • AI features handle errors gracefully
  • Analytics display accurate data
  • Responsive design on mobile devices
  • Dark/light theme switching

πŸ”§ Available Scripts

# Development
pnpm dev                    # Start Next.js development server

# Production
pnpm build                 # Build for production
pnpm start                 # Start production server

# Utilities
pnpm lint                  # Run ESLint

🌐 Deployment

Live Demo

πŸ”— Live Application

List of browsers/devices you manually tested.

  • Chrome (latest)
  • Firefox (latest)

Deploy to Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

Remember to add your OPENAI_API_KEY to Vercel's environment variables.

πŸ“Š Time Tracking

See estimates.csv for detailed time estimates vs actual time spent on each feature.

πŸŽ₯ Demo Video

πŸ“Ή Feature Walkthrough - Complete demo showing all features, AI integration, and architecture overview.

πŸ“‹ Trade-offs & Future Improvements

Current Limitations

  • Mock backend (JSON Server) - would use real database in production
  • Simple AI prompts - could be optimized for better results
  • Basic analytics - could add more sophisticated metrics
  • No user authentication - would implement in production

Future Enhancements

  • Real-time collaboration
  • Advanced AI features (note suggestions, content enhancement)
  • Export functionality (PDF, Markdown)
  • Advanced search with vector embeddings
  • Offline support with sync

πŸ—οΈ Architecture

See ARCHITECTURE.md for detailed information about:

  • Component structure and organization
  • State management patterns
  • API design and data flow
  • Scaling considerations

πŸ“„ License

This project is built as part of a technical assessment.

🀝 Contributing

This is a demonstration project. For questions or feedback, please reach out via the submission email.


Built with ❀️ using Next.js 15, TypeScript, and shadcn/ui

About

AI-Powered Note-Taking App - A modern, responsive note-taking application with integrated AI features and analytics dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published