04 Selected projects
Things I built end to end, from the enclosure to the API. The six below are mine alone
— designed, written and operated solo, and live right now.
sartrainer.org · free
A simulator for the job I do in the field: running a search. An LLM writes the
missing-person scenario, then the subject actually moves — erratic paths bounded by
their profile’s movement limit, rivers and urban edges as hard barriers, trails
followed as a walkable graph. You draw segments on real OpenStreetMap terrain, task ground,
dog, ATV, rope and swiftwater teams, balance POA against POD, and get an AI-written
after-action review. English and French.
ReactMapLibre GLPostGISLLMDocker
dronedot.nobrega.com.br · open source
Puts the aircraft on the same map as the ground teams. An Android app for the DJI RC Plus 2
controller: it reads the drone’s GPS through DJI Mobile SDK V5 and reports it to a
CalTopo Team as a live Shared Locations beacon, every five seconds by default. Latest fix
wins and nothing is queued — a search map must never show a stale position — and
a foreground service keeps the beacon up through a dimmed controller. No camera, no gimbal,
no flight control; the whole payload is id, lat and lng.
KotlinAndroidDJI MSDK V5CalTopo APIApache-2.0
bchunt.ca · offline-first
Answers one question for hunters in British Columbia: what is legal to hunt, where I am
standing, on this date. Seasons, bag limits and limited-entry draw odds for every management
unit — with the boundary geometry, the regulations and the legal-light calculations
all on-device, so it still works where there is no cell service. Point-in-polygon over an
R*Tree index, a PMTiles basemap, and a dependency-free Dart sun and moon engine. Datasets
are Ed25519-signed and update over the air. No accounts, no ads, no tracking.
FlutterDrift / SQLitePMTilesGeospatialPWA
trajex.nobrega.com.br · iOS, free
Exterior ballistics for rifle shooters and handloaders, with the physics left visible.
Two named solvers instead of one black box — a Modified Point-Mass integrator for
quick range cards, and a full 6-degree-of-freedom rigid-body solver for load study —
and both can be overlaid on one chart to show where the simplification stops holding.
Coriolis and spin drift fall out of latitude, azimuth and bullet spin rather than a toggle
you forget; atmospherics come from Open-Meteo at your GPS position, or by hand. Ships with
1,279 projectiles across 15 manufacturers and the C.I.P. dimensional sheets for 405
cartridges. Everything stays on the phone — no account, no ads, no telemetry.
FlutteriOS6-DoF physicsOpen-MeteoLocal-first
sdrescue.nobrega.com.br · open source
Gets deleted photos, videos and audio back from FAT SD cards, without the adware the
free recovery tools ship with. Image first, never touch the card again: a byte-for-byte
copy with per-sector retries and a SHA-256 log, then everything runs on the copy. Deleted
entries are undeleted with their real names — the lost first letter brute-forced
back from the long-name checksum — and a two-pass carver finds 15 formats by content
after a reformat. When new photos overwrite an AVI’s header, it finds the surviving
frames and rebuilds a playable video. One 1.5 MB binary for Windows and Linux.
RustFAT12/16/32File carvingWindows raw I/OMIT / Apache-2.0
evistormusic.com
The administrative half of running a band, in one place: song catalogue, shows, members and
the tasks nobody remembers to pick up, plus a public profile page for the bands that want
one. Next.js with Google and Microsoft sign-in, self-hosted behind Caddy on infrastructure
I run rather than a platform I rent.
Next.jsNextAuthOAuth SSOSelf-hosted
2019 — Present
Fresh Water Data Commons
A Canadian initiative digitising strategic water bodies to give a real-time view of ecosystem
health. I was firmware engineer for the sensors and LPWAN engineer for the network —
deploying the LoRaWAN estate and the software stack that integrates it with backend systems.
FirmwareLoRaWANIntegration
2018 — Present
Astra AirSafe
An ultra-low-cost industrial smoke sensor, developed from hardware through firmware. 56 grams,
a reading every three seconds, temperature and particulates. Enclosure designed and 3D-printed
in-house; firmware and API in Lua; backend on AWS.
HardwareLuaIIoTAWS
2013
Private cloud migration
Moved an entire physical fleet onto a private cloud in four stages: iSCSI storage cluster,
XenServer cluster, virtual machine build-out, then service cut-over. This is the migration
that produced the cost and capacity result above.
XenServeriSCSIMigration
1997
First Beowulf cluster at UNESP Bauru
Built to run chemistry simulations: Linux nodes, NFS and NIS+ for shared files and accounts,
a batch queue manager for scheduling, and a MOSIX single-system-image lab alongside it. The
machines are long gone; the habit stuck.
HPCLinuxMOSIX