cd /news/artificial-intelligence/sealing-the-sighting-verifiable-bird… · home › topics › artificial-intelligence › article
[ARTICLE · art-149284] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Sealing the Sighting: Verifiable Bird Records from Nairobi, Powered by Gemma

A developer built Vickrey, an offline, open-source field journal that uses the open-weight Gemma model (gemma3:4b) to suggest bird identifications which the observer then confirms or corrects before sealing the entry in a tamper-evident log. The project, submitted for Hacktoberfest 2026 Week 1, chains confirmed sightings into a ledger so that later edits crack the seal and block syncing until the original is restored, and was field-tested in a Nairobi park where it identified a robin. The developer notes the suggestion ran on a self-hosted server and the ledger was simulated, with 78 Node tests and 54 ledger tests including a tamper test.

by read4 min views1 publishedOct 11, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass I'm from Kenya, where birdwatching is a beloved pastime. BirdLife International's country profile counts about 1,059 bird species here, 49 of them globally threatened and 10 found nowhere else. Kenya also sits on the African-Eurasian flyway, so roughly 170 species arrive each year from Europe and Asia, according to reporting on a UN migratory species report.

Thousands of people already watch these birds, and what they see is valuable: where a bird was, on what day, in what numbers. But most of it lives in notebooks, WhatsApp groups and memory. When a record does get shared, there's no easy way to know whether it was changed afterwards.

Vickrey is a field journal that makes sightings verifiable. You take a photo, an open-weight model suggests what the bird is, and you confirm or correct it, because the observer's judgment is the record. Then you seal the entry. If anyone edits it later, the seal cracks, and the journal refuses to sync until the original is restored.

The goal is crowdsourced insight you can trust: many ordinary birders contributing to a shared picture of how birds move, without needing to trust whoever holds the spreadsheet. Identifying a species and preserving what the observer actually recorded are different problems, and Vickrey is built around the second.

It's for birders, field naturalists and small survey groups. The screen should be the shortest part of the experience: look up, snap, confirm, seal, keep watching.

Did it get me outside? Yes. I took it to a park in Nairobi and used it to identify a robin. It was one bird, an easy and well-photographed one, so it says little about how the model handles harder Kenyan species. The suggestion ran on my own server and the ledger was simulated, as the video says. What I can say is that the loop worked in the field: photo, suggestion, confirmation, seal, with very little time spent looking at the phone.

What you're seeing, and what you're not:

A sealed bid on what you saw. Vickrey is an offline, open-source AI field identifier with a tamper-evident ecological logbook — for

Hacktoberfest 2026, Week 1: Touch Grass. The name is the metaphor: Vickrey is named for William Vickrey's sealed-bid auction — a mechanism that makes truth the winning strategy. We point the same mechanism at the world: your phone seals what you saw, the network countersigns it, and tampering cracks the seal. See

docs/BRAND.md. The vision: point your phone at a bird, a plant, or a fall tree with no signal. An open-weight model running on the device names what you saw Vickrey signs the observation, chains it into a tamper-evident log, and — when you are back in range — anchors the commitment to a shared ledger. The result is a field record you can later prove nobody…

Disclosure under the new-project rules: the repo began on October 6. I reused the ledger and incident-evidence explorer from an earlier project, Veles. The older explorer is still running at http://45.76.242.245/ and is not the new field client. What's new this week is the field client, the human-review step, the persistent journal, and the outbox.

The path of one sighting:

gemma3:4b, an open-weight Gemma model on my own server, which proposes an identification. The suite has 78 Node tests and 54 ledger tests. The test I trust most is the tamper test: edit an entry, watch it get refused, restore it, watch it pass.

The bug that taught me the design. With storage tight on my devices, I was running everything simulated on one server. After the first successful sync, the screen said "VERIFIED, but 0 sealed." The queue had emptied, and the observer's sighting had vanished from the UI. The sync had worked, and it looked like it had eaten the record.

The mistake was mine: the outbox was doing double duty as the journal. An outbox is meant to drain once its contents are delivered, so when it emptied, the observer's own record went with it. In a project about not losing what an observer recorded, that is exactly the wrong failure.

The fix was to split them. The journal is durable and signed, and it only grows. The outbox is disposable and drainable, a to-do list for sync rather than a place where records live. Syncing now empties the outbox and leaves the journal untouched. The reasoning is written at the top of journal.js.

For birdwatching in Kenya, openness isn't a nice-to-have. There is a local organisation to build with, too: Nature Kenya is BirdLife's partner here and works on 69 Important Bird and Biodiversity Areas, covering about 12% of Kenya's land. Verifiable community sightings from those sites are the kind of data conservation work can use.

For scale beyond Kenya, GBIF's 2025 guide to publishing survey data describes more than 3 billion occurrence records from roughly 2,300 institutions. That's context for how big biodiversity data is, not a claim about Vickrey's market or about gaps in those records. What I haven't done: run inference on the phone itself. Offline, on-device identification, which is what a trail with no signal needs, is the next step, not a result I'm claiming.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @vickrey 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/sealing-the-sighting…] indexed:0 read:4min 2026-10-11 · —