All projects
  • Beta · Google Play

Viterbi

The only infinite-canvas ink and handwriting app on Android: smooth vector strokes on a surface that never runs out of room. Now in beta on Google Play.

The Viterbi Ink canvas library on a tablet: folders of handwritten canvases.
The Viterbi Ink canvas library on a tablet: folders of handwritten canvases.

Stack

  • Kotlin
  • Jetpack Compose
  • Android
  • Canvas / Graphics
  • Vector ink

What I built

  • A pressure-aware vector ink engine: strokes are stored as resolution-independent paths, so handwriting stays crisp at any zoom on an effectively infinite canvas.
  • Built natively with Jetpack Compose and a custom Canvas/graphics pipeline, with pan, zoom, and low-latency stroke capture tuned for stylus input.
  • Ships with 12+ pressure- and tilt-aware brushes, PDF import and annotation, and nested folders. Fully offline, so canvases never leave the device.

The colour wheel

Colour is picked from a full wheel rather than a dropdown. Swatches are grouped by hue around the ring and shaded across it, every one of them named, with the current colour and an eyedropper at the centre. Palette covers the common case, and Precise is there for when a specific value is needed.

The Viterbi Ink colour picker open on a tablet: concentric rings of named colour swatches arranged by hue, the current colour and an eyedropper at the centre, and Palette and Precise modes labelled beneath.