Legal Case Tracker (Turkish Family Law)
Track clients, cases, hearings, and events for a solo practice — SQLite-backed, fully local, with fuzzy search and natural-language queries.
- Tools
memory_search- Plugins
case-tracker- Channels
telegramdesktop- Uses
pre_llm_callaudit
A solo or small-firm legal practice manages dozens of active cases. Commercial CRMs are over-built for the use case (and store sensitive data on someone else's servers). The case-tracker plugin gives a small practice a private, fully local case management system, with the agent acting as the natural-language interface.
What it does
- SQLite database at
~/.flowly/case-tracker/cases.db— never leaves your hardware - Six tools:
case_create,case_search(fuzzy),case_get,case_update,case_add_event,case_list /caseslash command for status, add, log, removepre_llm_callhook: when active cases exist, injects orientation into every conversation so the agent preferscase_searchover generic memory tools when you mention a client name- Automatic audit log: every tool call recorded for compliance review
What you'll need
- The bundled
case-trackerplugin enabled - Telegram or Desktop channel
- Optional: scheduled imports from your case files
Setup
1. Enable the plugin
flowly plugins enable case-trackerflowly service restart
Verify it's loaded:
flowly plugins list# Should show: case-tracker | enabled | provides_tools: case_create, case_search, ...
2. Create your first case
From any channel:
"Mehmet Demir adında yeni bir boşanma davası açayım — duruşma 15 Mayıs."
The agent calls case_create, confirms the record. Add subsequent events:
"Mehmet'in davasında bugün arabuluculuk toplantısı yapıldı, karşı taraf 30 gün uzatma istedi."
Logged via case_add_event.
3. Query naturally
Whether the case is fresh or six months old, the agent uses
case_search first because the pre_llm_call hook orients it:
"Mehmet hakkında ne durumda?"
Returns the case detail + recent timeline. Same flow works for any client name, partial matches, or even informal references like "o anlaşmazlık geçen ay".
4. Slash commands
Tips
- Audit log is your friend.
~/.flowly/case-tracker/log.jsonlrecords every read and write. Required for some compliance regimes. - Backup the database. It's plain SQLite; nightly
cpto encrypted storage is enough. - Don't expose case data over remote channels casually. Use Desktop or local Telegram for sensitive content. Avoid public Web chat for client-confidential conversations.
- Customise the orientation prompt. The bundled
pre_llm_callreturns Turkish-family-law-specific text. Edit__init__.pyif you practice a different domain — corporate, IP, etc. — to align the orientation. - Per-client memory tags. Tag related notes/emails/research with
case:<id>so memory_search complements the structured DB. The agent will combine both seamlessly.