Tiny Trace is a focused Android utility designed to transform your smartphone or tablet into a portable lightbox for paper tracing. By utilizing high-intensity screen output and specialized image processing, the app allows artists, illustrators, and hobbyists to physically trace digital images onto paper with ease.
The motivation behind this project was to create a streamlined tool for artists who need to quickly trace reference images onto physical paper. Most existing solutions are cluttered with ads or complex menus. Tiny Trace was built to provide a "one-task" experience: select an image, lock the screen at full brightness, and start tracing immediately without accidental touches or screen dimming.
Tiny Trace follows a simple, three-step architectural pattern: Select → Enhance → Trace.
- Select: Import any image from your device gallery.
- Enhance: Use the built-in editor to prepare the image. You can adjust contrast, brightness, and sharpness, or use the "Edge Detection" filter to turn photos into clean outlines that are easier to see through paper.
- Trace: Enter the dedicated Tracing Mode. The app automatically forces the screen to maximum brightness, hides all system bars (Immersive Mode), and allows you to "Lock" the screen. Once locked, the image is frozen in place, preventing accidental zooms or pans while your paper is on the display.
The application is built using modern Android development practices and a lightweight architecture:
- UI Framework: 100% Jetpack Compose with Material 3 for a modern, responsive, and "finger-friendly" interface.
- Language: Kotlin using Coroutines and Flow for reactive data handling.
- Database: Room Persistence Library to store trace history and user-defined image presets.
- Preferences: Jetpack DataStore for managing application settings like auto-brightness and onboarding states.
- Image Loading: Coil for efficient, asynchronous image decoding and caching.
- Image Processing: Custom implementation using android.graphics (Bitmaps, ColorMatrix, and Sobel Convolution kernels) for real-time filter application.
- Immersive Tracing: Utilizes
WindowInsetsControllerto hide system UI andWindowManager.LayoutParamsto override system brightness and keep the screen awake. - Non-Destructive Editing: All image adjustments are calculated in a background thread to maintain 60FPS UI performance during slider movements.
- State Management: Follows the MVVM (Model-View-ViewModel) pattern to ensure a clear separation between business logic and the UI layer.
| Home | Image | Editor | Tracing Mode |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |




