- Role
- Sole developer: product, Android development, image processing and Google Play release.
- Platform
- Android
- Timeline
- 2026
- Status
- Live on Google Play



Overview
A document scanner for Android that turns receipts, forms, ID cards and notes into clean PDFs, with its own page detection, perspective correction and PDF writer, and no ads or account.
Problem
A phone photo of paper comes out skewed and shadowed. Keepscan finds the page and straightens it at full resolution, offers filters that even out shadows, and writes the PDF on the device, so IDs, contracts and bills never have to be uploaded anywhere to be scanned.
What I built
- Live page detection written from scratch (Canny edges and a Hough transform), with auto capture
- Corner adjustment and perspective flattening on the platform's own Matrix
- Pages kept at the photo's full resolution, with Auto, Gray and B&W filters that even out shadows
- Multi-page documents: add, reorder, rotate and delete pages
- PDF or JPG export in three sizes, written by its own JPEG-in-PDF writer
- ID card mode: front and back at real card size on one A4 page
- Pro, weekly, monthly, yearly or a one-time lifetime purchase: on-device copy text and search, signing, merge, split, compress, AES-256 PDF passwords and app lock
- Documents stay in private storage, with no account; backup is a single file the user keeps
Engineering
01
Lines, not contours
A thumb or a shadow breaks a page's outline. Detection builds the page from Hough lines instead, and scores each candidate by edge support and a consistent brightness step across every side.
02
A PDF writer of its own
Android's PdfDocument re-encodes images losslessly, several megabytes a page. Keepscan embeds the JPEG bytes as they are, and binary-searches a quality ladder to save under a size limit.
03
Encryption without a library
PDF passwords are the AES-256 standard security handler, written on javax.crypto. The owner password is random and discarded, so there is no second way in.
Architecture & technology
- Kotlin
- Camera2
- Hilt
- Room
- Coroutines
- Navigation Component
- Material Design 3
- ML Kit text recognition
- RevenueCat
- PostHog
- Firebase Crashlytics







