AI-powered voice notes structuring and knowledge organization system that transforms unstructured audio into structured, searchable knowledge.
The AI Voice Notes Organizer is a comprehensive system that helps users:
- Convert voice notes to structured text with AI-powered transcription
- Extract key insights and knowledge from audio content
- Organize notes with intelligent categorization and tagging
- Search and retrieve notes using natural language queries
- Build personal knowledge base from voice recordings
- Multi-format audio support (MP3, WAV, M4A, etc.)
- AI-powered speech transcription
- Audio quality analysis and enhancement
- Batch processing capabilities
- Automatic transcription with speaker diarization
- Key points and insights extraction
- Sentiment and emotion analysis
- Topic categorization and keyword extraction
- Knowledge graph generation
- Smart categorization and tagging
- Personal knowledge base building
- Search and retrieval system
- Note relationships and linking
- Content summarization
- Usage statistics and trends
- Knowledge growth tracking
- Audio content analysis reports
- Productivity insights
- Backend: Node.js + Express + TypeScript
- Database: SQLite + Prisma ORM
- AI: OpenAI GPT-4 for transcription and analysis
- Audio Processing: FFmpeg for audio processing
- Authentication: JWT-based authentication
- File Storage: Local file system with organized structure
- Node.js 18+
- npm or yarn
- OpenAI API key
- Clone the repository
git clone https://github.com/ai-ideas-lab/ai-voice-notes-organizer.git
cd ai-voice-notes-organizer- Install dependencies
npm install- Set up environment variables
cp .env.example .env
# Edit .env with your OpenAI API key and other configuration- Set up database
npm run db:generate
npm run db:migrate
npm run db:seed- Start the development server
npm run devThe server will start on http://localhost:3002
ai-voice-notes-organizer/
βββ src/
β βββ routes/ # API routes
β β βββ auth.ts # Authentication routes
β β βββ voiceNotes.ts # Voice note management
β β βββ analysis.ts # AI analysis endpoints
β β βββ categories.ts # Category management
β β βββ tags.ts # Tag management
β β βββ analytics.ts # Analytics endpoints
β βββ middleware/ # Express middleware
β β βββ errorHandler.ts
β β βββ auth.ts
β βββ utils/ # Utility functions
β β βββ prisma.ts
β β βββ logger.ts
β β βββ audioProcessor.ts
β βββ index.ts # Main application file
βββ prisma/
β βββ schema.prisma # Database schema
βββ uploads/ # Uploaded audio files
βββ .env # Environment variables
βββ package.json # Project configuration
POST /api/auth/register- Register new userPOST /api/auth/login- User loginPOST /api/auth/logout- User logoutGET /api/auth/me- Get current user
POST /api/voice-notes/upload- Upload audio fileGET /api/voice-notes- List user's voice notesGET /api/voice-notes/:id- Get specific voice notePUT /api/voice-notes/:id- Update voice noteDELETE /api/voice-notes/:id- Delete voice note
POST /api/voice-notes/:id/analyze- Trigger AI analysisGET /api/analysis/:noteId- Get analysis resultsPOST /api/voice-notes/batch-analyze- Batch analysis
GET /api/categories- List categoriesPOST /api/categories- Create categoryGET /api/tags- List tagsPOST /api/tags- Create tag
GET /api/analytics/overview- Usage overviewGET /api/analytics/knowledge-growth- Knowledge growth trendsGET /api/analytics/insights- AI insights
npm testNODE_ENV=development
PORT=3002
DATABASE_URL="file:./dev.db"
CORS_ORIGIN="http://localhost:3000"
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100
JWT_SECRET=your-jwt-secret
OPENAI_API_KEY=your-openai-api-keyThe API uses JWT tokens for authentication. Include the token in the Authorization header:
Authorization: Bearer <token>
- Set up production database (PostgreSQL recommended)
- Configure environment variables for production
- Build the application
npm run build- Start the production server
npm startdocker build -t ai-voice-notes-organizer .
docker run -p 3002:3002 ai-voice-notes-organizer# Upload audio file
curl -X POST \
http://localhost:3002/api/voice-notes/upload \
-H "Authorization: Bearer <token>" \
-F "audio=@path/to/audio.mp3"
# Trigger AI analysis
curl -X POST \
http://localhost:3002/api/voice-notes/analyze \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"noteId": "note-id"}'- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details
This project is part of the AI Ideas Lab initiative. Check for updates and new features regularly!
Built with β€οΈ by AI Ideas Lab