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
A documented watch collection, and a project of my own. Every piece has its own page carrying a specification and a dated record that grows — acquired, serviced, re-strapped — rather than a description written once and left alone.
The writing and the objects cross-reference each other automatically: name a watch in a post and that watch's page grows a link back, while a reference to something that does not exist fails the build rather than shipping a dead link. Photographs are processed into responsive WebP with EXIF stripped, and anything that could be used to forge papers for a stolen piece — case and movement numbers — is redacted before publication.
static sitepython generatorschema.orgresponsive imagesrsscloudflare pages
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.
Read the flight log → — a cabin-pressure
logger flown on eight sectors, airliners and a business jet: cabin altitude, oxygen and turbulence against the
airframe's own track, the ways it failed, and how a clock that lied was caught against ADS-B.
micropythonrp2040i²c / spilora meshmqttsdre-ink