Example application · Financial services

A complaints register that stands up to an exam.

Log, investigate, remediate and report written complaints, with every step attributed and every rule enforced at the record.

Built for broker-dealers and advisers handling written customer complaints and quarterly statistical reporting, and easy to adapt to banking or insurance complaint programs.

The starting spec

This is what the App Configurator generates when you start from this example. Every row is editable before you publish, and every mechanism stays available inside the running app, so the app can keep changing after launch.

App Configurator · complaints-register · starting spec8 rows · edit before you publish
KindNameDefinitionNotes
1Hubcomplaintcustomer · account · received_at · channel · categoryPrimary record
2Childcommunicationcomplaint 1 → n · direction · sent_at · bodyShown inline on the complaint form
3Childremediationcomplaint 1 → n · action · amount · approved_byRequires approval to save
4Indexcomplaint_unique(customer, account, received_at) uniqueBlocks duplicate intake
5Statescomplaint.lifecycleReceived → Triaged → Investigating → Resolved → ClosedSee transition rules
6SoDclose_ruleclosed_by ≠ investigated_bySeparation of duties
7ReportagingOpen complaints by state × age bucketDashboard and kanban
8ReportquarterlyCounts by category and product, per quarterRegulatory statistical filing

Early accessOpen this spec in the App Configurator, change what doesn't fit, and download the application file.

The lifecycle

Every transition carries its own role requirement and evidence. A transition that isn't defined can't happen, from any entry point.

Transition rules · written complaint record
TransitionWho may make itWhat must be trueResult
Received → TriagedIntake analystClassification code assignedAllowed · attested
Triaged → InvestigatingSupervisorNamed investigator assignedAllowed · attested
Investigating → ResolvedInvestigator. An agent may draft findings; a human signs.Findings and evidence attachedAllowed · attested
Resolved → ClosedPrincipal, never the investigatorCustomer response sentAllowed · separation of duties checked
Investigating → ClosedNo oneTransition not definedRefused · refusal recorded

What you get that the usual tools don't give you

Exam readiness

The trail is the evidence

Who received, triaged, investigated and closed each complaint is on a hash-chained record, not reconstructed from email.

Reporting

Quarterly filing from the record

Statistical reports come straight from attested records, so the numbers and the evidence always agree.

Agents

Drafting without deciding

Agents can classify complaints and draft findings. People make the decisions the rules reserve for them.

Start from this spec.

Open it in the App Configurator, rename it in your terms, change what doesn't fit, and review the result before anything runs. Your license includes full access to its source. Or bring it to the development advisory and we'll shape it with you.

← All example applications