Listeye dön
Vertical SaaS/31

Avukat için Dava Özeti Chatbot

Avukat dosyaları yükler, AI tüm belgeleri okuyup dava özet + önemli tarihler + riskleri özetler.

Zaman
6 saat
bootcamp süresi
Kim ödeyecek
Küçük işletmelere
Bağımsız avukat ve küçük avuka
Para hedefi
₺59.9k MRR
Abonelik
Stack
Next.js + Supabase + Claude
AI merkezde
/01

Kimin derdi bu?

Gerçek bir insan, gerçek bir acı. Kafanda canlandır.

Kim
Bağımsız avukat ve küçük avukatlık büroları
Canı yanan yer
Dava dosyası özetleme saatler; duruşma öncesi hızlı özet yok
Şu an nasıl yapıyor
Stajyere okutma veya gece geç saate özetleme
/02

6 saate sığar mı?

Bootcamp modunda sıkıştırılmış senaryo.

M — 8-16 saat. PDF ingestion + RAG/context + chat UI.

/03

Ne ile inşa edeceksin?

Sıfırdan yazmayacaksın — bu parçaları birleştireceksin.

FrameworkNext.js 15 App Router
UIshadcn/ui + Tailwind
DatabaseSupabase Postgres + pgvector + Storage
AuthSupabase Auth magic link
AIClaude Sonnet 4.6 (200k) + embeddings
DeployVercel
/04

Hangi parçalar?

Her parça ayrı bir commit. Sırayla yakala.

  1. 1Dava klasörleri
  2. 2Çoklu PDF upload
  3. 3Embedding + semantic search
  4. 4Claude chat ile soru-cevap
  5. 5Önemli tarihler çıkarımı
  6. 6KVKK veri silme
/05

Piyasada kimler var?

Rakip değil, referans. Sen onlardan küçük, hızlı ve yakın olacaksın.

/06

Neden evet, neden hayır?

Kısa bir gerçeklik testi.

Neden evet

Avukat saati pahalı → yüksek fiyat dayanıklı

Neden hayır

Hukuki risk, halüsinasyon tolere edilmez

/07

Para nereden gelir?

Bir çerçeve, değil kesin plan. İlk 100 kullanıcıya odaklan.

Fiyat
₺1499/ay avukat başı
Hedef ARR
40 × ₺1499 = ₺59.9k MRR
Model
Subscription
/08

Claude Code'a ver

Aşağıdaki prompt'u olduğu gibi kopyala, Claude Code'a yapıştır. Stack, veri modeli, 6 saatlik inşa sırası ve başarı kriterleri içinde.

prompt.md
# Avukat için Dava Özeti Chatbot

**Ne inşa ediyoruz:** Dava klasörüne PDF yüklenince embedding + semantic search + Claude ile "şu belgede ne yazıyordu" chat.

**Kullanıcının işi (JTBD):** 40 sayfalık 10 belgenin olduğu bir davada, duruşmadan 1 saat önce "şu maddeyi kim, ne tarihte söylemişti" bulmak istiyorum, dosyayı baştan sona okumadan.

---

## Stack
- Next.js 15 + TS strict, Tailwind + shadcn/ui
- Supabase (magic link + Postgres + pgvector + Storage)
- pdf-parse, Voyage AI embeddings (veya OpenAI)
- Claude Sonnet 4.6 (200k)
- Deploy: Vercel

## Veri modeli
```sql
create extension if not exists vector;

create table cases (
  id uuid primary key default gen_random_uuid(),
  user_id uuid, name text, created_at timestamptz default now()
);

create table documents (
  id uuid primary key default gen_random_uuid(),
  case_id uuid references cases on delete cascade,
  file_path text, filename text, page_count int
);

create table chunks (
  id bigserial primary key,
  document_id uuid references documents on delete cascade,
  page int, text text, embedding vector(1024)
);

create table messages (
  id uuid primary key default gen_random_uuid(),
  case_id uuid references cases on delete cascade,
  role text, content text, citations jsonb,
  created_at timestamptz default now()
);
```

## Ana akışlar
1. Case oluştur → çoklu PDF upload.
2. Ingest job: pdf-parse + 500 token chunk + Voyage embed + pgvector insert.
3. Chat UI: soru sorulur → top-k (k=8) chunk retrieve → Claude'a context + "cevap ver ve {document, page} sitasyonları ver".
4. Messages log, sitasyonlara tıklayınca PDF o sayfaya atlasın.

## 6 saatlik inşa sırası
- 0:00–1:00 — Scaffold + auth + pgvector setup
- 1:00–2:30 — Upload + ingestion job
- 2:30–4:30 — Chat UI + retrieval + Claude
- 4:30–5:30 — Sitasyon + PDF navigasyon
- 5:30–6:00 — Deploy + disclaimer

## Başarı kriteri
- [ ] 3 PDF'li davada doğru sitasyon ile cevap
- [ ] Halüsinasyon "kaynağı yok" demekle bitiyor
- [ ] Sitasyonlar çalışıyor
- [ ] Canlı URL

## Dikkat
- **Hukuki sorumluluk** — her cevapta disclaimer.
- PDF'leri Storage'da sakla, DB'ye metin koy.

Bu sana uymadı mı?

Hepsini gör