Product

Every tool a serious research team needs — and none of the ones it doesn't.

Six interlocking capabilities — designer, runner, sync, audio, GIS, Margin AI, analysis. Each one is built to do one thing well; together they replace a whole shelf of disconnected products.

The Designer

Build any instrument in a single canvas. Skip the spreadsheet schema dance.

Drag in field types from a palette. Edit labels in place. The inspector on the right surfaces the right properties for the field you've selected. No "form definition file" to learn.

  • Ten field types out of the box — short text, long text, single + multi choice, Likert (3/4/5/7-point), numeric, date, GPS point, photo, audio.
  • Auto-saved every keystroke. Versioned the moment you publish.
  • Old responses stay tied to the version they were collected on — your data history is never rewritten.
  • Multi-language and skip logic ship next.
Designer · canvas view
Q1 · Single choice · required
Which type of identity document do you primarily use?
Ghana Card Passport Voter ID Driver licence
Q2 · Likert · 5-point
Coordination between agencies is effective.
1
2
3
4
5
Q3 · Audio · max 30 min
🎙 Tap to record
Field runner · offline
📡 Offline since 14:22 12 forms saved locally
Q6 · Compound location
📍
Captured
12.00224, 8.59193 · ±8m
Back Submit response
Offline collection

Install once. Work for days without a signal. We won't lose anything.

The PWA is a real PWA — service worker caches the shell, IndexedDB stores responses locally, the Web Audio API records interviews even in airplane mode. Sync resumes the moment the connection comes back. Media uploads in chunks; partial transfers resume on reconnect.

  • Foreground GPS, photo + camera, audio recording (WebM Opus).
  • Per-record sync state visible to enumerator and supervisor.
  • Background sync where the browser supports it; otherwise, sync fires whenever the app regains focus.
  • Native Flutter Android app for heavy-field deployments ships next.
Sync engine

Append-only, idempotent, auditable.

Every response carries a client-generated UUID. Re-uploading the same UUID is a no-op — your sync is safe to retry, replay, or batch. Server side, every state change is logged for audit.

  • Bulk POST endpoint accepts up to 25 responses per request.
  • Per-enumerator bearer tokens — never store passwords on field devices.
  • Validation runs server-side against the locked instrument version. Bad records bounce back with a per-field error report.
  • Chunked, resumable media upload for photos and audio.
Recent syncs
a1b9-302e-4391…Accepted
c3d7-1f64-aa17…Pending
f5e2-9001-7e3b…Syncing
b22a-acdb-5512…Already synced
9f0c-bbe1-c084…Validation
Margin · research AI

Marginalia, but the marginalia is intelligent.

Margin is named for marginalia — the scholarly tradition of notes in the margins of a text. She lives in the margin of your fieldnote, never replaces it. Brief, exact, and grounded in your actual data.

Summarise

Hand Margin a set of responses; get back a 2–4 sentence narrative with the themes and the response IDs it cited. No invented quotes.

Theme & code

Surface the recurring threads in open-text answers. Build a codebook collaboratively — Margin proposes, you confirm.

Draft & explain

Need an introduction paragraph, a methodology blurb, or a quick brief for a stakeholder? Margin drafts; you edit. Every claim is traceable.

I can't tell from these responses — you'd need to look at Q9 in the next cycle.
— Margin, when she doesn't have enough to go on. We trained her to say so plainly.
1M
Token context window — a whole study at once.
~3s
Median Margin latency on a short prompt.
Audit
Every prompt + reply logged for compliance.
Off-switch
Disable Margin per project for PII-sensitive work.
Response browser
IDRegionQ4Sync
a1b9…Greater Accra4OK
c3d7…Ashanti3Pending
f5e2…Northern2OK
b22a…Volta5OK
Analysis & exports

From raw rows to a printable report — without leaving the product.

Live dashboards built automatically from your instrument. Cross-tabs, filters, side-by-side quant ↔ qual views, and a map view for projects with location data. When you need to leave: export.

  • CSV, GeoJSON, SPSS, Stata exports.
  • Per-project archive containing instrument, responses, media, and audit log.
  • Direct write-through into your own Postgres + PostGIS database (Sovereign plan).
  • Conversational analysis via Margin — ask questions, get answers with citations.
Roadmap

Shipping in the open.

v0 is live. The next two releases are scoped and underway.

v0 — shipped

Designer, PWA + offline collection, sync engine, Margin AI, audit log, role-based access, public response links.

v1 — H2 2026

Map field types (polygon, line, track), audio transcription via Whisper, map-based analysis view, CSV/SPSS/Stata exports, billing.

v1.1 + — late 2026

BYO-database (Sovereign plan), Flutter Android app for heavy-field deployments, multi-language instruments, advanced skip logic.

Built for one specific outcome — research that ships.

Stop juggling. Pick a plan. Build your first instrument in twenty minutes.