Medical escort reporting app
Flagship
A local-first Android app carried by medical escort crews on long-haul cases, built for the assumption that there is no network and no second attempt at the record.
Case data is authored offline on each device and reconciled through a conflict-aware sync layer, so several crew members can work the same case at 38,000 feet and land with one coherent record rather than three competing ones. Everything is encrypted at rest under AES-256 with a hardware-backed key held in the device's secure enclave, including a transparent migration that re-encrypted existing plaintext installs in place, with no data loss and nothing for the user to do.
Shipped as a React Native / Expo build: over-the-air JavaScript updates for same-day fixes, full EAS native builds when the runtime moves, distributed through Play internal testing. Each case closes out as a signed, paginated PDF.
react nativeexpo / easlocal-firstconflict resolutionaes-256secure enclaveota updates
Portfolio and shop for a working painter. Every piece gets its own route with structured data attached, so individual works surface correctly in search rather than hiding inside a gallery. Responsive image handling keeps high-resolution scans fast on a phone, and checkout takes a visitor from browsing to paid without forcing an account. On the other side, the client can add a piece and see it live without learning a dashboard.
static siteschema.orgresponsive imagesstripe checkoutcore web vitals
Embedded telemetry
Ongoing
Instrumentation for environments where nothing is guaranteed — no network, unreliable power, and one chance to capture the run.
MicroPython on RP2040-class hardware, sensors on an I²C bus, SPI-attached storage with write paths hardened against sudden power loss, and low-power e-ink for status you can read at a glance. Elsewhere in the same family: a LoRa mesh of sensor nodes bridged to MQTT, and a small fleet of software-defined radio receivers feeding public aggregators — the lot watched by push-based uptime monitoring that complains before I notice.
micropythonrp2040i²c / spilora meshmqttsdre-ink