KovaRisk's audit trail lived in React state. If an investigator refreshed the page, their notes w...KovaRisk's audit trail lived in React state. If an investigator refreshed the page, their notes w...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
KovaRisk's audit trail lived in React state.
If an investigator refreshed the page, their notes were gone. Alerts came from a random seed at startup, and the audit log on screen was never written anywhere. It still demoed really well.
We rebuilt the layer underneath on Fastify, Prisma, PostgreSQL and BullMQ:
→ A real data model: Alert, Entity, Rule, AuditEvent and InternalNote → Transaction monitoring against versioned rules, in place of the seed → An append-only audit log, written server side with server timestamps and the authenticated user → Queued escalations, SLA timers and nightly sanctions re-screening
Every compliance action is now on record, and audit evidence takes under 30 minutes instead of 2 to 3 days.
A convincing front end takes about a week now. Deciding where state lives and who is allowed to write it takes longer, and a demo won't show you whether anyone did.
If you inherited a prototype like this, what's the first table you'd build?
Post image
Post image
Post image
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started