Published our space: https://huggingface.co/spaces/build-small-hackathon/vivamais
Phase 0 built the project skeleton with uv, ruff, mypy, and pytest, plus the framework free domain core (Money, Customer, Trip, Payment, Message, Document entities and PipelineStage/MessageKind enums). We added application ports as typing.Protocol interfaces, deterministic mock adapters for offline testing, a WhatsApp chat parser handling multiline messages and media placeholders, and a config driven adapter factory wired through a composition root in app.py.
Phase 1 delivered four core use case interactors: the CrmCardInteractor for structured customer cards, PaymentReconciliationInteractor for total paid and outstanding balance, PipelineInteractor for pipeline stages and next actions, and TripSummaryInteractor for Portuguese summaries and .ics calendar files.
Phase 2 tied everything together with a BuildCrmCard orchestrator and CRM presenter, then added DocumentTrackerInteractor for passenger document readiness, DraftReply for in voice reply generation, and DashboardInteractor for cross customer aggregation and search. All 107 tests pass across 8 passing Gherkin scenarios.