How kirtan1432darji/contextvault works
ContextVault is a privacy-first screenshot organizer: the Android app detects screenshots, extracts and classifies their content locally, then makes it searchable and conversational through smart folders, memory views, and AI features. JSON text and metadata can sync to a FastAPI backend for account, classification, context, and chat capabilities; the README says raw image binaries remain on-device. The graph follows documented product flows and sampled service behavior. Backend routes and some client-to-backend wiring are represented at subsystem level because their implementations were not sampled.
Main entry points: database.ts Local SQLite · screenshotScannerService.ts Screenshot scanner · visionAIService.ts On-device vision · ContextRetrievalService.ts Context retrieval
Components 21
Mobile capture
- Mobile app
frontend/App.tsx - Media detection
frontend/src/services/ScreenshotListenerService.ts - Screenshot scanner
frontend/src/services/screenshotScannerService.ts - Sync service
frontend/src/services/syncService.ts
Local intelligence
- On-device vision
frontend/src/services/visionAIService.ts - Smart classification
frontend/src/services/SmartFolderClassificationService.ts - Smart folders
frontend/src/services/SmartFolderService.ts - Global AI search
frontend/src/services/search/SemanticSearchService.ts - Folder context chat
frontend/src/services/contextChat/ContextChatService.ts - Context retrieval
frontend/src/services/contextChat/ContextRetrievalService.ts - Memory timeline
frontend/src/services/memory/MemoryTimelineService.ts
Backend services
- FastAPI routes
- Backend classification
backend/app/api/v1/classification.py - Folder context engine
backend/app/services/context_engine_service.py - Backend chat engine
backend/app/services/chat_engine_service.py
Persistence
- Local SQLite
frontend/src/database/database.ts - Backend database
backend/app/database/database.py
Web access
- Web client
web-client/src/App.tsx - Web API client
web-client/src/api/vaultApi.ts
Other components
- Screenshot user
- Android media source
Connections 24
- Screenshot user → Mobile app: uses
- Android media source → Media detection: signals media
- Media detection → Screenshot scanner: detects screenshots
- Screenshot scanner → On-device vision: processes locally
- On-device vision → Smart classification: provides extracted text
- Smart classification → Smart folders: assigns categories
- Screenshot scanner → Local SQLite: stores screenshot metadata
- On-device vision → Local SQLite: caches vision results
- Smart folders → Local SQLite: stores folder data
- Global AI search → Local SQLite: searches local index
- Folder context chat → Context retrieval: retrieves grounding
- Context retrieval → Memory timeline: reads timeline
- Context retrieval → Local SQLite: reads local context
- Sync service → FastAPI routes: syncs text metadata
- FastAPI routes → Backend classification: dispatches classification
- FastAPI routes → Folder context engine: dispatches context
- FastAPI routes → Backend chat engine: dispatches chat
- Backend classification → Backend database: reads and writes
- Folder context engine → Backend database: reads and writes
- Backend chat engine → Folder context engine: uses folder context
- Backend chat engine → Backend database: persists chat history
- Screenshot user → Web client: uses
- Web client → Web API client: requests vault data
- Web API client → FastAPI routes: calls REST API