How aad1tshah1/ai_notes works
AI Notes is a web application for turning uploaded meeting audio into searchable notes. Users register or log in, upload a recording, receive a job ID, poll for progress, and retrieve the completed note. The backend handles authentication and API requests, while a Celery worker transcribes audio with Whisper, summarizes it with Claude, and persists job and note data. The README documents the queue and product capabilities; some frontend and API wiring is not sampled, so those links follow documented behavior rather than inspected implementations.
Main entry points: tasks.py Note worker · notes.py Notes routes · database.py Database access · app Application pages
Components 22
Web client
- Application pages
frontend/src/app - Auth service
frontend/src/services/auth.ts - Jobs service
frontend/src/services/jobs.ts - Notes service
frontend/src/services/notes.ts - API client
frontend/src/lib/api.ts
API and identity
- FastAPI app
backend/main.py - Auth routes
backend/api/auth.py - Notes routes
backend/api/notes.py - Job routes
backend/api/jobs.py - Auth service
backend/services/auth_service.py
Async processing
- Celery queue
backend/worker/celery_app.py - Note worker
backend/worker/tasks.py - Transcription
backend/services/transcription_service.py - Summarisation
backend/services/summarisation_service.py
Persistence
- Database access
backend/core/database.py - Job repository
backend/repositories/job_repository.py - Note repository
backend/repositories/note_repository.py - User repository
backend/repositories/user_repository.py - PostgreSQL
Other components
- User
- Whisper
- Anthropic Claude
Connections 32
- User → Application pages: uses
- Application pages → Auth service: registers, logs in
- Application pages → Jobs service: uploads, polls
- Application pages → Notes service: retrieves notes
- Auth service → API client: uses API URL
- Jobs service → API client: uses API URL
- Notes service → API client: uses API URL
- API client → FastAPI app: sends requests
- FastAPI app → Auth routes: dispatches
- FastAPI app → Notes routes: dispatches
- FastAPI app → Job routes: dispatches
- Auth routes → Auth service: hashes, verifies, issues JWT
- Auth routes → User repository: reads, creates users
- Notes routes → Note repository: reads, writes notes
- Notes routes → Job repository: creates jobs
- Notes routes → Celery queue: enqueues task
- Job routes → Job repository: reads job status
- Celery queue → Note worker: dispatches task
- Note worker → Job repository: updates job status
- Note worker → Transcription: transcribes audio
- Transcription → Whisper: transcribes
- Note worker → Summarisation: generates notes
- Summarisation → Anthropic Claude: requests summary
- Note worker → Note repository: saves note
- Auth routes → Database access: gets DB session
- Notes routes → Database access: gets DB session
- Job routes → Database access: gets DB session
- Note worker → Database access: opens session
- Job repository → PostgreSQL: reads, writes jobs
- Note repository → PostgreSQL: reads, writes notes
- User repository → PostgreSQL: reads, writes users
- Database access → PostgreSQL: connects