Saltar al contenido
Todo el trabajoCaso 04 / 05

Trebble

A case-management platform for law firms, with cases, scheduling, in-platform client communication and Stripe-powered billing.

  • Launch

Servicios

  • React
  • TypeScript
  • Django
  • PostgreSQL
  • Python
  • Stripe
2026

Project

Trebble is a case management platform for law firms. It gives firms one place to manage cases, contacts, calendars, client messages, documents, referrals, and billing. It has two parts, a public website , and a web app where lawyers and staff do their daily work. We built everything using a React front end and a Django back end.

The Trebble public website.The Trebble public website.

The brief

Law firms deal with deadlines, documents, invoices, and private client information every day. The goal was to put everything into one secure system that a law firm could use for all of its work. Three things were important.

One system, not many

Many firms were using separate tools for calendars, email, billing, and spreadsheets. Trebble brings cases, scheduling, communication, and billing together in one place.

Five tools and a folder of spreadsheets, replaced by one app.

Confidentiality

Client information is confidential, so each person only sees what they should.

Who sees what

  • Lawyersall cases, documents, billing, and history
  • Paralegalstheir assigned cases and tasks
  • Clientsonly their own cases and messages

Data Structure

The platform needed clear records and links between them before we could build the interface.

  1. 01

    Cases & matters

    • Case type, status, contacts, and staff
    • Documents and case history
  2. 02

    Time & expenses

    • Time and expenses linked to a case
    • Ready to create invoices
  3. 03

    Invoices & payments

    • Invoices created from tracked work
    • Payments handled with Stripe

Architecture & Design

We split the project into two parts, a React application for the interface, and a Django back end for storing the data, managing accounts, and handling billing.

A decoupled architecture

The front end and back end are separate applications. The browser loads the interface once, then gets data when needed. Each part can be built, tested, and deployed on its own.

One design system

The platform has many modules, so they all needed the same look and feel. We built reusable components including tables, forms, cards, and dialogs. This keeps the interface consistent and makes new modules easier to build.

React on the front end

The interface is built with React, the library used by products such as Netflix and Airbnb. It is well suited for large web applications where people expect fast interaction without reloading the page. Every file is written in strict TypeScript, so data like cases, invoices, and contacts is checked while we write the code.

The dashboard showing invoices, cases, and tasks (client names redacted).The dashboard showing invoices, cases, and tasks (client names redacted).

The dashboard gives a quick overview of the firm. It shows invoice totals, open and closed cases and outstanding tasks. All data comes live from the API.

Django on the back end

We chose Django, the Python framework behind products like Instagram. It is a mature framework with strong security features and is a good choice for applications with large amounts of data and administration. It includes authentication, permissions, an admin panel, and a reliable database layer for PostgreSQL.

Roles and permissions

The lawyer, paralegal, and client roles are managed by Django's authentication system. Each user only has access to the information they are supposed to see.

The business logic

The platform stores much more than contact details.

  1. 01

    Cases & contacts

    Each case stores its contacts, staff, documents, and history.

  2. 02

    Time & billing

    Track work and expenses, then create invoices from them.

  3. 03

    REST API

    One API provides data for the whole application.

Real-time communication and billing

These features help firms do their work inside Trebble instead of using other tools.

Messaging inside the platform

Law firms and clients can chat in real time inside Trebble. The platform also supports email and bulk email. Messages stay connected to the correct case instead of being spread across different inboxes.

Built-in chat between the law firm and its clients (contact names redacted).Built-in chat between the law firm and its clients (contact names redacted).

Getting paid

Billing uses stripe. Invoices are created from tracked time and expenses, and payments are processed by Stripe, so payment card information is always kept secure.

The Stripe link in the dashboard sidebar.The Stripe link in the dashboard sidebar.

Scheduling

The calendar is part of the platform, not an extra tool. Events are linked to cases, include reminders, and can become video meetings. Hearings, client calls, and deadlines all stay connected to the right case.

The calendar with case events, reminders, and video meetings.The calendar with case events, reminders, and video meetings.


What was shipped

We built Trebble into a complete platform where a law firm can manage cases, contacts, calendars, communication, documents, referrals, coverage, reports, and billing in one place.

Modules in one app
8

Cases, contacts, calendar, communication, referrals, coverage, reports, and billing.

Separate codebases
2

One React application and one Django REST API.

Marketing site load
1.9s

Median load time on a first visit.


The platform uses one React application. Every module shares the same design system. The interface loads once and requests data only when needed, so moving between cases, the calendar, and chat feels fast.


The Django REST API manages the data, user accounts, and billing. It includes role-based permissions, structured records for cases, time, and invoices, stripe payments, and a full admin panel. New features can be added by creating new API endpoints instead of rebuilding the platform.

Standards and Security

Because Trebble stores confidential legal information, security was built in from the beginning. Authentication, sessions, and role-based permissions come from Django trusted security features, so only the right people can access each case. Payments are processed by Stripe, so payment card information stays with a PCI-compliant provider. Cases, invoices, time records, and messages all stay together in one connected system. The public website also loads in under two seconds on a first visit.

Conclusion

Trebble shows how a modern web platform can replace many separate tools with one connected system. From case management and calendars to messaging and billing, every feature works together through a shared React front end and a Django back end.

By building the platform from scratch, we created a strong foundation that is easy to extend with new features while giving law firms a faster and simpler way to manage their daily work.

¿Tienes algo que valga la pena construir?

Cuéntanos qué estás creando. Te diremos —con honestidad— si somos el equipo adecuado y cómo lo abordaríamos.

  • Respuesta en un día hábil
  • Un presupuesto detallado — gratis
  • Directo a un ingeniero, sin capa comercial