Moya Dashboard
Multi-user legal case management system for an Argentine law firm, in daily use by lawyers and administrative staff. It replaced a manual process run on spreadsheets and email. I am the sole developer: I designed it, and I develop, test, and maintain it.
- Role
- Sole developer (design, development, testing, support)
- Status
- Private, available on request
- Stack
- React + Vite, TypeScript, Tailwind, shadcn/ui, Supabase (PostgreSQL + Auth + Edge Functions), TipTap, jsPDF
Screenshots
Click any image to view fullscreen.
Technical highlights
Permissions enforced in the database
Control over which cases each user can see is implemented with row-level policies in PostgreSQL, rather than validated screen by screen. If the application code misses a check, access is denied by default.
Rules-based routing instead of a model
Incoming email from courts and clients is assigned to cases with explicit rules, because the firm has to be able to justify why a given message was assigned to a given case.
Reproducible calculations
Settlements and interest updates work with decimal precision and rates tied to their effective date, so the same calculation over the same data always returns the same result.
Testing before each release
I verify the critical flows in an environment separate from production, with boundary data and error cases, and keep automated tests over the calculations and the routing rules.
User support and releases
I reproduce the reported incident and isolate it with SQL queries, log reading, and the browser network panel. I determine whether it is a configuration or permissions problem or a system error, resolve or escalate it, and confirm the outcome with the user. Releases are incremental and ship with release notes and usage instructions.
Email handled inside the system
Each firm works from a shared inbox, with per-user OAuth tokens kept separate so every lawyer sends from their own identity and no message has to be copied into a case by hand.
Documents generated without a separate service
Legal documents are produced in the browser from the firm's own templates, so there is no document service to operate and no server round-trip.
Access
The repository and a live walkthrough are available on request at contact@franquiroga.dev.