Citizen Science Platform for a Cape Town Naturalists' Society
Designed and built a clickable staff console for a Cape Town natural history society and its university partner: every project's numbers on one dashboard, a verification queue sorted by age, and a workspace where experts agree, correct or reject each observation against the project's consensus rule, with sensitive species locations kept generalised.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, projects, project overview, verification queue and verification workspace. Each of the 9 projects and all 23 demo observations, species records and kit readings alike, opens its own page.
The workspace shows what the rule needs and what it has now: 2 agreeing identifiers, not counting the observer, including 1 expert, 67% agreement, to species. Machine suggestions are labelled and never count.
Observations turn amber after 14 days in the queue and red after 30, on the queue cards and in the dashboard's backlog per taxon group, so the oldest records get a verifier first.
5 project types from butterfly counts to river water kits, 23 observations, 18 taxa, 12 volunteers (3 under 18), 9 staff users, 5 upcoming events and 7 needs-attention items.
Silvertree and Kloofnek University coordinate about 25,000 volunteers, but each project ran on a different tool: a form app, paper tally sheets typed up months later, a WhatsApp group and an emailed spreadsheet. Experts verified by scrolling photo folders with no record of who agreed, threatened nest sites sat in a shared spreadsheet, school groups joined with no record of parental consent, and about a third of records were never verified.
Many Eyes follows an observation from a volunteer's phone through expert and community verification to research-grade data. Staff see every project and what needs a person today on one dashboard, verifiers work a queue for their own taxa, and each record is decided against the project's own consensus rule, with exact locations of sensitive species kept behind a permission.
Citizen science only works if thousands of volunteers can contribute easily and the result is still good enough for research, safe for threatened species and lawful for the children and adults whose personal information it holds.
Experts checked identifications in photo folders, with no record of who agreed with whom and no rule for when a record counts. Without a consensus rule per project, researchers could not tell a confident record from a guess.
Exact points for threatened or heavily collected species, such as some orchids and breeding raptors, can put them at risk. SANBI publishes guidance and a sensitive species list, and NEM:BA regulates threatened and protected species, so public and exported points have to be generalised.
Under POPIA a child is anyone under 18, and processing their information generally needs a competent person's prior consent. Adults who lead school groups or youth events should be checked against the Child Protection Register and the National Register for Sex Offenders first.
A 15-minute butterfly count on a 1 km route, a tree health survey, sky brightness in mag/arcsec² and river pH from a loaned kit each need their own fields and range checks. Inconsistent protocols, dates and locations had made most of the data unusable for the university.
Mapped 12 roles from volunteers, teachers and guardians to verifiers, data stewards and partner researchers, 43 screens across the volunteer app, teacher, verifier, staff and public pages, and the data model for projects, forms, training, observations, identifications, verification rules, sensitivity rules, consents and exports. Wrote down the rules the design follows: POPIA, children's consent, safeguarding checks, university research ethics, SANBI guidance, NEM:BA and GBIF publishing.
Built the staff and verifier console's 5 key screens on a production dashboard kit: the dashboard with KPIs, weekly observations by verification state, backlog per taxon group, needs attention and upcoming events; projects as cards or a table; the project overview with training pass rates and top verifiers; the verification queue with bulk agree; and the workspace for species records and kit readings. Agree, correct, reject and request more information all run on local state.
The mobile-first volunteer app with offline capture and on-device face blurring, teacher and guardian consent screens, and public results pages. Integration with Pl@ntNet and a self-hosted image model for species suggestions, the GBIF Backbone Taxonomy, GBIF IPT publishing through the South African node, photo storage in Cape Town, push, email and SMS. Staff auth by role and an append-only audit log.
Each workspace states what the project's rule needs and what the record has, such as "Needs 2 agreeing identifiers including 1 expert: has 0 agreeing, 0 expert", next to every human identification with who made it and when.
Image recognition results are shown with their scores and look-alikes, clearly labelled as not an identification. They help a verifier start, but they never count toward consensus.
Each record shows its public location and why it was generalised: a sensitive taxon, a young observer or the volunteer's own choice. The exact point stays locked behind Show exact point for staff with sensitive-data permission, and the view is recorded in the audit log.
Water and sky readings are compared with the expected range for the site, so a pH of 4.1 is flagged as out of range with the note that kit K-WQ-031 is overdue for calibration, before anyone accepts it.

Designed and built a clickable pre-award grant platform for a Prague research foundation: a dashboard of every call's stages, proposals with ORCID-verified teams and word-limited sections, eligibility checks that a person always confirms, and a panel meeting screen with anonymised reviews, weighted scoring and a funding line.

Designed and built a clickable library console for an Adelaide university's research data repository: a curation queue on working-day clocks, a review workspace that checks every deposit against a FAIR checklist before a DOI is minted, and an access workflow that routes restricted and sensitive datasets to the custodian, the data access committee or the community data authority.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab