Active project
CaseProof
Active · in development
CaseProof is for anyone who needs a clear, dated record of what happened, like a workplace dispute, a landlord problem or an insurance claim. You write down what happened, and every edit becomes a new version, so the original is never overwritten.
It’s live at caseproof.app with free accounts, and I’m still actively developing it, so features may change. It’s a record-keeping tool, not legal advice, and it says so up front.
- My role
- Designed and built it, front end and back end.
- Built with
- TypeScript
- React
- Vite
- Express
- Prisma
- SQLite
- JWT auth
- PDF generation
- OpenAI API
caseproof.app

What it does
Features
- Versioned records: every edit creates a new version, and the full history stays visible.
- Cases and color-coded tags to organize and filter related records.
- File attachments (photos, screenshots, documents), each stored with a hash so corruption can be detected.
- Optional AI neutralization: rewrites an emotional account into plain, factual language. The text is sent to OpenAI’s API only when you press the button, and the privacy policy says so.
- Exhibit export: label a record as Exhibit A, B, C and export it as a PDF to share with an attorney or mediator.
- Read-only share links with an expiry date that can be revoked; actions in the app are recorded in an audit log.
Honest notes
What I’m not claiming
- It hasn’t had an independent security review.
- Timestamps come from the server. They aren’t cryptographically signed or verified by a third party.
- File hashes detect corruption. They aren’t independent proof that a file is authentic.
- It doesn’t certify records or say anything about whether they’d be admissible. That’s a question for a lawyer.
Screenshots
Captured from the public landing page in October 2026.


