CASE FILE. 02 / OPERATIONS / SAAS

ERP

Management for schools, fitness studios, and sports operations: students, enrollments, contracts, and billing. It connects signatures, payments, and WhatsApp in one flow.

  • React
  • Vite
  • Firebase
  • Asaas
  • ZapSign
View all projects

BRIEF. 01 / PROBLEM AND BOUNDARY

The product in one read.

A deliberate view of the current state. Metrics and the hypothesis remain editorial until public evidence can replace them.

TEST QUESTION

Can a fragmented operation fit into one coherent workflow?

Unify enrollment, contract, and billing journeys without coupling the operation to each provider's details.

CORE
STUDENTS + ENROLLMENT
EDITORIAL LABEL
INTEGRATIONS
PAY + SIGN
EDITORIAL LABEL
CAPABILITIES
5
frontend / backend / data / ai / integrations
PUBLIC DOOR
NO
PRIVATE SURFACE

SYSTEM TRACE. 02 / PRIMARY FLOW

Boundaries before frameworks.

Operational SPA → Firebase services → billing, signature, and WhatsApp adapters.

  1. 01
    OPS

    Operations console

    React / role-based journeys

  2. 02
    DOMAIN

    Business workflow

    Students, enrollment, and contracts

  3. 03
    ADAPTERS

    External services

    Asaas, ZapSign, and communication

  4. 04
    AUDIT

    State and reconciliation

    Firebase / operational history

intent → policy → authoritative state → observable effect
EXECUTION TRACE / ILLUSTRATIVE

One path. Every decision in view.

An editorial sequence for discussing contract, authority, and effect. It does not represent real production telemetry.

  1. OPS

    Validates fields, operator role, and unit context.

    enrollment.requested
  2. DOMAIN

    Persists the pending enrollment and creates workflow intents.

    workflow.committed
  3. ADAPTERS

    Dispatches contract and billing with idempotency keys.

    provider.references
  4. AUDIT

    Reconciles responses and exposes pending work without collapsing states.

    operation.visible

DECISION LOG. 03 / TRADE-OFFS

Every choice costs something.

Model the business flow first and treat payments, signatures, and communication as replaceable integrations.

  1. 01 / DOMAIN

    Journey before provider

    GAIN
    The product remains legible when an integration changes.
    COST
    Adapters and intermediate states require additional modeling.
  2. 02 / DELIVERY

    Operational vertical on Firebase

    GAIN
    Authentication, data, and interface reach the real context early.
    COST
    Audit and analytical queries need well-defined boundaries.
  3. 03 / AUTOMATION

    WhatsApp and AI at the edge

    GAIN
    Communication accelerates without becoming the contract authority.
    COST
    Context, consent, and handoff must cross the workflow.

RELIABILITY. 04 / FAIL WITH CONTEXT

Failure mode. Signal back.

These are not published production metrics. They are risks the design must make observable and candidate signals for the next round.

FAILURE MODES
  1. 01

    A payment webhook is duplicated or received out of order.

  2. 02

    The contract is signed while payment remains unresolved.

  3. 03

    An overly broad permission exposes or changes an unauthorized operation.

OBSERVABILITY CANDIDATES
  1. 01

    Time and abandonment between enrollment, signature, and first payment.

  2. 02

    Items stuck in the cross-provider reconciliation queue.

  3. 03

    Administrative actions recoverable through the audit trail.

INCIDENT DRILL. 05 / CONTAINMENT → RECOVERY → PROOF

When the hypothesis breaks.

Editorial resilience exercises, not real incidents or production runbooks. Each drill turns a failure mode into a response that can be discussed and tested.

DRILL-01A payment webhook is duplicated or received out of order.SIMULATION / NATIVE

Response to: A payment webhook is duplicated or received out of order.

CONTAIN
Persist the provider receipt and reject any transition that violates the current billing version.
RECOVER
Reprocess idempotent events in causal order and query the provider if the sequence remains ambiguous.
PROVE
Reconcile value, external reference, and internal state without duplicating settlement, commission, or student communication.
DRILL-02The contract is signed while payment remains unresolved.SIMULATION / NATIVE

Response to: The contract is signed while payment remains unresolved.

CONTAIN
Preserve signature and payment as independent states and keep enrollment in an explicit pending state.
RECOVER
Resume only the financial step, offering the operator a safe choice to charge, wait, or cancel.
PROVE
Show the composed journey, next action, and trail proving that no intermediate state was erased.
DRILL-03An overly broad permission exposes or changes an unauthorized operation.SIMULATION / NATIVE

Response to: An overly broad permission exposes or changes an unauthorized operation.

CONTAIN
Revoke the affected session, deny by default, and preserve the record for scope investigation.
RECOVER
Correct the role-and-unit policy, recalculate authorization, and require new operator authentication.
PROVE
Run the access matrix and confirm in the audit log that reads and mutations follow least privilege.

DESIGN EXERCISE / REVIEW AGAINST REAL TELEMETRY AND RUNBOOKS BEFORE OPERATING

EVIDENCE. 06 / WHAT CAN BE DEFENDED

Facts in view. Gaps too.

Consolidate the audit trail, role-based permissions, and cross-provider failure handling.

VERIFIED FACTS
  • React + Vite + Firebase
  • Asaas + ZapSign
  • WhatsApp + AI
  • Operations for dance and sports
PUBLIC ARTIFACTNOT EXPOSED

No capture was published for this cut. The portfolio preserves the gap instead of manufacturing visual evidence.

INTERVIEW MODE. 07 / DEEPEN THE CONVERSATION

Three points to open on the board.

Questions that connect the case to system design, product, and operations without turning a contextual decision into a universal rule.

  1. 01

    How to model a saga without hiding intermediate states from the operator.

  2. 02

    When to trade managed-backend convenience for custom services.

  3. 03

    How to make permissions and audit part of the experience, not a patch.

CASE FILE / 02

Architecture is a hypothesis.
Real use is the test.

Meet the builder