01 · The challenge
What needed solving
An investigation team needed a fast way to capture, structure and share findings on suspicious blockchain activity — wallets, transactions, counterparties. Exporting evidence to share with compliance or law enforcement was being done as screenshot bundles, which was slow and not court-ready.
02 · Our approach
How we framed the work
We started with a discovery sprint to map the user journey, business goals and real constraints. From there we wrote a fixed-scope plan: clear milestones, weekly review gates on a staging URL, and a written exit criterion for every phase. The blockchain space rewards teams that ship — not teams that plan — so we biased the engagement towards working software from week two onward.
03 · The solution
What we built
We built a Next.js 14 (App Router) TypeScript application deployed on Vercel. The /app/admin surface is gated for analysts, server-side API routes handle data fetches with zod-validated inputs, React Context manages shared investigation state across the dashboard, and PDFKit generates structured PDF reports on demand with consistent formatting suitable for hand-off to compliance teams. Tailwind drives the UI; the build is TypeScript-strict with a dedicated typecheck script.
04 · The results
What changed for the client.
PDF evidence packs generated in one click — no more screenshot bundles
Zod-validated API surface catches malformed inputs before they reach the data layer
Vercel-hosted with sub-second TTFB on App Router server components
Tech stack
Want a similar outcome for your business? We'd love to hear about it.