eva
← Digest·reddit·r/legaltech·seanthegeek

I created a self-hosted, open source case calendar system

June 2, 202661💬original ↗
Implementation Story

Post

I'm a cybersecurity professional who enjoys tracking cybercrime, natsec, and other cares like Anthropic v. DOW on CourtListener. At first, I manually created calendar entries of deadlines and hearing dates so I'd know when to check PACER for new documents. But, this became painful to do by hand. So, I created this open source project that uses AI and to do that for me. * [Documentation](https://docs.casecalendar.net/) * [Source code](https://docs.casecalendar.net/) * [Live demo](https://casecalendar.net/) Features * **Per-case calendar feeds** in standard ICS — subscribe from Proton, Apple, Google, Outlook, Thunderbird, or anything else that speaks iCalendar. * **Push to Google Calendar and Microsoft 365 / Outlook**, opt-in, with one-time OAuth. Events are deduplicated server-side so reschedules update existing events rather than creating new ones. * **Filing-deadline tracking** on every docket, uniformly — the LLM tags each deadline major or minor, and only major ones (dispositive briefing, sentencing memos, PSR objections, surrender dates, and the like) reach subscriber calendars; procedural filings stay in the audit trail. * **AI case summaries** (opt-in) generate a 2-4 sentence prose description of each case from its primary document plus any dispositions, with each summary’s action phrases linked to the source court documents (“**were charged**” links to the indictment, “**pled guilty**” to the plea agreement). Refuses to fabricate when source documents are insufficient. Auto-refreshes whenever a new charging document, judgment, plea agreement, or dispositive ruling lands — or a tracked hearing or deadline changes status. * **Real-time webhook receiver** — register a public HTTPS URL with CourtListener and bypass the daily polling quota entirely. * **Static landing page** with one-click subscribe buttons, client-side sort, and dark mode, generated alongside the ICS files. Each case row carries an **upcoming-events preview** — a compact agenda of its next hearings and deadlines in court-local time, with an expandable “+N more” — so visitors can see what a calendar holds without subscribing; the preview shows exactly the events in the matching ICS feed. * **Court-local timezones** preserved on every event so a 3 PM Pacific hearing stays “3 PM Pacific” through DST and travel. * **Multi-docket cases** collapse into one logical case — district + appellate, parallel filings, cooperating co-defendants in the same conspiracy.