Atropos banner

Atropos

1 devlog
4h 37m 57s

Atropos, an app that aims to provide a continuous rolling-buffer camera for Android with a modern Material 3 interface. Record everything, save only what matters. (Current release: v0.0.3)

This project uses AI

Used Gemini 3.1 Pro Preview for most of the boilerplate and initial implementation.

Demo Repository

Loading README...

animesh_varma

Shipped this project!

Hours: 4.63
Cookies: 🍪 64
Multiplier: 13.77 cookies/hr

Atropos v0.0.3 — The Rolling-Buffer Camera PoC!

As mentioned in my devlog, I am officially shipping the very first playable alpha of my new project, Atropos! You can grab the APK directly from the GitHub Releases page.

What did I make?
I built a continuous rolling-buffer camera app designed to act like a personal dashcam for your phone.

The Engine: A CameraX pipeline that continuously records and auto-deletes old 3-minute chunks in the background so your storage never fills up.

Eco-Mode: Because camera apps melt batteries, I built a feature that physically unbinds the screen preview after 1 minute of inactivity, plunging the screen into a true-black OLED power-saving mode while the camera keeps quietly recording.

Built-in Editor: A Media3 ExoPlayer interface that lets you scrub through your recent footage and instantly stitch/trim your desired clip using Media3 Transformer.

Hardware Polish: Integrated Camera2Interop to natively force Optical Image Stabilization (OIS), 10-bit HDR, and target FPS ranges directly from the Material 3 UI.

What was challenging?
Fighting Android’s media APIs to make the recording actually gapless! When one 3-minute chunk ends and another begins, Android usually drops 1-2 seconds of frames. I had to build an aggressive MediaCodec reconnection loop synced perfectly with VideoRecordEvent.Start to eliminate that gap.
Building the editor was also brutal. I had to map a global 6-minute timeline across multiple underlying MP4 files. To make scrubbing smooth without UI lag, I implemented dynamic seek swapping (it uses fast CLOSEST_SYNC while you drag the slider, but snaps to EXACT the millisecond you release it for frame-perfect cuts).

What are you proud of?
I am super proud of the “Virtual Cropping” logic! To give the user a perfectly seamless 6-minute editing window, the app actually maintains a 9-minute hardware buffer in memory. It hides the active chunk-deletion process entirely, so your editing timeline never jumps, drops, or glitches. Getting multiple independent video files to scrub and stitch as one continuous timeline was a massive win for me :D

đź”— Download Link: https://github.com/Animesh-Varma/Atropos/releases/download/v0.0.3/Atropos-v0.0.3-debug.apk

animesh_varma

I mentioned in my last Sigil update that I’d be dropping a brand new project soon… well, here it is! Meet Atropos!!

In Greek mythology, Atropos is the Fate who cuts the thread of time. I thought that was the perfect name for an open-source, continuous rolling-buffer camera! Think of it like a personal dashcam for your phone. You leave the app open, and it continuously records, auto-deleting old footage so your storage never fills up. When something cool happens, you simply cut and save the exact moment you need!!

This log covers the absolute birth of the app from an empty Activity to the v0.0.3 PoC Alpha!

What did I make?
I built out the entire core MVP pipeline across three rapid-fire versions:

v0.0.1 (The Engine): Built the CameraX rolling buffer and the Material 3 UI. Because leaving a camera app open melts your battery, I built Eco-Mode: after 1 minute of inactivity, the app physically unbinds the screen preview and plunges into a true-black OLED power-saving mode, while the camera keeps quietly recording behind the scenes.

v0.0.2 (The Seamless Illusion): Implemented the multi-chunk timeline. The app records in continuous 3-minute chunks.

v0.0.3 (Hardware Polish): Added Camera2Interop to bypass standard APIs and natively force Optical Image Stabilization (OIS), 10-bit HDR, and target FPS ranges. Also added a sleek M3 side drawer for quick toggles and pinch-to-zoom!

What’s next?
This is an early PoC Alpha (v0.0.3). The UI controls don’t currently poll hardware availability, so forcing 4K on a 1080p sensor will crash it. I’m moving to a standard Gitflow workflow next, fixing the hardware polling, and aiming for a stable v0.1.0 release soon, but there will definitely be more patch versions before the minor version.

Repo is public, but APKs are GitHub-only for now while I iron out the bugs and add more features!

[BTW the attached video gives a short demo of the app for you to see!]

0