Week 71: Stripe Connect, Price Book V2 & DDD Migration — Feb 28 – Mar 6, 2026
TL;DR: The biggest feature week in Exoserva history. Stripe Connect for contractor payouts, Price Book V2 with dynamic pricing and bundles, a 14-day trial system, customer domain DDD migration, Google Maps migration, and 15 releases from 1.7.0 → 1.9.3. 62 commits across the entire stack.
Highlights This Week
- Launched Stripe Connect for contractor payouts with billing application layer
- Shipped Price Book V2 with bundles, tiered pricing, dynamic rules, and audit trail
- Built 14-day trial system with tenant trial fields and automated trial worker
- Migrated customer domain to DDD (entities, commands, ACL, repository)
- Added 5 new frontend domain modules (address, billing, connect, developers, trial)
- Migrated maps to @vis.gl/react-google-maps with AddressAutocomplete
- Redesigned invoice modals with 5-section layout
- Fixed Cloud Run deployment pipeline (5 iterations)
- 15 releases: 1.7.0 → 1.9.3
Stripe Connect & Billing
Contractor payouts are now powered by Stripe Connect. The full billing application layer includes webhook handlers for payment events, an AI automation usage card tracking model costs, and subscription management fixes (timer display, empty upgrade modal, wrapped/flat response format handling).
Billing Stack
- Stripe Connect schema migration and webhook handlers
- Billing application layer with event processing
- AI automation usage card and cost tracking service
- Subscription timer fix (was always showing 14 days)
- Upgrade modal state consolidation
Price Book V2
A complete rewrite of the pricing engine. Price Book V2 supports service bundles, tiered pricing based on volume, dynamic pricing rules (time-of-day, seasonal, demand), and a full audit trail for every price change. Schema migrations create the new tables, and the service layer implements all pricing logic.
Key Features
- Bundles: group services with combined pricing and discounts
- Tiered pricing: volume-based rate breaks for recurring services
- Dynamic rules: time, season, and demand multipliers
- Audit trail: every price change tracked with who/when/why
Trial System
New tenants get a 14-day free trial. Trial duration constants, tenant-level trial fields, and an automated trial worker handle expiration notifications and grace periods. The trial columns migration adds the necessary schema support.
Customer Domain — DDD Migration
The customer module is the first to complete the full Domain-Driven Design migration. Customer entities, commands, the Anti-Corruption Layer (ACL), and the repository pattern replace direct database access. V1 customer routes removed in favor of V3 DDD handlers. Customer SQL queries rewritten for the production VIEW schema.
DDD Architecture
entities/— Customer aggregate root with value objectscommands/— CreateCustomer, UpdateCustomer, MergeCustomersacl/— Anti-Corruption Layer translating legacy ↔ DDD modelsrepository/— PostgresCustomerRepository with DDD interface- DB compatibility columns added to jobs, invoices, conversations
Frontend: 5 New Domain Modules
Five new domain modules added to the frontend, each with types, constants, and utility functions:
| Module | Purpose |
|---|---|
| address | Address validation, geocoding, formatting |
| billing | Subscription state, plan comparison, usage tracking |
| connect | Stripe Connect onboarding flow, payout status |
| developers | API key management, webhook configuration |
| trial | Trial countdown, upgrade prompts, feature gating |
Frontend: Components & UI
- New components: billing, pricebook, trial, developer, invoice components; AI panels updated
- Layout & landing: updated layout, landing page, customers, jobs, settings, chat components
- UI primitives: AddressAutocomplete, updated UI components; Google Maps migrated to @vis.gl/react-google-maps
- New hooks: useAIStatus, useBillingData, useConnectData, useLocationGeocode, useOpenAPISpec
Backend & Integrations
- AI: updated AI services, auto-respond utilities, compose route, data-driven scheduling
- Integrations: outbound delivery system, QuickBooks/Thumbtack/Twilio updates
- Voice: enhanced STT preprocessing pipeline, Docker compose updates
- API: auth, users, settings, health checks, SSE security, middleware refactoring
- Backend: business-days utility, fast data cacheTTL enhancements, DI container updates
Cloud Run Deployment Pipeline
Five rounds of debugging to fix revision activation:
1.8.3— Fix revision never activating1.8.4— Don’t exit on missing env vars1.8.5— Add detailed revision debugging1.8.6— Route traffic to latest revision1.8.7+— DB migrations and DDD compatibility
Invoice Modal Redesign
Complete overhaul with 5-section layout: header, line items, notes, payment terms, summary. Inline validation and correct total calculations.
Tooling & Content
- Discourse scripts and dev blog content system
- Brand icon generation utilities
- Branding assets updated across the platform
- i18n and context updates
What’s Next
Thumbtack integration launch, i18n expansion, and architecture extraction.