The job-site camera with a filing system.
Capture photos, video and voice notes straight into project folders β organised, annotated and kept out of your personal camera roll.
Demo photos from Unsplash (via Lorem Picsum) by Paul Evans, Dietmar Becker, Florian Klauer, Alexander Shustov, Steve Richey, Rodrigo Melo, Thanun Buranapong, Johnny Lam, Vadim Sherbakov, Aleks Dorohovich, Adam Przewoski, Luke Chesser, Art Wave, Christian Bardenhorst and Charlie Foster.
Field work produces hundreds of photos across many jobs. In a regular camera app they end up mixed with personal pictures and are painful to sort, share and hand over. Onsite gives every job its own folder from the moment you press the shutter β so documentation is organised before you even leave the site.
Projects & folders
- Projects with unlimited nested subfolders (e.g. Job 123 βΊ Bathroom βΊ Before)
- Folder overview with cover photo, counts per media type, created date and last activity
- Notes on folders β address, contact person, agreements
- Multi-select files and folders to share, move or delete
- Browse-style folder picker with "new folder here"
- Trash with 30-day restore
Capture
- Photo and video modes with audio, front/back camera
- Zoom presets (incl. ultra-wide where available) and pinch-to-zoom
- Flash / torch, exposure compensation, tap-to-focus, rule-of-thirds grid
- 4:3 or 16:9, video in HD / Full HD / 4K
- Hardware volume keys as shutter β works with gloves
- Voice notes recorded straight into the current folder (pause/resume, level meter)
Review & document
- Gallery-style viewer with swipe, pinch-zoom and video/audio playback
- Notes on every photo, video and voice note (dictate with the keyboard mic)
- Details panel: capture time, GPS address with Open in Maps, resolution, duration, camera
- Correct a wrong GPS address manually
- Optional stamp burned into photos (date, address, project path)
Fits into your workflow
- Share β Onsite from the system camera, gallery or any app to file existing media into a project
- Share files or whole folders to e-mail, Teams, Slack, etc.
- English and Norwegian (follows the system language, or pick one in settings)
- Navy & safety-yellow theme in light and dark mode
Everything is stored as plain files under Pictures/Onsite/ on the device:
Pictures/Onsite/
βββ Job 123/
β βββ .notat.txt β folder note
β βββ Bathroom/
β β βββ IMG_20261021_101500.jpg
β β βββ .IMG_20261021_101500.jpg.notat.txt β photo note
β β βββ VID_20261021_101622.mp4
β βββ LYD_20261021_102010.m4a β voice note
βββ .papirkurv/ β trash (30 days)
- No database: the folder tree is the data model, so it can be mirrored 1:1 to cloud storage.
- Notes and corrected addresses are hidden sidecar files that travel with their media.
- Files survive uninstalling the app; a
.nomediamarker keeps them out of the system gallery (toggle in settings). - GPS is written to photo EXIF and video metadata.
- Cloud sync of a shared project root (OneDrive/SharePoint or Google Drive) for teams
- Draw / mark up on photos
- PDF report export with photos, notes, dates and locations
- Search across projects
- Project status (active / done / archived)
Download the latest Onsite-<version>.apk from Releases, open it on your phone and allow
installing from unknown sources. On first launch Onsite asks for All files access so it can manage
Pictures/Onsite.
Requires Android 8.0+ (per-app language selection needs Android 13+).
./gradlew assembleDebug # debug build
./gradlew assembleRelease # signed release buildRequires JDK 17+ and the Android SDK (compileSdk 35).
Release builds are signed with a key kept outside the repository. Point ONSITE_SIGNING at a properties
file (default ~/.android-keys/onsite-release.properties) containing storeFile, storePassword,
keyAlias and keyPassword. Without it the release APK is left unsigned. Keep the key safe β updates must
be signed with the same key.
Kotlin Β· Jetpack Compose (Material 3) Β· CameraX 1.4 (photo + video) Β· Media3 ExoPlayer Β· Coil Β· AndroidX ExifInterface Β· MediaRecorder Β· Android per-app locales Β· 16 KB page-size compatible
MIT Β© 2026 Espen MjΓΈs. Demo photos in docs/screenshots are from Unsplash under the
Unsplash License.







