← Blog

How we built RESILAND in 5 days with Opus 4.7

Five days. One developer. One brand-new Opus 4.7. Here is the sprint-by-sprint story of how RESILAND Intelligence shipped to production in time for the Cerebral Valley hackathon.

İlhan Kılıç· 26 Apr 2026

Five days. One developer. One $256M World Bank program with no AI tooling. One brand-new Anthropic model just out of preview. The Cerebral Valley × Anthropic "Built with 4.7" hackathon ran from April 21 to April 26, 2026 — and we shipped a production deployment of RESILAND Intelligence by Day 2, then spent the rest of the week deepening it.

The bet

The pitch was simple: every Phase-4 feasibility study for a forest-restoration parcel takes a field consultant four to six weeks. With Opus 4.7 reading nine real World Bank reference reports, could we get that to two minutes — with citations the consultants themselves would recognize?

The answer is yes. The deeper answer is "yes, and here's what makes it tick".

The architecture, in five sprints

  • Sprint 0–1 (Day 1). Foundation: FastAPI + PostgreSQL/PostGIS + Redis + MinIO + Next.js 14. Ingested 3,563 cadastral parcels into PostGIS, set up the parcel viewer, plugged in Carto satellite tiles. By midnight we had a clickable map.
  • Sprint 2 (Day 2). NDVI, climate, the first feasibility report. Opus 4.7 drafting nine sections in 2–3 minutes with prompt caching. Pushed to resilland.com, behind nginx + Let's Encrypt, alongside an existing project on the same VPS.
  • Sprint 3 (Day 3). Multilingual UI (EN/TR/RU/UZ) and Web-Speech-driven voice input. Section-by-section translation via the P3 Managed Agent.
  • Sprint H (Day 4). Multi-tenant: organizations, role-based invitations, layer sharing across orgs, the 5-step setup wizard with Fernet-encrypted credential storage. The "clone, paste keys, ship" promise became real.
  • Sprint R + MA (Day 5–6). Reports lifecycle (drafts, finals, translation siblings linked by analysis_group_id), the MCP server published to PyPI as mcp-resilland, the WhatsApp bot at +90 535 374 99 71, and the 15 Managed Agents (1 env + 7 primary + 8 specialist).

What Opus 4.7 made viable

Three capabilities mattered, in order of impact:

  1. Long-context survival. A 30-page WB Phase-4 PDF + a Sentinel-2 RGB tile + cadastral GeoJSON in the same request, with section-level citations that don't drift. Earlier model classes lost the thread by page 10.
  2. Adaptive thinking. Setting "thinking": {"type": "adaptive"} let Opus self-modulate — instant for "list nurseries near oblast X", deep chain-of-thought for "is this 412-ha parcel suitable for Pistacia vera given the 2024 NDVI trend?".
  3. Prompt caching. ~35K tokens of grounding context (program brief + nine reference reports + cadastral schema) re-used per draft. Without caching: ~$1.20/report. With caching: ~$0.14. That's the gap between "demo-only" and "feasible to leave running in prod".

The honest part

Three things we'd do differently with a sixth day:

  • RQ-backed background translation. Right now closing the tab cancels a 3-minute translate. The queue is designed; we ran out of clock to wire it up.
  • Flip the Managed Agents flag ON in production. The 15-agent path is implemented and tested (9/9 contract tests green for P2), but it costs ~3× the inline cascade and we wanted the demo on the cheap, stable path.
  • Pixel-perfect mascots on every page. The 3D mascot is gorgeous on the landing page; on /app it's still flat 2D.

The whole stack is open-source under Apache-2.0 — clone the repo, run scripts/setup.py, paste in your own Anthropic key, and you're live. The Q2 / Q3-Q4 / Moonshot kanban spells out what's next.