Back to projects

Open-source npm package

React Native Draggable Pan Pinch

A React Native component for draggable, pannable, pinch-to-zoom, and optional rotation gestures.

Timeline

2025.03 - Present

Role

Package author, API design, gesture implementation, documentation, and npm publishing.

Outcome

Packaged reusable mobile gesture behavior into a public npm library that other React Native apps can install.

React NativeTypeScriptGesture HandlerReanimatednpm

The product problem.

Mobile products often need direct manipulation for images, documents, maps, and diagrams without rebuilding gesture behavior from scratch.

The decision

Expose a small wrapper component with configurable gesture limits, action buttons, and state callbacks instead of forcing consumers into a rigid viewer UI.

The hard part

Combining pan, pinch, and optional rotation meant keeping gesture state predictable while still allowing flexible content inside the component.

What I owned.

Package author, API design, gesture implementation, documentation, and npm publishing.

Designed the component API around common viewer use cases such as images, documents, maps, and diagrams.

Implemented pan, pinch-to-zoom, optional rotation, reset behavior, and action button customization.

Published the package to npm with installation notes, usage examples, and prop documentation.

What changed.

Packaged reusable mobile gesture behavior into a public npm library that other React Native apps can install.

Created a reusable package for adding mobile direct-manipulation gestures.

Made gesture-heavy React Native interfaces faster to prototype and integrate.

Continue with

Aivoes

Invoice capture, OCR workflows, and accountant dashboards for finance teams.