Amosix is a native Android engine that brings studio-quality GeoLayers flyovers to mobile. Render directly on your phone's GPU and export smooth 60fps MP4s with 180° motion blur.
Explore full 60fps video demonstrations of keyframe timelines, self-drawing routes, GeoJSON conquest fills, and hardware video export.
Pan, zoom, 0-360° bearing, and 0-60° tilt controls. Camera travels along Catmull-Rom splines with Smooth, Linear, Ease In/Out, or Hold pauses.
Long-press waypoints to drop route nodes. The polyline path draws itself smoothly across the map terrain during flight with an animated lead marker.
Highlight countries, states, or custom region bounds. Apply animated color fills and stroke outlines over MapTiler satellite imagery.
MapSnapshotter passes GPU frames directly to MediaCodec H.264/H.265. Render 720p, 1080p, or native 4K 60fps directly to `Movies/MapAnimator`.
Here's how the planned AI feature will work. No timeline editing required — choose the places you want to travel between, and Amosix plans the camera path, framing, and pacing for you. Fine details like tilt and rotation stay in your hands. The panel below is a visual demonstration of the concept.
Static mockup — the live generator arrives in closed beta. Buttons above are for illustration only.
When you pick a route and a style, Amosix sends your selections to a foundation model on AWS Bedrock. The model returns a structured animation plan — camera keyframes, waypoint order, zoom levels, bearings, and pacing — which our native MapLibre and MediaCodec engine renders into your final 60fps MP4.
This feature is currently in development and will roll out during closed beta.
Pan, zoom, tilt (0-60°), and rotate (0-360°) using precision sliders or multi-touch gestures to frame the scene.
Keyframes interpolate along Catmull-Rom splines with custom easing (Linear, Smooth, Ease-In/Out, or Hold pauses).
Self-drawing polylines with lead markers and GeoJSON boundary fills map directly onto frame projections.
Offscreen MapSnapshotter passes frames directly into MediaCodec and MediaMuxer, saving MP4s to Movies/MapAnimator.
Extracted directly from our Android repository (com.amosix.mapanimator) for technical review, demonstrating real low-level hardware integration and zero mock implementation.
Amosix is built from the ground up on the MapLibre GL Native SDK (v11.5.2), taking advantage of C++/OpenGL vector tile rendering and extensive style customization:
com.amosix.mapanimator)The Android application is structured into isolated, testable Kotlin packages designed for high-performance offline animation processing:
com.amosix.mapanimator.timeline: Controls keyframe state vectors, Catmull-Rom spline calculations, and timeline scrubbing logic.com.amosix.mapanimator.export: Manages offscreen MapSnapshotter FBO rendering, deterministic stepping clocks, and MediaCodec H.264 video encoding.com.amosix.mapanimator.overlay: Handles GeoJSON polygon boundary parsing, dynamic polyline progress calculation, and animated marker placement.Standard screen recorders suffer from UI stutter and tile loading pop-in. Amosix bypasses the Android View hierarchy using a hardware-isolated render loop:
1 / TargetFPS (e.g., 16.66ms for 60fps), completely decoupled from real-time execution speeds.onSnapshotReady event to guarantee all vector geometry and raster tiles are fully rendered before frame capture.To achieve cinematic fluidity during fast map flyovers, Amosix implements hardware multi-sampling without artificial post-processing filters:
Direct hardware video encoding pipeline utilizing native Android media APIs for maximal efficiency and low memory footprint:
MediaCodec input surfaces via hardware registers.Movies/MapAnimator storage using Android 10+ scoped storage APIs.