Skip to content
In development2026

Kutylawsuit

A platform that prepares demand letters and court documents from user narratives.

Web
Let’s build something like this
Kutylawsuit interface 1
Kutylawsuit mobile interface 1
SaaSAMG / 26
Project
Our own product
Our role
Design · Software development
Platforms
Web

01 / Behind the product

A real need. A considered solution.

01

Challenge

Someone filing a US small-claims case does not know what information to provide first; the 50 states and DC differ in forms, limits and procedure. A document prepared without a lawyer must still fit the official form, with the user’s narrative landing in the right place.

02

Approach

The user’s plain-language account is captured step by step; reference data for 51 jurisdictions is typed in the repo and document options are resolved per state. Drafts are generated with Gemini, falling back to Claude when the key is absent; PDFs are built client-side with jsPDF. Payment runs through Stripe Checkout with webhook verification, and every integration degrades gracefully without its key. Auth, Postgres and storage are on Supabase with row-level security on. English and Spanish interfaces share one product.

03

Result

Demand-letter and court-document preparation as an end-to-end web workflow; assistant, case flow, document list and account screens are in the product. Development continues.

03 / Scope & details

The details make the experience.

  • 01

    Typed reference data for 51 jurisdictions

  • 02

    Drafting with Gemini, Claude as fallback; jsPDF on the client

  • 03

    Stripe Checkout with webhook verification

  • 04

    English and Spanish; Supabase RLS

Technology

Next.jsReactTypeScriptSupabaseStripe

nextjs / react / typescript / supabase / stripe

INSIDE THE PRODUCT

The engineering behind the interface.

Systems we built and concrete problems we addressed in this project.

01

51 jurisdictions, typed

src/lib/data/jurisdictions.ts holds form, limit and procedure data for 50 states and DC; document options resolve per state from it. The schema lives under supabase/migrations, with document content and feedback in separate migrations.

02

Drafting with a provider fallback

api/generate-document drafts with Gemini and falls back to Claude when GEMINI_API_KEY is absent. The PDF is built client-side with jsPDF; no document body travels to the server for rendering.

03

Payment verification

api/checkout opens a Stripe Checkout session, api/stripe/webhook verifies the signature and updates the record, and api/verify-payment lets the client poll status; without a key the integration degrades gracefully.

Your idea could be next.

What could we build for you?

From a first release to a growing platform. Let’s plan the design, development and launch together.

Tell us about your project

From Türkiye to the US, UK, Australia and everywhere in between.