Project story — Tribunal Ally

What inspired this

I did not start Tribunal Ally as a startup idea. I started it because I had to go to an Employment Tribunal myself. When you are in that position, the system is public and the language is not. You are told there is a deadline, that you must go to Acas first, that you should keep a bundle, that a COT3 might end the claim. None of that arrives as a calm sequence. It arrives as PDFs, portal emails, and a feeling that one missed date could close the door. I also kept hearing the same pattern from other people: performance processes that appeared overnight, “without prejudice” conversations that felt like pressure, grievances that went nowhere, and workers who could not afford a solicitor trying to write an ET1 at the kitchen table. The stories are increasing. The official guidance exists — GOV.UK and Acas are good — but it is scattered, and it does not hold your dates, letters, and chronology in one place. Tribunal Ally is the tool I needed then: workplace problems, organised. Guidance and a case file, not a substitute for a lawyer.

What I learned

I learned that most of the harm is administrative, not rhetorical. People lose time to:

  • mixing up a workplace grievance with a tribunal time limit (an internal process does not pause the clock);
  • treating a COT3 like a casual email, when agreement can bind before a signature;
  • dumping a folder of emails and calling it a bundle;
  • writing particulars before they have a dated chronology. I also learned the limitation arithmetic that every litigant in person meets first. For many claims the primary window is three months minus one day from the act or the end of employment, then Acas early conciliation can pause that clock. In plain form: $$ T_{\text{primary}} = 3\text{ months} - 1\text{ day}, \qquad T_{\text{ET1}} = f(T_{\text{primary}},\ \text{Day A},\ \text{Day B}) $$ Only a tribunal decides whether a claim is in time. A calculator can show the stages; it cannot grant an extension. On the product side I learned that “legal AI” is the wrong promise. The useful job is drudgery: extract dates and names from a letter, put them on a timeline, flag a 7-day interim-relief window, draft from confirmed facts. The model should be cheap and checked by the human. The citations should be Acas and GOV.UK, not a hallucinated case.

How I built it

I built a working proof of concept in the last week on Doany: intake (“check your position”), evidence tracker, limitation calculator, ET1 particulars wizard, remedies/schedule of loss, tribunal-prep checklists, then a public Guidance hub (claim types, process issues, COT3 vs settlement agreement, FAQs) with official links. The next step — this hackathon work — is to productise that POC on Google Cloud: move auth and data to Firebase (Auth, Firestore, Storage), run the app on Cloud Run, and replace Doany’s InvokeLLM with Gemini 3.5 via the Gemini API or Vertex AI, using a small agent (ADK / GenAI SDK) that uploads a document, extracts structured events, and writes them only after the user confirms. The stack I am aiming at:

  • Frontend: the existing React/Vite app (Guidance hub public; case file behind sign-in).
  • Backend: Firebase Auth (email + Google), Firestore, Storage in a UK/EU region.
  • Agent: Gemini Flash / Flash-Lite for extraction; a stronger Flash pass only for drafts from confirmed facts.
  • Hosting: Cloud Run, so judges can see a Google Cloud backend. I am not asking the model to say whether someone will win. I am asking it to turn a messy letter into a row on a timeline.

Challenges

Tone vs duty. People in this situation are frightened. The product has to stay calm and must never pose as a firm. Every tools page repeats: organisation and information, not legal advice. Platform lock-in. The POC lives on Doany. Auth, entities, private file upload, and the LLM are theirs. Export is a file tree, not a one-click ZIP. Hosting independently means replacing those services on Google Cloud without losing the careful copy already written. Personal data. Tribunal papers are highly sensitive. That means no work email, no sending whole bundles to an expensive model in one shot, region choice for Firestore, and extraction that the user confirms before it becomes “their record.” Time. I am building this around family life and a short hackathon window. The constraint forced a clear cut: ship a grounded case file and a cheap extract pipeline, not a chatbot that pretends to practise law.

What I want someone to feel after ten minutes is not “AI assessed my case.” It is: I know the next date, I have my own account of what happened, and I know which official page to read before I sign anything.

Built With

Share this project:

Updates

Submission history