

István Juhos
Staff Android Engineer
Spoke

Staff Android Engineer @ Spoke; Co-organizer of Android Budapest
Paths, Polygons, and Donuts - Building a Freehand Drawing Tool for Maps
Session
At Spoke, we build last-mile delivery tools for drivers, dispatchers, and retailers. One of our features lets drivers guide our route optimizer by grouping and ordering their stops with freehand lassoing. The first drawing tool only supported creating and undoing groups. Our users needed more control, so we built them a proper polygon editor.
In this talk, I'll share how finger-drags can become polygons on a map, and we'll dive into the tricky bits of editing them: self-intersecting loops, polygons with holes, and the machinery that decides which stops belong to a group. I'll cover finicky edge cases we caught, fixed, and screenshot-tested before release. There will be donuts!
By the end of the talk, you'll have a better grasp on:
- Turning freehand drawings into map polygons with Path and Path.Op
- How fill rules make or break boolean path operations
- Verifying drawing and grouping logic with screenshot tests
- How the same feature looks on iOS and why we stayed native for now
