View the project in live here!
Stop spending weeks understanding new codebases. Navvi analyzes your repository and creates interactive learning paths for new developers.
Navvi is an AI-powered onboarding buddy that transforms how new developers understand codebases. Instead of spending weeks or months trying to figure out how everything fits together, Navvi provides:
- System Architecture Maps - Visualize how all components connect
- Critical Code Paths - Identify the 20% of code that matters most
- Interactive Tutorials - Step-by-step walkthroughs of key workflows
- Dependency Graphs - See exactly how classes and functions rely on each other
Navvi is built with security in mind:
- Local Processing - Code analysis happens locally, never stored
- Zero-Knowledge Architecture - Only metadata and insights are processed
- GitHub OAuth - Secure authentication with minimal permissions
- Open Source Core - Analysis engine is transparent and auditable
To verify our zero-knowledge approach:
- Run the app:
npm run dev - Navigate to
/security - Open browser dev tools β Network tab
- Paste any code and click "Analyze Locally"
- Verify: No network requests contain code content
- Inspect
src/lib/clientAnalysis.tsto see the local processing logic
- Code analysis results generated entirely in your browser
- Cryptographic hash proving the code was processed without revealing content
- Network monitor showing "0 bytes sent to server"
- Security level: "Zero-Knowledge"
Our security approach is completely transparent. You can see every line of code that processes your data. When you paste code into our security demo, you can verify that absolutely no code content is sent to our servers. The analysis happens entirely in your browser, and we only see a cryptographic hash, never the actual code.
- AST Parser - Converts code into abstract syntax trees for analysis
- Dependency Analyzer - Maps relationships between components
- AI Insights Engine - Generates explanations and tutorials
- Interactive UI - Responsive web interface
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Authentication: NextAuth.js with GitHub OAuth
- Analysis: Abstract Syntax Tree parsing (planned)
- Deployment: Vercel-ready
- Node.js 18+
- GitHub account
- GitHub OAuth App credentials
git clone <your-repo-url>
cd navvi
npm installCreate a .env.local file in the root directory:
# GitHub OAuth
GITHUB_ID=your_github_client_id_here
GITHUB_SECRET=your_github_client_secret_here
# NextAuth
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret_here- Go to GitHub Developer Settings
- Create a new OAuth App
- Set Homepage URL to
http://localhost:3000 - Set Authorization callback URL to
http://localhost:3000/api/auth/callback/github - Copy the Client ID and Client Secret to your
.env.local
npm run devVisit http://localhost:3000 to see Navvi in action!
navvi/
βββ src/
β βββ app/
β β βββ api/
β β β βββ auth/[...nextauth]/route.ts # NextAuth configuration
β β β βββ repositories/route.ts # GitHub repos API
β β β βββ analyze/route.ts # Analysis API
β β βββ auth/
β β β βββ signin/page.tsx # Sign-in page
β β βββ dashboard/
β β β βββ page.tsx # Main dashboard
β β βββ analysis/[repo]/
β β β βββ page.tsx # Analysis results
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Landing page
β β βββ globals.css # Global styles
β βββ types/
β βββ next-auth.d.ts # TypeScript types
βββ public/ # Static assets
βββ package.json
- Landing page with value proposition
- GitHub OAuth authentication
- Repository selection dashboard
- AST analysis results with interactive UI
- Responsive design with Tailwind CSS
- TypeScript support
- Dependency graph visualization
- Git history analysis
- Interactive code walkthroughs
- Test coverage integration
- Export functionality
- Team collaboration features
Navvi uses a modern, professional design with:
- Colors: Blue/Indigo gradient theme
- Typography: Geist Sans for UI, Geist Mono for code
- Components: Rounded corners, subtle shadows, smooth transitions
- Layout: Responsive grid system with Tailwind CSS
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint- Create new pages in
src/app/ - Add API routes in
src/app/api/ - Update types in
src/types/ - Test with
npm run dev
- Push to GitHub
- Connect repository to Vercel
- Add environment variables
- Deploy automatically
GITHUB_ID=your_production_github_client_id
GITHUB_SECRET=your_production_github_client_secret
NEXTAUTH_URL=https://your-domain.com
NEXTAUTH_SECRET=your_production_nextauth_secretThis is a hackathon project, but contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
- New developers spend weeks/months understanding codebases
- Senior devs waste time explaining the same concepts repeatedly
- Documentation gets outdated quickly
- Onboarding is inconsistent and inefficient
Navvi automatically analyzes codebases and creates personalized onboarding experiences, reducing time-to-productivity by 80%.
- Security-first: Local processing, zero code storage
- AI-powered: Intelligent insights and personalized tutorials
- Interactive: Visual, engaging learning experience
- Comprehensive: Architecture maps, critical paths, tutorials
Built with β€οΈ for better developer onboarding