Inspiration
Legal documents are written for lawyers, but signed by everyone. In South Africa, a huge number of people sign contracts they don't fully understand — not because they're careless, but because legal help feels intimidating, expensive, or simply out of reach. Through conversations with freelancers and small business owners, we kept hearing the same story: an NDA lands in their inbox, or a client sends over a service agreement, and they sign it anyway because getting a lawyer to look it over isn't realistic on their budget or timeline.
We got fixated on that gap: the space between receiving a contract and feeling confident enough to act on it. So we set out to build the "legal chommie" everyone wishes they had in their back pocket, someone to sit beside you and say, "Heads up, this bit matters."
What it does
Shap't is an AI legal companion built for the South African context. It helps ordinary people, freelancers, and small business owners understand, question, and create contracts, minus the courtroom energy.
Understand it — Upload a contract and get a plain-language summary of your rights and obligations. Check it — Shap't flags the clauses that actually matter: cancellation terms, payment penalties, intellectual property, restraint of trade, and more. Create it — A guided conversation walks you through generating professional service agreements or NDAs from scratch. Ask it — Ask questions in normal, everyday language and get answers grounded in South African legal context. How we built it
Built for the Gemini XPrize, Shap't leans on the reasoning power of Google's Gemini models to parse dense legal terminology and translate it into something usable. A lot of our effort went into "prompt engineering with personality," making sure the AI doesn't just act as a translator, but as a supportive companion that understands why a clause matters, not just what it says. On the frontend, we deliberately moved away from sterile "corporate blue" legal-tech aesthetics in favor of a warm, editorial visual identity that feels human and tactile rather than clinical.
Challenges we ran into
The hardest balance to strike was legal accuracy versus human readability. Legal language is dense for a reason, and we had to be careful that simplifying it never tipped into being misleading. This meant investing serious time in "legal guardrails": logic that helps Shap't know exactly when it's safe to offer clarity, and when the right answer is, "This one is worth checking with a real lawyer."
Accomplishments that we're proud of
We're proud of the voice we gave this product. We managed to step away from the robotic, intimidating tone that traditional legal tech usually has. Watching Shap't explain a "restraint of trade" or "indemnity clause" in a way that makes a freelancer feel empowered instead of anxious was the moment we knew we'd built something people would actually want to use.
What we learned Access to information isn't enough on its own — people need confidence. Building for South Africans taught us that local relevance (the right tone, the right rhythm, the right legal context) is what actually earns trust. We also learned a lot about using Gemini not just to identify what a clause says, but why it matters to the specific person reading it.
What's next for Shap't We want to grow our library of South African-specific guided contracts for small businesses and creators, and go deeper on industry-specific risk flags. Under South African law, signing a contract means you're deemed to have read and understood it, whether you actually did or not, and you're bound by its terms regardless. That's exactly the risk we want to close: no freelancer or small business owner should end up bound to a clause they never understood simply because they put their signature on it. Longer term, we want to integrate more closely with local legal resources, creating a seamless bridge between "I understand this" and "I'm ready to sign."
Built With
- firebase
- firebase-storage
- firestore
- gemini
- google-cloud
- next.js-(react
- node.js
- tailwind
- typescript
- vertex
Log in or sign up for Devpost to join the conversation.