Avukat için Dava Özeti Chatbot
Avukat dosyaları yükler, AI tüm belgeleri okuyup dava özet + önemli tarihler + riskleri özetler.
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
6 saate sığar mı?
Bootcamp modunda sıkıştırılmış senaryo.
M — 8-16 saat. PDF ingestion + RAG/context + chat UI.
Ne ile inşa edeceksin?
Sıfırdan yazmayacaksın — bu parçaları birleştireceksin.
Hangi parçalar?
Her parça ayrı bir commit. Sırayla yakala.
- 1Dava klasörleri
- 2Çoklu PDF upload
- 3Embedding + semantic search
- 4Claude chat ile soru-cevap
- 5Önemli tarihler çıkarımı
- 6KVKK veri silme
Piyasada kimler var?
Rakip değil, referans. Sen onlardan küçük, hızlı ve yakın olacaksın.
Neden evet, neden hayır?
Kısa bir gerçeklik testi.
Avukat saati pahalı → yüksek fiyat dayanıklı
Hukuki risk, halüsinasyon tolere edilmez
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
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.
# 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örTürkçe, WhatsApp ile randevu onayı gönderen, müşteri geçmişini takip eden niche CRM.
Online PT'ler müşteri hedeflerini giriyor, AI 4 haftalık egzersiz programı + beslenme planı üretiyor, PDF export.
Airbnb hostları için check-in/check-out/review otomatik mesaj şablonları + AI cevap önerileri.