Kasha 2026 Q1 (&Q2) Project Plan
Executive Summary
Four product lines, one platform. Kasha SMB — all-in-one SaaS for service businesses (POS, booking, CRM, invoicing). Kasha Enterprise — Voucherised Payments for one-to-many disbursements with near-zero barriers (no sender KYC). Kasha CSP — CSP platform (Heidi) that lets Corporate Service Providers offer co-branded SMB + Enterprise to their formed entities. Kasha Private Banking — bank product reselling as licensed agents.
Enterprise and CSP are B2B2B feeders for SMB. Every Enterprise payee is a potential SMB merchant. Every CSP-formed entity gets co-branded access to the entire ecosystem. Private Banking deepens lock-in across all product lines.
The strategic move: Migrate UK CSP operations (Companies House, HMRC) from Kasha into Heidi. Heidi becomes the multi-jurisdiction CSP layer (CH + UK + future markets). Kasha Platform provides SMB + Enterprise + Private Banking to all customers — direct, CSP-provisioned, and Enterprise-fed.
Kasha Platform — Current State
- 33 repos: 18 NestJS services, 10 Next.js apps, 4 shared libs
- v2.0 Phases 1-3 done (NestJS 11, Next.js 15, React 19, TS 5.8)
- Phase 4+ in progress: code quality debt, globalization (3/10), security hardening
Heidi (KashaCH) — Current State
- Full-stack monorepo: React 19 + Vite 7 + Express + Drizzle ORM + PostgreSQL
- 224 test files, 5,650 passing tests
- Swiss company formation: AG, GmbH, Foundation entity types
- Multi-tenant CSP model (platform mode + CSP mode)
- Modules: companies, beneficial owners, obligations, tasks, billing, KYC (SumSub), AI agent
- Live at
company-formation.letscodenow.app
Two-System Architecture
Heidi owns the client lifecycle. Kasha provides the tools. The integration point is tenant provisioning.
Integration Flow
- CSP forms company in Heidi (any jurisdiction)
- Heidi calls Kasha API to provision a new tenant (company, owner, auth)
- Kasha returns credentials — client gets SaaS access (booking, invoicing, CRM, etc.)
- Ongoing sync: company status, billing, compliance flags flow between systems
- SSO linkage: CSP staff can access client's Kasha dashboard from Heidi
Heidi CSP Platform
Multi-tenant CSP platform. Currently Swiss-only. Expanding to UK jurisdiction.
| Component | Stack |
|---|---|
| Frontend | React 19, Vite 7, TailwindCSS 4, Radix UI, React Query |
| Backend | Express.js, TypeScript, Drizzle ORM |
| Database | PostgreSQL |
| Testing | Vitest, Testing Library (224 files, 5,650 tests) |
| AI | Anthropic SDK for AI agent capabilities |
| External | SendGrid, AWS S3/GCS, SumSub (KYC) |
UK CSP Migration Scope
- Add Ltd and Plc entity types alongside AG/GmbH/Foundation
- Companies House API integration (formation, filings, director updates)
- HMRC registration integration (VAT, PAYE, Corporation Tax)
- UK-specific compliance obligations (confirmation statements, annual accounts)
- UK beneficial owner reporting (PSC register)
- Multi-currency billing (CHF + GBP)
- Move UK CSP concerns OUT of Kasha Platform into Heidi
AI Development Cycle
Three AI agents across both platforms. TLC methodology on both Kasha (Mocha/Vitest) and Heidi (Vitest).
| Agent | Role | Capabilities |
|---|---|---|
| Claude | Primary (70%) | Architecture, code-gen, review, refactor, debugging |
| Codex | Secondary (15%) | Code-gen, consensus review with Claude |
| Gemini | Creative (15%) | Design, vision, prototyping, UI mockups, brainstorming |
Architectural Decisions
Key technical decisions recorded for the project. These inform sprint planning and constrain implementation choices.
ADR-001: REST stays, GraphQL BFF later
Status: Accepted When: Q2-Q3 (with mobile)
Context: 18 NestJS microservices with REST APIs, 10 Next.js frontends, API Gateway on NestJS 10. React Native mobile apps planned for Brazil & Switzerland. Question raised: should we migrate to GraphQL?
Decision: Do NOT migrate existing REST APIs. Add a thin GraphQL BFF (Backend-for-Frontend) layer when building the React Native mobile apps (Brazil GTM Phase 2, Q2-Q3 2026).
Rationale:
- No rewrite risk: 18 services, every controller, every route, every test would need rewriting. That's a quarter of work, not a sprint.
- Gateway not ready: lr-api-gateway is still on NestJS 10 — upgrade it first before adding complexity.
- External APIs are REST: Xero, QuickBooks, HMRC, Companies House, Transfero, Bexio, Amazon, Google Shopping — all REST/OAuth. Backend stays REST regardless.
- Two platforms: Heidi is Express + REST. Diverging API paradigms makes the Heidi ↔ Kasha integration harder.
- Real bottlenecks are elsewhere: 158 hardcoded GBP refs, 3/10 globalization, zero accounting integrations, 18 empty catch blocks.
- BFF gives the upside without the risk: Mobile gets flexible queries, existing APIs stay untouched, NestJS supports this pattern natively.
Consequences:
- Existing Next.js frontends continue using REST (no change)
- React Native apps use GraphQL BFF for optimized mobile queries
- BFF aggregates across multiple REST services per screen
- Heidi ↔ Kasha integration remains REST-based (tenant provisioning API, sync)
- Future option: if GraphQL BFF proves valuable, web frontends can optionally migrate to it incrementally
ADR-005: Middleware Connector Pattern (Platform Unity)
Status: Accepted & Proven KYC: Built
Context: Two codebases — KashaCH (Heidi, Vite+Express monolith) and Kasha Platform (43-repo NestJS microservices). Both need shared services (KYC, payments, CRM, compliance). Building each twice creates duplication and divergence.
Decision: Bridge platforms via Middleware Connectors — thin, standalone NestJS REST APIs that own a single business domain. Both platforms consume the same REST API. Zero duplication.
Three-repo structure per domain:
- Shared Library (kasha-{domain}-service) — provider-agnostic business logic, store interfaces, DTOs, events
- Middleware Connector (kasha-middleware-{domain}-connector) — NestJS REST gateway, TypeORM adapters, Docker + CI/CD
- Platform Consumer (lr-{domain}-service) — calls connector API or imports library directly
Proof of concept (KYC): kasha-kyc-service + kasha-middleware-kyc-connector — 11 endpoints, 10 DB entities, SumSub + Mock providers, deployed via Docker.
Next connectors: Payments (next up), CRM (planned), Compliance (planned).
Full case study: Platform Unity — KYC Middleware Connector
ADR-006: Domain-Specific Shared Libraries
Status: Accepted & Proven @kasha/kyc-service: Built
Context: With two platforms consuming the same business domains, logic must be centralised to prevent divergence.
Decision: Extract all shared business logic into provider-agnostic libraries published on GitHub (@kasha/{domain}-service). Libraries define orchestrator, store interfaces, DTOs, providers (real + mock), events, and config. No database opinions — store interfaces are abstract. The middleware connector implements them with TypeORM; other consumers can use any ORM.
Key pattern: Mock providers auto-detect from environment variables. If SumSub token is missing or "dev-placeholder", library automatically falls back to MockKycProvider — zero config, zero feature flags.
Sprint 1: Code Quality & Security
Feb 10 — Mar 2 AI Lead: Claude + Codex
Kasha Platform — Code Quality
- Fix 18+ empty catch blocks across lr-kasha-builder-library
- Reduce
@ts-ignore/anyby 50% (200+ → 100) - Refactor 6 files exceeding 2,000 lines
- Resolve 35+ TODO/FIXME items (triage: fix or remove)
- Standardize error handling pattern across backend services
Kasha Platform — Security
- Fix cookie security (
secure: falsehardcoded) - Add environment variable validation to all services
- Review 13 query construction patterns for SQL injection risks
- Remove hardcoded configuration values (ports, URLs, secrets)
Kasha Platform — Testing Foundation
- Enable 12+ skipped tests in lr-chat-widget-ui
- Add test framework to lr-fe-components (currently 0 tests)
- Expand lr-audit-service (3 → 30+ tests — compliance logging is critical)
- Expand lr-search-service (2 → 20+ tests)
Heidi Foundation
- Design tenant provisioning API contract (Heidi → Kasha) — see Integration Spec
- Audit Heidi codebase for UK expansion readiness
- Design multi-jurisdiction schema (entity types, obligations per jurisdiction)
Sprint 2: Globalization & Heidi UK
Mar 3 — Mar 23 AI Lead: Claude (architecture) + Codex (bulk ops)
Kasha Platform — Globalization
- Upgrade lr-api-gateway from NestJS 10 → 11
- Extract hardcoded GBP/£ to configuration (158+ locations)
- Replace UK postcode regex with international address validation
- Abstract Companies House → pluggable company registry (move CSP logic to Heidi)
- Abstract banking integration (Railsr → pluggable PSP layer)
- Multi-timezone support (remove Europe/London hardcoding)
- TypeORM standardization to 0.3.28 across all services
- Tailwind CSS 3 → 4 migration across 10 frontend apps
Kasha Platform — Integration
- Build tenant provisioning API endpoint (receives calls from Heidi)
- Implement shared API key auth for service-to-service calls
- Set up integration test environment (Heidi staging ↔ Kasha staging)
Heidi UK Jurisdiction
- Add Ltd and Plc entity types to company schema
- Companies House API integration (formation, filings, directors)
- UK compliance obligations engine (confirmation statements, annual accounts)
- UK PSC (Persons of Significant Control) register integration
- Multi-currency billing (CHF + GBP)
- Tenant provisioning: call Kasha API on company formation
Sprint 3: Accounting Integrations
Mar 24 — Apr 13 AI Lead: Claude (API) + Gemini (UI)
Kasha Platform
- Xero integration: OAuth 2.0, invoices, contacts, payments, bank txns
- QuickBooks Online: invoices, customers, payments, products, tax codes
- Sync engine with conflict resolution and retry logic
- Admin UI for connection management and monitoring
Heidi Accounting Link
- Auto-connect Xero/QB for newly provisioned Kasha tenants
- Billing data sync: Heidi CSP fees → Kasha invoicing
- Bexio integration planning (Swiss accounting, P3)
Sprint 4: MTD + Mass Payout v2
Apr 14 — May 4 AI Lead: Claude (compliance) + Codex (tests)
Kasha Platform — Making Tax Digital
- New
lr-tax-service: HMRC OAuth 2.0, VAT obligations, submission, fraud prevention headers - New
lr-tax-portal-ui: VAT return review & submission UI - HMRC sandbox testing & production credentials
- Digital record keeping compliance
Kasha Platform — Mass Payout v2
Builds on existing production system (CSV upload, validation, multi-currency, approval workflow, BullMQ processors).
- Phase 1 — Contractor Profiles:
OrganizationPayoutProfilein lr-company-service (tax residency, VAT status, self-billing consent), W-9/W-8BEN upload + validation - Phase 2 — Tax Rules Engine: New
lr-tax-rules-service(stateless, 11 initial rules: UK, EU, US, UAE), VAT/treaty rate tables, withholding calculation in payout pipeline - Phase 3 — Auto-Invoice: Generate invoice from payout batch item, tax treatment from rules engine, link to MassPayout entities, webhook delivery
Open questions: Invoice ownership (payer vs payee?), self-billing jurisdiction rules, credit-note flow for failed payouts — see spec §7, §14
Heidi Tax Integration
- HMRC registration flow for UK companies formed via Heidi
- VAT registration status sync (Heidi ↔ Kasha tax service)
- Swiss tax filing obligation tracking (cantonal differences)
Sprint 5: Marketplace & Channels
May 5 — May 25 AI Lead: Gemini (UI) + Claude (APIs)
Kasha Platform
- New
lr-marketplace-ui: public catalog, merchant storefronts, checkout - New
lr-channel-manager-service: product syndication - Amazon SP-API + Google Shopping initial integration
Heidi CSP Marketplace
- CSP can offer marketplace access as a service package add-on
- Auto-enable marketplace features on tenant provisioning based on package tier
Sprint 6: Advanced Features
May 26 — Jun 15 AI Lead: Claude (finance) + Gemini (dashboards)
Kasha Platform — Receivables Financing (Foundation Only)
Sprint 6 is the kickoff of a 16-week effort. Full spec has 5 phases — we target Phase 1 here.
- Phase 1 only: New
lr-financing-service— data models forfinanceable_receivable,financing_advance,risk_profile,pricing_tier - Eligibility engine: Basic rules, daily rate pricing, manual approval only
- Switzerland model: T+2/T+1 settlement — anticipation based on minimum 3-month relationship; capital availability tied to payment history and volume consistency
- Brazil model: Anticipation on known payout schedules (e.g., Carrefour 180-day terms); confirmed receivable from anchor buyer
- Key principle: Receivables purchase (not lending) — regulatory distinction matters
Phases 2-5 continue into H2: Mass payout integration, card processing integration, risk scoring + auto-approval, auto-advance + enterprise API
Kasha Platform — Mass Payout v2 (cont.)
- Phase 4 — Voucher & Breakage: Extend claim flow with 1-year voucher expiration, reminder scheduler, breakage revenue recognition
- Phase 5 — Reporting: 1099/EC Sales List generation, enterprise payout analytics dashboard
- Sage Business Cloud integration (UK/EU)
Heidi Future Jurisdictions
- Architecture review: what's needed for jurisdiction #3 (e.g., EU/Dubai)
- CSP analytics dashboard: cross-jurisdiction overview
- AI agent enhancements: jurisdiction-aware compliance recommendations
Integration Spec: Heidi ↔ Kasha
The integration is REST-based (see ADR-001). Three integration points:
1. Tenant Provisioning API
Heidi calls Kasha when a CSP forms a company. Designed in S1, built in S2.
| Aspect | Detail |
|---|---|
| Endpoint | POST /api/v1/tenants/provision on Kasha API Gateway |
| Auth | Service-to-service API key (rotatable, per-environment) |
| Payload | Company name, entity type, jurisdiction, owner (name, email), package tier |
| Response | Tenant ID, admin credentials, dashboard URL, enabled modules |
| Idempotency | Idempotency key in header — retry-safe, no duplicate tenants |
| Failure | Heidi retries with exponential backoff (3 attempts). Dead letter queue for manual review. |
2. Ongoing Data Sync
| Data | Direction | Frequency | Mechanism |
|---|---|---|---|
| Company status (active/dormant/dissolved) | Heidi → Kasha | On change | Webhook |
| Billing events (invoice paid/overdue) | Heidi → Kasha | On change | Webhook |
| Compliance flags (KYC expired, obligation due) | Heidi → Kasha | On change | Webhook |
| Usage metrics (bookings, invoices, transactions) | Kasha → Heidi | Daily batch | Scheduled API pull |
3. SSO / Cross-Platform Access
- Mechanism: Signed JWT with short expiry (5 min), generated by Heidi, validated by Kasha
- Flow: CSP staff clicks "Open Kasha Dashboard" in Heidi → Heidi generates signed token → redirect to Kasha with token → Kasha validates & creates session
- Scope: Read-only initially. CSP sees client's dashboard but cannot modify billing or auth settings.
Test Plan
Testing is not a separate sprint — it's woven into every sprint. Each sprint has specific test targets.
| Sprint | Kasha Test Targets | Heidi Test Targets |
|---|---|---|
| S1 | lr-audit-service (3 → 30), lr-search-service (2 → 20), lr-fe-components (0 → framework), enable 12 skipped tests | Multi-jurisdiction schema tests |
| S2 | lr-auth-service MFA/password reset paths, lr-banking-service payment/refund paths, tenant provisioning endpoint tests | UK entity type tests, Companies House integration tests, provisioning call tests |
| S3 | Xero/QB sync engine tests (mock responses), conflict resolution tests | Auto-connect accounting tests, billing sync tests |
| S4 | lr-tax-service HMRC submission tests (sandbox), lr-tax-rules-service rule evaluation (11 rules), contractor profile validation | HMRC registration flow, VAT sync, cantonal obligation tests |
| S5 | Marketplace listing/search/checkout tests, channel manager syndication tests | Package tier provisioning tests |
| S6 | lr-financing-service eligibility/pricing tests, voucher/breakage lifecycle tests | CSP analytics query tests, jurisdiction config tests |
Critical Coverage Gaps (from Backlog)
| Service | Current | Risk | Sprint |
|---|---|---|---|
| lr-audit-service | 3 tests | Critical — compliance logging | S1 |
| lr-search-service | 2 tests | Critical — search indexing | S1 |
| lr-banking-service | Partial | Critical — payment/refund paths | S2 |
| lr-auth-service | Partial | Critical — MFA, password reset | S2 |
| lr-kyc-service | Partial | Critical — approval/rejection | S2 |
| lr-fe-components | 0 tests | Med — shared UI lib | S1 |
| lr-notifications-service | 9 tests | Med — email/SMS delivery | S3 |
| lr-crm-service | 11 tests | Med — contracts, clients | S3 |
UK CSP Data Migration
Moving UK CSP concerns from Kasha to Heidi. This is code + data + integration logic.
What Moves
| Component | From (Kasha) | To (Heidi) | Sprint |
|---|---|---|---|
| Companies House API client | lr-company-service | Heidi companies module | S2 |
| UK entity type logic | lr-company-service | Heidi formations module | S2 |
| HMRC registration logic | lr-company-service | Heidi compliance module | S4 |
| UK compliance obligations | Scattered / manual | Heidi obligations engine | S2 |
| PSC register integration | None (new) | Heidi beneficial owners | S2 |
Migration Strategy
- Parallel run: Both systems active for 1 sprint (S2). Heidi builds UK features while Kasha still serves existing UK clients.
- Cutover: End of S2 — Heidi takes over UK CSP operations. Kasha's Companies House client deprecated (kept as fallback for 1 sprint).
- Rollback: Feature flag per jurisdiction in Heidi. If UK breaks, revert to Kasha's Companies House client.
- Data: Existing UK company data (if any) exported from Kasha PostgreSQL, imported to Heidi via migration script. Tested in staging first.
Brazil GTM Track
Brazil is a H2 2026 launch. The Feb-Jun sprints lay the foundation (globalization, pluggable architecture). Dedicated Brazil work starts Q3.
| Item | Dependency | When |
|---|---|---|
| Globalization (multi-currency, i18n framework) | None | S2 (in plan) |
| Pluggable banking layer (Railsr abstraction) | S2 globalization | S2 (in plan) |
| Transfero PSP integration (Pix, BRZ stablecoin) | Pluggable banking layer | Q3 — post-sprint-6 |
| i18n content (pt-BR translations) | i18n framework from S2 | Q3 |
| React Native mobile apps | GraphQL BFF (ADR-001) | Q3 |
| Luma AI (pt-BR) | i18n, Transfero live | Q3-Q4 |
| WhatsApp bot integration | Luma AI pt-BR | Q4 |
| Vertical landing pages | Marketplace (S5) | Q3 |
| Receivables financing (Brazil model) | lr-financing-service (S6) | Q4 |
Brazil critical path: S2 globalization → S2 pluggable banking → Q3 Transfero → Q3 mobile apps → Q3 MVP launch (São Paulo)
Switzerland GTM Track
Two sub-tracks: CSP (Heidi) is in-plan. Domestic (Kasha for Swiss SMEs) overlaps with globalization and extends into H2.
CSP Track (in-plan)
Already covered in sprints: UK jurisdiction (S2), tenant provisioning (S1-S2), compliance automation (S2-S4), CSP analytics (S6).
Domestic Track (partial overlap + H2)
| Item | Dependency | When |
|---|---|---|
| TWINT payment optimization | Adyen integration (exists) | S2 — part of globalization |
| Multi-currency engine (CHF) | S2 GBP extraction | S2 (in plan) |
| Bexio accounting integration | Sync engine from S3 | Q3 — uses same sync engine as Xero/QB |
| Swiss QR-bill (QR-Rechnung) | lr-invoicing-service | Q3 |
| Luma AI in DE/FR/IT | i18n framework from S2 | Q3 |
| CSP onboarding pipeline | Heidi tenant provisioning (S2) | Q3 — white-glove, entity migration tools |
| Local marketplace (Zürich) | Marketplace from S5 | Q4 |
| CH anticipation engine | lr-financing-service (S6) | Q4 |
Delivery Timeline
Risk Matrix
| Risk | Level | Impact | Mitigation |
|---|---|---|---|
| Heidi-Kasha integration complexity | High | Sprint 2-3 | Design API contract early (S1); versioned API; integration tests |
| UK CSP migration scope | High | Sprint 2 | Phase UK features; CH stays stable; feature flags per jurisdiction |
| HMRC API changes | High | Sprint 4 | Sandbox-first; abstract HMRC client; monitor changelog |
| Globalization scope creep | High | Sprint 2 | Automated replace for obvious patterns; phase into tiers |
| Data model divergence | Med | Ongoing | Shared schema definitions; sync validation; contract tests between systems |
| Third-party rate limits | Med | Sprint 3 | Mock responses for tests; dedicated sandbox accounts |
| Financing licensing (BR/CH) | Med | Sprint 6+ | Receivables purchase (not lending) model; legal review per jurisdiction; start with manual approval only |
| Multi-tenancy readiness | Med | Sprint 2 | Audit current Kasha tenant isolation; verify data partitioning before provisioning API goes live |
| Brazil PSP dependency | Med | Q3 | Transfero partnership must be signed before Q3 dev starts; fallback: Adyen Brazil |
| AI team capacity | Low | Velocity | TLC guardrails; consensus review; reusable prompts |
KPIs & Success Metrics
| Metric | Current | Target (Jun) |
|---|---|---|
| Kasha test coverage | Varies | 80%+ critical services (auth, banking, invoicing, audit, kyc) |
| Heidi test count | 5,650 | 7,000+ (UK jurisdiction tests) |
| Empty catch blocks | 18+ | 0 |
| TODO/FIXME items | 35+ | <10 (resolved or tracked as issues) |
| SQL injection risk patterns | 13 unreviewed | 0 (all reviewed + fixed) |
| Globalization score | 3/10 | 8/10 |
| Heidi jurisdictions | 1 (CH) | 2 (CH + UK) |
| Tenant auto-provisioning | None | Live (Heidi → Kasha, with SSO) |
| Accounting integrations | 0 | 3 (Xero, QuickBooks, Sage) |
| HMRC MTD compliance | None | 100% (VAT submission live) |
| Marketplace channels | 0 | 3 (internal + Amazon + Google) |
| Integration test env | None | Live (Heidi staging ↔ Kasha staging) |
Operations & Infrastructure
33 Kasha repos + 1 Heidi monorepo. Operational maturity must match feature velocity.
CI/CD Pipeline
| System | Current | Target |
|---|---|---|
| Kasha | GitHub Actions per-repo (lint + test + build) | Add integration test stage, coverage gates (80%+ critical), deploy-on-merge to staging |
| Heidi | Monorepo CI (lint + 5,650 tests + build) | Add UK jurisdiction test suite, E2E provisioning test, coverage gates |
| Cross-system | None | Integration pipeline: Heidi staging → Kasha staging provisioning test (nightly) |
Environments
| Environment | Purpose | Status |
|---|---|---|
| Local | Developer workstation (Docker Compose) | Exists — needs unified compose for Heidi + Kasha |
| Dev | Feature branch deployments, manual QA | Kasha: exists. Heidi: exists. Cross-system: Missing |
| Staging | Pre-production, integration testing, UAT | Build in S2 — both systems on staging with provisioning live |
| Production | Live traffic | Heidi: company-formation.letscodenow.app. Kasha: production cluster. |
Monitoring & Observability
- Logging: Structured JSON logs across all NestJS services. Heidi: Winston. Kasha: mixed (standardize in S1).
- Error tracking: Sentry integration for both platforms (existing in Heidi, add to Kasha critical services in S1).
- Health checks:
/healthendpoint on every NestJS service. Uptime monitoring via external ping. - Alerting: Sentry alerts for error spikes. Webhook to Slack for deployment failures and provisioning errors.
- Metrics (H2): Prometheus + Grafana for request latency, queue depth, provisioning success rate, financing pipeline metrics.
Deployment Strategy
- Kasha: Containerized (Docker). Individual service deploys. Blue-green for critical services (auth, banking, invoicing).
- Heidi: Single container deployment (monorepo). Zero-downtime rolling updates.
- Database: Migrations run as part of deploy pipeline (TypeORM for Kasha, Drizzle for Heidi). Rollback scripts required for every migration.
- Feature flags: Jurisdiction-level flags in Heidi (per S2). Service-level flags in Kasha for new features (financing, marketplace).
- Secrets: Environment variables via CI secrets. No hardcoded secrets (audit in S1). Rotate API keys quarterly.
Open Decisions
Items that need a decision before or during the sprints. Each has a deadline and a decision owner.
| Decision | Options | Deadline | Impact |
|---|---|---|---|
| Brazil BACEN licensing Decided | Operate under Transfero's license. No own payment institution application. Pass-through model — Transfero holds the BACEN license, we build the SaaS layer on top. | — | High — architecture: pass-through via Transfero, no own ledger |
| Swiss FINMA considerations Decided | Receivables purchase (factoring), not lending. No FINMA banking license required. Same model as Brazil — buy the receivable, don't extend credit. | — | High — no license needed; product is invoice factoring, not credit |
| Transfero PSP contract Decided | Dual PSP: Transfero + Adyen Brazil. Transfero for Pix, BRZ stablecoin, BACEN license. Adyen for international cards, fallback. Pluggable banking layer (S2) supports both. | — | High — dual-PSP de-risks Brazil GTM; pluggable layer in S2 |
| Mobile strategy Decided | In-house native. React Native (with GraphQL BFF per ADR-001) or alternative native strategy. No agency outsourcing. AI-assisted dev (Claude + Codex). | — | Med — React Native vs. alternative native TBD by end of S4 |
| Financing capital source | Own balance sheet vs. bank partner vs. institutional fund vs. tokenized (BRZ) | Before S6 | Med — affects risk model, capital requirements, and regulatory path |
| Kasha multi-tenancy audit | Full audit + fix vs. audit + document gaps vs. defer | S1 (blocking for provisioning API) | High — provisioning API cannot go live with weak tenant isolation |
| Pricing model: CSP packages Decided | Platform Fee + Formation Fees + Merchant-Pays + CSP Revenue Share. No per-entity monthly fees. See CSP Pricing Model below. | End of S2 | Med — affects package tier field in provisioning API and Heidi billing |
| Marketplace commission model Proposed | Subscription-inclusive + tiered commission + channel syndication fee. See Marketplace Pricing below. | Before S5 | Med — affects lr-marketplace-ui checkout and revenue recognition |
Phase: Licensing Framework, Routing & MSA
Discussion Phase Status: Scoping
Multi-license, multi-partner architecture determining how every payment flow, payout, IBAN issuance, and cross-border transaction is routed. Two own licenses (Swiss SRO, Canadian MSB+RPAA), three partner licenses (Malta PI with Latvian IBAN/Target2, Transfero Brazil, Adyen global), five markets, five product lines.
Full discussion document: License Framework, Routing & MSA →
Covers: own & partner license details, routing tables per market (CH, BR, EU, CA, UK), fund flow diagrams, safeguarding, settlement rails, MSA structure with product-specific schedules, data processing per jurisdiction, and 9 open questions requiring resolution.
Customer Acquisition: Team Reality
No sales team. No BDRs. No field reps. A nimble marketing team, a few devs, multi-tasking team members, and AI that produces content at 100x human speed. This is how we actually acquire customers across both markets.
| Role | People | Acquisition Contribution |
|---|---|---|
| Product / Engineering | 3-4 devs | Build hooks that sell themselves: free TWINT/Pix, booking pages, Luma AI. Product IS the acquisition strategy. |
| Marketing | 1-2 people | Campaign strategy, brand voice, creative direction. AI handles volume — humans handle taste. |
| AI Agents | Claude, Codex, Gemini | Content factory: 50-100 pieces/week per market — SEO, social, email, landing pages, ad copy, all languages. |
| Founder / Leadership | Multi-tasking | CSP relationships (3-5 total), strategic partnerships (Bexio, trade associations), 1-2 events/year. |
| Everyone else | Multi-tasking | Customer success, onboarding support, feedback loops. No dedicated sales — every touch point is product-led. |
What we don't do: Cold call SMEs. Attend 10+ events/year. Hire a sales team in 2026. Run brand campaigns. Build a partner/reseller channel. Sales team consideration starts at 1,000+ merchants, not 300. Every CHF/BRL spent has a trackable conversion.
AI Content Factory
Our unfair advantage. While competitors hire agencies and wait 4 weeks for a campaign, we generate, test, and iterate daily.
| Channel | Weekly Output | AI Does | Human Does |
|---|---|---|---|
| Instagram / TikTok | 15-40 posts per market | Captions in DE/FR/IT/EN/pt-BR, hashtags, A/B variations, Reels scripts, carousel copy | Visual direction, brand approval, scheduling |
| Google Local SEO | 10-15 landing pages | Vertical × city pages: "Coiffeur Zürich buchen", "Salão de beleza agendar São Paulo" | Keyword strategy, conversion optimization |
| Email / WhatsApp sequences | Automated flows | Onboarding drip, activation nudges, upgrade prompts, win-back — personalized per vertical and language | Trigger logic, segmentation rules |
| Blog / Content | 3-5 articles per market | "Wie akzeptiere ich TWINT?", "Como funciona antecipação de recebíveis" — SEO-optimized, local voice | Topic selection, fact-checking |
| Ad copy | 20-30 variations per campaign | Google Ads, Meta Ads, A/B variants — Swiss German colloquial, Brazilian Portuguese | Budget allocation, performance review |
| Luma AI (in-product) | Continuous | Luma IS the demo AND the onboarding. Prospects talk to the product before signing up. Luma IS the sales rep on WhatsApp in Brazil. | Conversation design, dialect tuning |
Volume beats perfection. A 50-person marketing team produces 10 polished pieces a week. Our AI factory produces 50-100+ pieces per market per week, tests them, kills the losers, doubles down on winners. We out-iterate, not out-spend.
Product-Led Growth
Every feature is an acquisition channel. No human needed at any stage.
Zero-Touch Acquisition Loops
| Loop | How It Works | Market |
|---|---|---|
| Free TWINT / Pix | Merchant Googles "TWINT akzeptieren" / "receber Pix grátis". Finds SEO page. Downloads app. Accepts first payment in 5-10 minutes. | CH / BR |
| Booking Virality | Merchant shares booking link on Instagram / WhatsApp. Client books, sees "powered by Kasha". Their hairdresser / trainer asks "what's this?" — signs up. | Both |
| Luma Onboarding | New signup lands in app. Luma greets in local language, walks through setup, creates first invoice, configures payments. No human onboarding call. | Both |
| Referral | Built into app: "Empfiehl Kasha — CHF 20" / "Indique e ganhe R$30." WhatsApp/share link, automatic tracking, instant credit. | Both |
| Marketplace Pull | Consumer finds merchants on Kasha marketplace. Merchant A gets bookings. Merchant B sees it — signs up to be listed. | Both |
| Antecipação Lock-in | Merchant processes R$5K. App offers: "Antecipe seus recebíveis agora." Once they use working capital, switching cost rises dramatically. | BR |
| CSP Auto-Provisioning | CSP forms a GmbH through Heidi. Entity gets Kasha Corporate account instantly. Zero sales call. Zero onboarding. | CH |
| Channel Syndication | Merchant lists on Kasha → auto-syndicated to Mercado Livre / Amazon / Google Shopping. Kasha becomes the single pane. | BR |
What Still Needs Humans
| Activity | Who | Frequency |
|---|---|---|
| Approve AI content batches | Marketing | Daily (30 min) |
| Review ad performance, reallocate budget | Marketing | Weekly |
| Inbound support (Luma handles 80%+) | Team | As needed |
| CSP relationship management (3-5) | Founder | Monthly |
| Trade association partnerships | Founder | Quarterly |
| Finance events (STEP, SECA) | Founder | 2x / year |
| Tune Luma AI per vertical | Product | Monthly |
Funnel & Budget
Switzerland Funnel (month 6+, steady state)
| Stage | Monthly Volume | Conversion |
|---|---|---|
| Impressions (AI content + ads) | 15,000-25,000 | — |
| Landing page visits | 1,500-3,000 | ~10% CTR |
| Signups | 60-120 | ~4% of visits |
| Activated (first transaction) | 30-60 | ~50% of signups |
| Retained at month 3 | 20-40 | ~65% retention |
| Upgraded to paid | 5-10 | ~20% of retained |
Brazil Funnel (month 6+, steady state)
| Stage | Monthly Volume | Conversion |
|---|---|---|
| Impressions (AI content + ads + WhatsApp) | 50,000-100,000 | — |
| Landing page / WhatsApp visits | 5,000-10,000 | ~10% CTR |
| Signups | 200-400 | ~4% of visits |
| Activated (first Pix payment) | 100-200 | ~50% of signups |
| Retained at month 3 | 65-130 | ~65% retention |
| Upgraded to paid | 15-30 | ~20% of retained |
Acquisition Budget
| Market | Monthly Ad Spend | AI Content Cost | Sales Salaries | Year 1 Total | Target Merchants | CAC |
|---|---|---|---|---|---|---|
| Switzerland | CHF 3-5K | CHF 0 | CHF 0 | ~CHF 40-60K | 300-500 | ~CHF 80-150 |
| Brazil | BRL 10-15K | BRL 0 | BRL 0 | ~BRL 120-180K | 1,000 | ~BRL 50-80 |
CAC payback: Switzerland — CHF 80-150 CAC, CHF 49/mo Pro tier, payback in 2-3 months. Brazil — BRL 50-80 CAC, BRL 79/mo Pro tier, payback in 1-2 months. Traditional competitors with field sales teams spend 3-5x more per merchant. AI content + product-led growth is the moat.
Kasha CSP — Pricing Model (Decided)
CSPs pay for Heidi (their tool). CSP-formed entities get co-branded Kasha SMB + Enterprise access (min CHF 99/mo, no free tier). CSPs earn revenue share on all entity activity across all product lines. Enterprise and CSP are B2B2B feeders for SMB.
1. What the CSP Pays (Heidi Platform)
| Fee Type | Amount | Notes |
|---|---|---|
| Platform Fee — Starter | CHF 299/mo | Solo fiduciaries, up to 25 entities, 3 users |
| Platform Fee — Professional | CHF 799/mo | Mid-size trust companies, up to 100 entities, 10 users, custom branding |
| Platform Fee — Enterprise | From CHF 2,500/mo | Large CSPs, 100+ entities, unlimited users, SLA, dedicated AM |
| Formation Fee — GmbH | CHF 390 (one-time) | Per entity formed through Heidi |
| Formation Fee — AG | CHF 590 (one-time) | Per entity formed through Heidi |
| Formation Fee — Foundation | CHF 790 (one-time) | Per entity formed through Heidi |
| Formation Fee — UK Ltd | CHF 190 (one-time) | Per entity formed through Heidi |
No per-entity monthly fees. Platform fee covers Heidi access, entity management, compliance monitoring, obligation tracking, KYC/AML, document storage, and CSP dashboard.
2. What CSP Entities Pay (Co-Branded SMB + Enterprise)
CSP-formed entities get co-branded access to both Kasha SMB and Kasha Enterprise. They choose what they need. No free tier. Minimum CHF 99/mo — businesses paying CHF 25K+ to banks won't blink at this.
| Product | Tier | Monthly | Includes |
|---|---|---|---|
| Kasha SMB (co-branded) | SMB Pro | CHF 99/mo (min) | Banking, invoicing (QR-bill), CRM, Bexio sync, Luma AI, compliance visibility |
| SMB Business | CHF 149/mo | + e-commerce, marketplace, multi-user, analytics, channel syndication | |
| SMB Premium | CHF 249/mo | + API access, priority Luma AI, working capital, advanced reporting | |
| Kasha Enterprise (add-on) | Enterprise | From CHF 499/mo | Voucherised Payments, mass payouts, no sender KYC, tax rules engine |
Plus transaction fees (~1.5-2.5%), Enterprise payout fees (0.5-1.5%), marketplace commission (tiered), and working capital fees (3-5%).
Domestic Merchants (Kasha SMB — direct)
| Tier | Monthly | Includes |
|---|---|---|
| Kasha SMB Free | CHF 0 | TWINT, basic POS, booking page, Luma AI (acquisition hook) |
| Kasha SMB Pro | CHF 49/mo | + invoicing, multi-staff, analytics, Bexio sync, QR-bill |
| Kasha SMB Business | CHF 99/mo | + marketplace, channel syndication, anticipation, multi-location, API access |
Same platform, different product surface. Direct SMB merchants get POS, booking, TWINT. CSP entities get co-branded SMB + Enterprise. Private Banking available to all.
3. What the CSP Earns (Revenue Share)
| Revenue Stream | CSP Share | Example (40 entities) |
|---|---|---|
| Entity SMB subscriptions | 15% | 20 at CHF 99 + 15 at CHF 149 + 5 at CHF 249 = CHF 5,470/mo → CSP earns CHF 820/mo |
| Entity Enterprise subscriptions | 15% | 5 at CHF 499 = CHF 2,495/mo → CSP earns CHF 374/mo |
| Transaction & payout fees | 10% | CHF 9,000/mo in fees → CSP earns CHF 900/mo |
| Working capital fees | 5% | CHF 2,000/mo in fees → CSP earns CHF 100/mo |
| Private Banking commissions | 10% | Referral commissions on bank products |
Example: Mid-size CSP with 40 entities. CSP pays CHF 799/mo platform fee. All entities on SMB Pro min (CHF 99/mo), 15 upgraded, 5 on Enterprise. Revenue share back to CSP: ~CHF 2,194/mo — nearly 3x the platform fee. Heidi is a profit centre. Every entity can also access Private Banking products — additional revenue share.
Why This Works
- No free tier friction: CSP entities pay CHF 25K+ to banks. CHF 99/mo is a rounding error — self-qualifies serious businesses
- Aligned incentives: CSP earns more when entities are active across SMB + Enterprise — motivated to push adoption
- Four products, one platform: CSP entities get co-branded SMB + Enterprise. Direct merchants get SMB. All get Private Banking. Same infrastructure.
- B2B2B flywheel: Enterprise clients' payees become SMB merchants. CSP entities use Enterprise for their own payouts. Each product feeds the others.
- CSP as distribution: Each CSP brings 20-100 entities at zero CAC. Every entity is a customer for all four product lines from day one.
Revenue Projection (Year 1 — All Products, Switzerland)
| Product Line | Revenue | % of Total |
|---|---|---|
| Kasha SMB (direct) — 300-500 merchants | ~CHF 470K | 56% |
| Kasha Enterprise — 5-15 clients | ~CHF 100K | 12% |
| CSP entity revenue — 80-150 entities (SMB + Enterprise) | ~CHF 185K | 22% |
| CSP platform + formation fees | ~CHF 70K | 8% |
| Private Banking commissions | ~CHF 40K | 5% |
| Revenue share paid to CSPs | ~CHF -22K | — |
| Total Year 1 (Switzerland) | ~CHF 843K | 100% |
Implementation: Provisioning API Mapping
- CSP-level plans: New
CSP_STARTER,CSP_PROFESSIONAL,CSP_ENTERPRISEin ServiceKey enum - Formation fees: Existing
COMPANY_FORMATIONServiceKey, triggered viaprocessCompanyFormationPayment - Entity provisioning: CSP entities get
SMB_PRO/SMB_BUSINESS/SMB_PREMIUMtiers withreferredByCSPflag. No free tier — minimumSMB_PROenforced. OptionalENTERPRISEadd-on. - Product line routing:
productLinesarray on tenant (smb,enterprise,private_banking) controls which features are exposed in lr-web-app UI - Revenue share engine: Track all entity activity (SMB + Enterprise + Private Banking) by CSP source. Monthly payout calculation via webhooks in lr-banking-service
- New build: Revenue share tracker, CSP payout calculator, CSP dashboard in lr-admin-ui, product line router, Enterprise payout module, Private Banking referral tracker
Kasha Enterprise — Voucherised Payments
One-to-many disbursements with near-zero barriers. No KYC from sender. Built on Mass Payout v2 engine. B2B2B feeder for SMB — every payee is a potential SMB merchant.
| Fee Type | Amount | Notes |
|---|---|---|
| Enterprise Subscription | CHF 499-2,500/mo | Platform access, dashboard, API, compliance tools. Tiered by volume. |
| Per-Payout Fee | 0.5-1.5% of batch | Decreases with volume. Minimum CHF 0.50 per payout. |
| Voucher Breakage | ~3-5% of issued | Unclaimed after 1-year lifecycle. Revenue recognition at expiry. |
| Cross-Border Fee | 0.5-1.0% additional | Multi-currency conversion + compliance. |
B2B2B Conversion
Every payout is an SMB lead. Enterprise client disburses to 50 suppliers. Each supplier claims payout, sees the Kasha ecosystem. "You just got paid — want to accept TWINT / Pix too?" At 3-5% conversion, 5-15 Enterprise clients generating payouts to 500+ suppliers yields 25-75 new SMB merchants at zero CAC.
Kasha Private Banking
Not a bank. Licensed agents reselling at least 2 bank products directly. Available to all Kasha customers — SMB merchants, CSP entities, Enterprise clients. Commission-based revenue model.
| Revenue Stream | Model | Notes |
|---|---|---|
| Account opening commission | Per account | Business account opening via partner banks |
| Product referral fees | Ongoing commission | Revenue share from banking partner on referred products |
| Cross-sell uplift | LTV increase | Banking users have higher retention and LTV on core Kasha products |
Strategic value: Private Banking isn't just revenue — it's lock-in. Once a merchant's banking is integrated with Kasha, switching cost rises dramatically. The banking relationship deepens engagement with SMB, Enterprise, and CSP products. Year 1 estimate: ~CHF 30-50K in commissions, growing with user base.
Marketplace Pricing (Proposed)
Marketplace access included in SaaS subscription — no extra fee. Commission is seller-side. Research based on Amazon, Mercado Livre, Shopify, Square, Faire, Magazine Luiza, Galaxus benchmarks.
Transaction Commission (on Kasha marketplace)
| Monthly Merchant GMV | UK (£) | Switzerland (CHF) | Brazil (BRL) | Rate |
|---|---|---|---|---|
| Tier 1 | First £5,000 | First CHF 5,000 | First BRL 25,000 | 8% |
| Tier 2 | £5,001-25,000 | CHF 5,001-25,000 | BRL 25,001-125,000 | 6% |
| Tier 3 | £25,001-100,000 | CHF 25,001-100,000 | BRL 125,001-500,000 | 4.5% |
| Tier 4 | Above £100,000 | Above CHF 100,000 | Above BRL 500,000 | 3.5% |
Payment processing passed through at cost (Adyen ~1.2-1.9%, PIX ~0%). Not marked up.
Why 8% starting rate? Below Amazon (8-15%), Mercado Livre (10-19%), Faire (15%), Galaxus (5-25%). Our merchants already pay SaaS fees — combined cost must feel fair. Tiers reward growth and create retention.
Channel Syndication (via lr-channel-manager-service)
| Channel | Monthly Fee (UK/CH/BR) | Commission |
|---|---|---|
| Amazon SP-API | £29 / CHF 35 / BRL 99 | 2% of order value |
| Google Shopping | £19 / CHF 25 / BRL 69 | 0% (Google is free) |
| eBay / Etsy | £19 / CHF 25 / BRL 69 | 2% of order value |
| Shopify sync | £19 / CHF 25 / BRL 69 | 1.5% of order value |
Revenue Projection (Year 1, UK)
| Metric | Value |
|---|---|
| Active merchants on marketplace | 200 (of existing SaaS base) |
| Average monthly GMV per merchant | £8,000 |
| Blended commission rate | ~7.2% |
| Annual commission revenue | ~£1.38M |
| Channel syndication (50 merchants) | ~£17K |
Implementation
- Checkout flow: Buyer sees product + shipping + tax. Commission is seller-side, not visible to buyer.
- Settlement: Adyen for Platforms split-payment. Kasha retains commission + processing, disburses remainder to merchant's Kasha banking account.
- Commission invoicing: Auto-generated weekly/bi-weekly via lr-invoicing-service (required for VAT in all 3 markets).
- New schema:
commission_config(tier rules per merchant),commission_ledger(per-transaction),merchant_payout(settlement cycle). - Revenue recognition: Commission recognized at fulfillment + return window close (IFRS 15). Processing is net revenue (agent, not principal).
Heidi (KashaCH) — TLC Workspace Plan
KashaCH (codename Heidi) is the CSP entity management platform. Full-stack monorepo: Vite + Express + Drizzle + PostgreSQL. TLC test-led development methodology. Deployed via Docker on VPS (161.35.83.210).
| Property | Value |
|---|---|
| TLC Workspace | kashach-heidi (alias: heidi) |
| Repo | KashaTech/KashaCH-MonoProject (monorepo) |
| Stack | React 19, Vite 7, TailwindCSS 4, Radix UI, Express.js, Drizzle ORM, PostgreSQL |
| AI Agents | Claude (primary, 70%), Codex (secondary, 15%), Gemini (creative, 15%) |
| Test Framework | Vitest + Testing Library + jsdom |
| Test Coverage | 226 test files, 5,697 tests (all passing), ~75% coverage |
| Methodology | Test-Led Development (Red → Green → Refactor) |
| Dev Server | Docker Compose, port 5001 (internal 5000) |
| Schemas | 54 Zod schema files in shared/schemas/ |
| External Services | SendGrid (email), AWS S3/GCS (storage), SumSub (KYC), Anthropic SDK (AI) |
Heidi Modules (72)
All modules live under server/modules/. Each contains controllers, services, and routes. Schemas in shared/schemas/.
| Domain | Modules | Description |
|---|---|---|
| Entity Management | company, company-service, formation-config, formation-document, formation-pdf, formation-rules, formation-email, formation-bottleneck, formation-completion, board-member, shareholder, person |
Core entity lifecycle: formation (AG, GmbH, Foundation, Ltd, Plc), directors, shareholders, persons, documents, bottleneck tracking |
| Compliance & Obligations | compliance, obligation, obligation-rules-engine, obligation-scheduler, obligation-task-automation, recurring-obligation-scheduler, vat-compliance, deadline-checker |
Automated obligation tracking, recurring schedules, VAT compliance, deadline monitoring |
| KYC / KYB | kyc, aml |
SumSub integration, AML checks, beneficial ownership verification |
| Notarization | notarization-cases |
Blue ink document management, QR codes, notary case tracking |
| CSP Management | csp, platform, platform-settings, jurisdiction, onboarding-template, onboarding-automation |
Multi-tenant CSP configuration, white-label settings, jurisdiction rules, onboarding workflows |
| User & Access | auth, user, user-settings, roles, rbac, membership, invitation |
Authentication, role-based access control, team invitations, user preferences |
| Tasks & Automation | task, task-template, automation, automation-trigger-engine, activity, timeline |
Task management, templates, automation rules, activity feeds, entity timelines |
| Billing & Invoicing | billing, catalog |
Service catalog, billing calculations, invoicing |
| Documents & PDF | document, pdf, email-template |
Document storage, PDF generation (pdfmake), email templates |
| Leads & Partners | leads, lead-activity, lead-forms, partners, partner-activity, partner-notification, partner-portal, pipeline-stages |
Lead capture, CRM pipeline, partner portal, UTM tracking, commission management |
| External Portals | external-professionals, public, landing-page-templates |
External portal for notaries/auditors/accountants, public formation wizard, CSP landing pages |
| Communication | notification, notification-routing, shipment-email, shipping |
Notification system, routing rules, shipment tracking emails |
| Search & UI | search, saved-view, column-preferences, tag, metrics, admin |
Full-text search, saved views, column customization, tagging, metrics dashboards |
| AI | server/agent/ (Heidi AI) |
Context-aware AI assistant using Anthropic SDK — entity context, compliance guidance, formation help |
| Integration | integration, uid, zefix |
External integrations, Swiss UID registry, Zefix company register |
Client Pages
| Section | Pages |
|---|---|
| Core | Dashboard, Companies, People, Formations, Compliance, Tasks, Notifications |
| Commercial | Billing, Leads, Partners, Partner Portal |
| Admin | Admin, Settings, User Settings, Onboarding |
| External | External Portal, Public Wizard, Marketing, Login, Invite, Privacy, Terms |
| Shipping | Shipments (notarized document delivery tracking) |
Heidi Phase Roadmap
32 phases defined. TLC test-led methodology on all. Milestone: Go Live.
Completed Phases
| # | Phase | Highlights |
|---|---|---|
| 01 | Platform Independence | Removed Replit dependency, Docker deployment |
| 02 | Code Consolidation | 56 modules migrated, utilities consolidated, reusable component library |
| 03 | Company Formation Wizard | AG, GmbH, Foundation formation flows |
| 04 | Notary Integration | Blue ink docs, QR codes, notary case tracking |
| 05 | Formation-Onboarding Integration | Connected formation → onboarding pipeline |
| 11 | UI Tooltips | Contextual help throughout the UI |
| 12 | Contextual Heidi | Context-aware AI assistant (Anthropic SDK) |
| 22 | Leads Module | Bug fixes, service extraction, tests |
| 26 | Remove Hardcoding | All hardcoded values externalized to config |
| 27 | External Portal Enhancements | File upload, notifications, multi-role support |
| 29 | Deduplicate Components | Shared components, billing calculations, service-layer enforcement |
In-Progress & Urgent
| # | Phase | Status | Owner | Description |
|---|---|---|---|---|
| 28 | Company Formation Improvements | In Progress | @jurgen | UAT fixes, quote flow, CSP config, capital deposits — 19 sub-tasks with dedicated test plans |
| 29b | Pre-Launch Schema Audit | CRITICAL | Claude + Codex | DB hardening, schema redundancy audit, data dictionary, migrations review |
| 30 | External Portal Role Views | In Progress | @divya | Role-differentiated views for Notary, Auditor, Accountant portals |
| 23 | Partners Module | In Progress | @divya | Landing pages, UTM tracking, partner portal, commission management |
Planned (Go-Live Path)
| # | Phase | Priority | Description |
|---|---|---|---|
| 06 | CSP Lead Generation | Tier 5 | Calendar integration, lead capture pages from public wizard |
| 07 | E2E Testing | Tier 2 | Playwright end-to-end tests — requires stable features |
| 08 | Wiki Documentation | Tier 2 | API docs, Swagger, knowledge base |
| 09 | User Manuals | Tier 3 | Screenshot-based guides (depends on stable UI) |
| 10 | Marketing Website | Tier 5 | Public-facing site for CSP acquisition |
| 24 | KYB & Jurisdiction Compliance | Planned | KYB verification, jurisdiction-specific rules engine |
| 25 | Tax Rules for Invoicing | Planned | VAT/GST calculation, jurisdiction-based tax |
| 31 | Heidi Agent Improvements | Tier 2 | Streaming, native tool calling, rate limiting, token tracking, knowledge optimization |
| 32 | TypeScript Strict Mode | Planned | Fix 86 pre-existing type errors, re-enable npm run check in CI |
Future (Post Go-Live)
| # | Phase | Description |
|---|---|---|
| 13 | Architecture Migration | Move to Next.js + Nest.js |
| 14 | Operations & Observability | Monitoring, backups, alerting |
| 15 | Security & Compliance | Pen testing, GDPR, SOC 2 |
| 16 | Localization | de/fr/it translations |
| 17 | Mobile & PWA | Offline support, push notifications |
| 18 | Customer Onboarding | Product tours, support flows |
| 19 | Public API & Integrations | Webhooks, 3rd party apps |
| 20 | Analytics & Reporting | Dashboards, custom reports |
| 21 | Performance & Scaling | Caching, horizontal scaling |
Phase Dependencies
02 Code Consolidation → DONE
03 Formation Wizard → 05 Formation-Onboarding → 04 Notary → DONE
↓
28 Formation Improvements (in progress)
↓
07 E2E Testing ← needs stable features
↓
08 Wiki Docs → 09 User Manuals (needs stable UI for screenshots)
22 Leads → 23 Partners (in progress) → 06 Lead Gen → 10 Marketing Website
29b Schema Audit (CRITICAL) → blocks Go-Live
30 External Portal Role Views (in progress) → blocks Go-Live
Team & Quality
| Member | Role | Current Focus |
|---|---|---|
| Jurgen Calleja | Developer | Phase 28 (Formation Improvements), Phase 31 (Heidi Agent) |
| Divya | Developer | Phase 23 (Partners), Phase 30 (External Portal Roles) |
| Blair Avellino | QA | UAT, test coverage |
Quality Metrics
| Metric | Current | Target |
|---|---|---|
| Test files | 226 | 250+ |
| Test cases | 5,697 (all passing) | 6,500+ |
| Coverage | ~75% | 80% (TLC threshold) |
| TypeScript errors | 0 (86 in strict mode) | 0 in strict mode |
| Quality score threshold | 75 | 80+ |
| Shared schemas | 54 Zod files | All validated at runtime |
TLC LLM Router
Multi-model capability routing configured at workspace level:
| Capability | Primary | Fallback | Mode |
|---|---|---|---|
| Code review | Claude + Codex | Claude | Consensus |
| Code generation | Claude | Codex | Single |
| Refactoring | Claude | — | Single |
| Design / Vision | Gemini | Claude | Single |
| Brainstorming | Gemini + Claude | Claude | Parallel |
Bucket List
Ideas beyond the current sprint cycle. High-value, not yet scoped.
| Idea | Market | Notes |
|---|---|---|
| Anticipation on competitor processing | Brazil | File claims via the national settlement registry (Registradora de Recebíveis / CIP) — the Central Bank's infrastructure for receivables registration. Even if a merchant processes with a competitor, the receivable is registered federally and we can place a claim for anticipation. This is the foundation of antecipação at the federal level. |
| Multi-acquirer anticipation engine | Brazil | Aggregate receivables across all acquirers (Cielo, Rede, Stone, PagSeguro) via CIP registry for a unified credit line |
| Anticipation on recurring B2B payouts | Global | Extend the Carrefour/anchor-buyer model to any B2B relationship with predictable payment cycles |
| Jurisdiction #3+ | EU / Dubai | Heidi CSP expansion beyond CH + UK |
Kasha & Heidi Project Plan · Q1-Q2 2026 · Generated by Claude & Gemini · Authored by JJ