Seed Library Platform for a Portland Nonprofit Network
Designed and built a clickable librarian console for a nonprofit network of 25 community seed libraries in Portland, Oregon: heritage seed lots with germination history, a germination tray queue that quarantines failing lots, and a returns intake that checks saved seed for crossing risk before it rejoins the collection.
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, seed lots, lot detail with germination history, the germination test queue and returns intake with the return check. Every one of the 26 demo lots opens its own lot page.
Completing a test below the threshold (60% for carrots) moves the lot to quarantine and lists its packets for pull-back. Release stays disabled until a passing test later than the quarantine date, and lots are due a retest every 12 months.
Each with its pollination type, isolation distance from 3 m for beans to 500 m for carrots and kale, alternatives such as bagging or hand pollination, minimum plants for seed saving and its own germination test method.
18 heritage and open-pollinated varieties, 25 branches, 18 germination tests across every stage, 16 member returns and 5 upcoming swaps, workshops and cleaning sessions.
Filbert Hollow grew from three drawers of envelopes to 25 branches in eight years, and its records did not keep up. Each branch kept a paper sign-out binder, germination results lived in the seed steward's spreadsheet, and packets went out with hand-written labels that often had no test date. Fewer than one in five borrowers brought seed back, nobody could tell which lot returned seed came from, and twice a season a drawer of poorly germinating seed had to be thrown out after members complained.
Seed Circle follows every batch of seed from arrival to the last packet. Each lot carries its germination tests against the threshold that applies, the tray queue quarantines a lot the moment it fails, and returned seed is checked against the network's isolation guidance and the member's own grow log before it becomes a new lot.
A seed library lends living material for free and asks for it back a season later. Whether that seed still grows, and whether it is still the variety on the label, depends on how it was stored, tested and grown by people the library never sees.
Test results sat in one spreadsheet that branches never saw, so packets went out from lots whose seed had aged past a useful germination rate. Members found out only when nothing came up, and whole drawers had to be discarded.
When seed came back, there was no link to the lot it was borrowed from, how many plants it was saved from or whether a squash grower had kept varieties apart. Insect and wind pollinated crops cross easily, so unchecked returns could quietly change a variety.
Most US state seed laws require a label with variety, lot, germination percentage and test date, and whether Oregon's applies to a free library still needs confirmation with the Oregon Department of Agriculture. The network chose to label every packet as if it did.
Two rare family varieties were down to a single jar with no one growing them out. At the same time the network must not accept PVP-protected, patented or F1 hybrid seed, or anything on Oregon's noxious weed list.
Mapped 7 roles from network coordinator and seed steward to branch librarian, volunteer, steward grower, member and public visitor, and 41 screens across the librarian console, a mobile-first member app and a public catalogue. Defined the data model for varieties, seed lots, germination tests, packing runs, branch stock, borrowings, grow logs, returns, stewardship and seed policy, and wrote down the rules the design follows: state seed labelling, the Federal Seed Act, plant variety protection, the noxious weed list, the Oregon Consumer Privacy Act and COPPA.
Built 5 key screens on a production dashboard kit: the dashboard with lending KPIs, needs-attention list, lending by crop group and branch stock map, seed lots with status counts and test age, lot detail with quarantine, release, discard and a germination chart against the threshold, the germination queue with the tray panel that calculates pass or fail, and returns intake with the return check, crossing risk callout and minimum-grams warning. All actions run on local state.
The member app and public catalogue, packing runs with label printing on Zebra or Brother printers, SIP2 library card checks against each host library's ILS, Postmark email and Twilio SMS reminders, Cloudinary photo storage for grow diaries, a Mapbox branch map and NOAA frost dates. Staff auth by role, an append-only audit log for quarantine, release and member record views, English and Spanish content, and legal confirmation of the seed law and privacy points before launch.
The lot page shows the latest germination, the threshold that applies with its policy version and the test age, with a line chart of every test against the threshold line. The steward sees at a glance whether a lot is fading, not just whether it passed last time.
The tray panel calculates germination from the counts and shows pass or fail before saving. A failing test quarantines the lot and lists its packets for pull-back, so no one has to remember to stop lending it.
The return check compares the member's declared isolation with the network's guidance for that crop and lists any other varieties of the same species in their shared grow log. A squash return isolated by 25 m, against guidance of 400 m or hand pollination, is flagged high.
Isolation distances, minimum plants and thresholds are the network's own policy, set in settings and labelled as advice, never as legal rules. Borrowing records are treated like library circulation records, private to the member and visible only to staff who need them.

Designed and built a clickable registry and monitoring platform for a Belize forest carbon developer: every community forest project with its boundary and methodology, satellite forest-change alerts triaged to ground-truth, and issuance requests that only create serial numbers after a four-eyes check against verification, consent and double counting.

Designed and built a clickable hive monitoring console for a beekeeping cooperative in Maribor, Slovenia: alerts from hive scales and climate sensors, notifiable disease cases up to the handoff to the official vet, honey intake with withdrawal and disease checks, and a batch trace from every jar lot back to the hives and members behind it.
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