Back to work

Project /2026

Trámite.js

Forms with intention: 19 React form controls that guarantee every piece of data entered was truly meant.

Live demo Library author
Trámite.js catalog home, with the title “Formularios con intención”, a “Verificado” stamp, the list of the 19 components, the “Trámite completo” demo card and the installation instructions.
The catalog: tagline, 19 components and the integral demo.

What it is

Trámite.js is a React component library that guarantees every piece of data entered was truly meant. Each control asks for a deliberate action: it is turned, dragged, pulled or handed over, never confirmed by accident. It keeps the same API as the usual controls, and its look evokes a luxurious 1980s bureaucratic city hall, in midnight blue, brass and paper.

What it does

  • 19 controls with direct manipulation: ShotConfirm, SlingshotUpload, EvasiveCheckbox, ElevatorSelect, RotaryNumber, BreakerSwitch, TearOffDate, ClawInput, BallotRadio, RecursiveCancel, GestureCaptcha, CounterweightRange, PneumaticMultiSelect, ClockworkTime, PigmentColor, CarbonCopyEmail, RegisteredReset, DeweyCombobox and WhisperedRecovery.
  • The same API as the usual controls: value, onChange and onConfirm.
  • Accessible by keyboard and screen reader, and respectful of prefers-reduced-motion.
  • An integral demo, “Trámite completo”: enrollment in the Mi Municipio program, with a credential and benefits based on the fees joined and citizen participation.
  • Requires React 18 or later. It is not on npm yet: install it with npm install github:cheycron/tramite.js.

What I did

  • I designed and built 19 form controls with direct manipulation, each with its own mechanic to confirm the value was meant.
  • I kept the familiar API (value, onChange and onConfirm), so they can be adopted without rewriting existing forms.
  • I made them accessible by keyboard and screen reader, and they respect prefers-reduced-motion.
  • I built the catalog, with one page per control, and the “Trámite completo” integral demo.
  • I covered them with 1,890 tests and released version 0.2.0 as open source under the MIT license.