Project /2026
Trámite.js
Forms with intention: 19 React form controls that guarantee every piece of data entered was truly meant.
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.
Images
-
“Trámite completo”: the registered application and its credential.
-
ClockworkTime: the time is set with a wind-up clock.
-
ElevatorSelect: the options are an elevator’s buttons.
-
PneumaticMultiSelect: multiple selection travels through pneumatic tubes.
-
WhisperedRecovery: password recovery is requested in a whisper.