Case study

ActiveBlock

A systems-oriented full-stack build: Rust Rocket API boundaries, Flutter client integration, and Docker for reproducible local setup.

Role
Backend + integration
Stack
Rust • Rocket • Flutter
Demo
Add video link

Problem

Multi-client apps fail when API contracts are inconsistent and environments drift. This needed predictable API responses and reproducible dev setup across machines.

Solution

  • • Built Rust Rocket endpoints with clear request/response shapes.
  • • Centralized Flutter API handling so errors + parsing are consistent.
  • • Dockerized the workflow for reproducible local setup.

Architecture

Docker
  ├─ Rust Rocket API (service)
  ├─ Database (optional)
  └─ Flutter client (connects to API)

API design goals:
  - predictable error shape
  - consistent response envelopes
  - centralized client parsing + retries

Hard parts (senior signal)

  • • Predictable API boundaries: consistent envelopes and error shapes for client stability.
  • • Flutter integration: single client module for auth/errors/json parsing to avoid duplicated bugs.
  • • Docker reproducibility: one command brings up consistent local environment.

Key features

  • • Rust Rocket API endpoints
  • • Typed-ish response handling patterns
  • • Flutter client integration
  • • Dockerized dev workflow

Demo script (Loom-ready)

  1. Run Docker compose and show services up.
  2. Hit a Rocket endpoint and show consistent response shape.
  3. Open Flutter app and demonstrate API call.
  4. Show how errors are handled centrally.
  5. Explain how Docker prevents “works on my machine”.
Let’s build a product users trust.
I ship AI features with predictable UX, clean API boundaries, and systems that hold up under real usage. If you’re hiring for AI Product Engineer / Full-Stack (AI Products), let’s talk.