CestaLaw
Research platform for European Court of Human Rights case law
- Role
- Co-founder · Backend architecture
- Period
- 2026 —
- Status
- Live
- Links
- Visit site ↗
By the numbers
11 - shared platform foundation
22 - distinct jurisdictions
00 - model calls on the request path
Overview
Sister product to CestaLex, focused on European Court of Human Rights case law and expanding toward wider European jurisdictions.
- ECHR judgments have their own citation structure and procedural logic; the search and citation layer was modelled for this corpus specifically.
- Kafka handles inter-service communication and Redis caches the hot read paths.
- An AI microservice plugs into the drafting flow, with model calls kept off the request path.
01
Problem
ECHR jurisprudence works differently from Turkish domestic law: citation structure, admissibility criteria and precedential weight all differ. Copying CestaLex's search layer wholesale would have produced wrong results.
Running two products on two separate infrastructures was also unsustainable for a small team. The question: what to share, and what to model separately?
02
Approach
Multi-tenancy, authentication, Kafka-based event communication, Paraşüt invoicing and CI/CD come from the shared platform foundation. The search and citation layer was modelled from scratch for the ECHR corpus.
A collaborative AI microservice plugs into the drafting workflow; model calls run asynchronously off the request path, and Redis caches the hot judgment pages.
03
Architecture
- Client
- React
- Taslak editörü
- Shared foundation
- Kimlik doğrulama
- Kiracı izolasyonu
- Paraşüt faturalama
- ECHR-specific
- Atıf modeli
- Arama servisi
- AI mikroservisi
- Infrastructure
- Kafka
- Redis
- PostgreSQL
- Docker · CI/CD
04
Key decisions
- 01
Share the infrastructure, not the domain model
Identity, invoicing and the event backbone are shared; corpus-specific search and citation logic is not. Both products move at the same speed without corrupting each other's domain rules.
- 02
Put the hot read paths in Redis
Judgment pages are read often and change rarely. The Redis cache takes load off the database and speeds up page loads.
Outcome
CestaLaw is in production. The full stack is containerized and deployment is automated with multi-repo CI/CD. The platform is designed to expand into further European jurisdictions.
What I learned
“The technical infrastructure is shared between the two products, while search and citation logic is modelled separately for each body of case law. That split lets both products evolve at the same pace.”
Related projects
SaaSLiveCestaLex
AI-assisted case-law research platform for the Turkish courts
A case-law research platform for law firms, covering Yargıtay, the regional courts of appeal and the Constitutional Court, with semantic search, a streaming AI assistant and a document editor.
- 3
- isolation layers
- 3
- high-court corpora
- Java 21
- Spring Boot
- PostgreSQL
- Kafka
- Redis
- Qdrant
Open
BackendPrivate repoTaskify
Five microservices, sub-20ms real-time synchronization
Task management across five decoupled microservices, with Redis and Kafka syncing state between active users at sub-20ms latency.
- 5
- microservices
- <20ms
- sync latency
- Java
- Spring Boot
- Redis
- Kafka
- PostgreSQL
- Docker
Open- BackendIn development
TradeHub
Barter marketplace with a two-sided confirmation protocol
A barter marketplace. With no escrow, trust between two strangers is built through a two-sided confirmation protocol.
- 2
- phase confirmation protocol
- 5+
- microservices
- Java
- Spring Boot
- PostgreSQL
- Kafka
- Redis
- Docker
Open
