PocketSlicer

Under the hood

A Kotlin Android app on top of a native C++ slicer pipeline.

PocketSlicer keeps the UX native and the heavy geometry work close to the metal. The result is a touch-first workflow that still respects the real mechanics of slicing.

Jetpack Compose UI

Home, workspace, settings, profiles, progress, result, and legal surfaces tuned for phones.

Kotlin domain + Room

Slice config, project persistence, profile repositories, and workspace session state.

JNI bridge

Primitive-only crossings keep the native boundary narrow and maintainable.

Native slicer core

STL and 3MF loading, plane-sweep slicing, walls, infill, support logic, and G-code writing in C++17.

Why native matters

Geometry processing, path generation, and export stay local and performant without leaning on a remote engine.

Why Compose matters

The app keeps Android UI conventions, Material 3 structure, and fast interaction loops instead of embedding a desktop shell.

Why OpenGL matters

The same viewport handles model rendering and sliced layer visualization, which keeps the preview flow coherent.

Why local storage matters

Recent plates, selected presets, slice summaries, and export locations remain on the device through Room-backed persistence.

Product honesty

The technical story stays grounded in what the app already does well.

The site makes it clear that PocketSlicer is already capable and end-to-end, while also acknowledging that advanced desktop-class features like multi-extrusion, seam painting, adaptive layers, and more sophisticated offset logic remain future work.