How abhishek-verse/d-forget works
AI Task Organizer turns pasted or shared information and documents into AI task proposals for user review; confirmed tasks and reminders are then managed locally in Android. The backend provides analysis, PDF extraction, and OCR, while Android owns task storage and notification scheduling. The README documents additional input and task-management capabilities that are not fully shown in the sampled source, so those links are represented only where the tree and documentation support them. Backend route-to-service wiring is not sampled.
Main entry points: analysis.py Analysis endpoint · SourceRepository.kt Source repository · InboxViewModel.kt Inbox state · SourceApi.kt Analysis API client
Components 24
Android app
- App navigation
android/app/src/main/java/com/aitaskorganizer/app/MainActivity.kt - AI Inbox
android/app/src/main/java/com/aitaskorganizer/app/ui/inbox - Inbox state
android/app/src/main/java/com/aitaskorganizer/app/ui/inbox/viewmodel/InboxViewModel.kt - Analysis state
android/app/src/main/java/com/aitaskorganizer/app/ui/analysis/viewmodel/AnalysisViewModel.kt - Proposal review
android/app/src/main/java/com/aitaskorganizer/app/ui/analysis/AnalysisResultScreen.kt - Task management
android/app/src/main/java/com/aitaskorganizer/app/ui/tasks - Home and completed
android/app/src/main/java/com/aitaskorganizer/app/ui - Source transparency
android/app/src/main/java/com/aitaskorganizer/app/ui/source - Source repository
android/app/src/main/java/com/aitaskorganizer/app/data/repository/SourceRepository.kt - Analysis API client
android/app/src/main/java/com/aitaskorganizer/app/data/remote/api/SourceApi.kt - Task state
android/app/src/main/java/com/aitaskorganizer/app/ui/tasks/viewmodel/TasksViewModel.kt
Local task data
- Task repository
android/app/src/main/java/com/aitaskorganizer/app/data/repository/TaskRepository.kt - Reminder repository
android/app/src/main/java/com/aitaskorganizer/app/data/repository/ReminderRepository.kt - Room database
android/app/src/main/java/com/aitaskorganizer/app/data/local/database/AppDatabase.kt - Reminder scheduler
android/app/src/main/java/com/aitaskorganizer/app/notifications/ReminderScheduler.kt - Notification receiver
android/app/src/main/java/com/aitaskorganizer/app/notifications/NotificationReceiver.kt
Analysis backend
- FastAPI application
backend/app/main.py - Analysis endpoint
backend/app/routes/analysis.py - AI analysis
backend/app/services/ai_service.py
Document processing
- PDF extraction
backend/app/services/pdf_service.py - Image OCR
backend/app/services/ocr_service.py
Other components
- User
- External AI provider
- Android system
Connections 30
- User → App navigation: opens
- App navigation → AI Inbox: navigates
- User → AI Inbox: provides input
- AI Inbox → Inbox state: submits input
- Inbox state → Source repository: requests analysis
- Source repository → Analysis API client: calls
- Analysis API client → FastAPI application: sends analysis request
- FastAPI application → Analysis endpoint: dispatches
- Analysis endpoint → PDF extraction: extracts PDF text
- Analysis endpoint → Image OCR: extracts image text
- Analysis endpoint → AI analysis: requests analysis
- AI analysis → External AI provider: may call
- Analysis endpoint → Analysis API client: returns proposal
- Analysis API client → Source repository: returns result
- Source repository → Inbox state: returns result
- Inbox state → Analysis state: provides proposal
- Analysis state → Proposal review: presents proposal
- User → Proposal review: confirms or edits
- Proposal review → Task repository: saves confirmed task
- Task management → Task state: shows task state
- Home and completed → Task state: shows task state
- Task state → Task repository: observes and updates
- Task repository → Room database: reads and writes
- Reminder repository → Room database: reads and writes
- Task management → Reminder repository: manages reminders
- Reminder scheduler → Reminder repository: loads active reminders
- Reminder scheduler → Android system: schedules alarms
- Android system → Notification receiver: delivers alarm
- Notification receiver → Android system: posts notification
- Source transparency → Source repository: loads source details