Project case study
Solo Android final project / Sole developer
StudyLens
A native Android learning companion for modules, notes, board scans, and quizzes.
- Status
- Solo Android final project, 2026
- Scope
- Native Android learning companion with course content, OCR, progress, study tools, and a server-side AI boundary.
- Team and role
- Solo project. I built the Android client and the supporting API integration.

Context
Students need one mobile workflow for reading course material, capturing classroom boards, and turning reviewed content into study aids without exposing provider credentials in the app.
What I built
- Built native Android module, progress, note, OCR, summary, flashcard, quiz, and tutor workflows.
- Connected Jetpack Compose to JWT-secured DRF/PostgreSQL services and kept AI credentials behind the backend service layer.
Technical approach
- A Kotlin and Jetpack Compose Android client uses CameraX, ML Kit OCR, Retrofit, and local Android storage integrations.
- The client communicates with a Django REST Framework API backed by PostgreSQL for user-owned course and study records.
- The backend service layer owns configured AI provider calls and credentials.
- Kept OCR text editable before it becomes a study input.
- Put AI calls behind the API so the Android app does not hold provider credentials.
- Scoped records to the authenticated user in the backend query and ownership paths.
Security and verification
- The API uses JWT authentication and user-scoped records.
- The Android client communicates with the server boundary for AI-assisted summaries, flashcards, quizzes, and tutor features.
- The repository includes backend API documentation, Docker/PostgreSQL development configuration, and explicit Android/backend module boundaries.
- The project has separate Android and backend build paths, with API documentation for local development.
Current limits
- The app is a final project and is not published on Google Play.