Bas de Kort

 ██████╗  █████╗ ███████╗    ██████╗ ███████╗    ██╗  ██╗ ██████╗ ██████╗ ████████╗
 ██╔══██╗██╔══██╗██╔════╝    ██╔══██╗██╔════╝    ██║ ██╔╝██╔═══██╗██╔══██╗╚══██╔══╝
 ██████╔╝███████║███████╗    ██║  ██║█████╗      █████╔╝ ██║   ██║██████╔╝   ██║
 ██╔══██╗██╔══██║╚════██║    ██║  ██║██╔══╝      ██╔═██╗ ██║   ██║██╔══██╗   ██║
 ██████╔╝██║  ██║███████║    ██████╔╝███████╗    ██║  ██╗╚██████╔╝██║  ██║   ██║
 ╚═════╝ ╚═╝  ╚═╝╚══════╝    ╚═════╝ ╚══════╝    ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝   ╚═╝

mithril.md

Mithril
Jaar
2026
Rol
Maker & Lead Developer
Klant
Open source (MIT)
Stack
  • PHP 8.4
  • Laravel 12
  • MariaDB
  • Alpine.js
  • Tailwind CSS v4
  • TypeScript
  • Vite
  • Pest
Link
https://github.com/lengthofrope/mithril

Aanleiding

Een teamlead met drie PHP-teams heeft geen behoefte aan nóg een takenlijst. De praktijk is rommeliger: taken die eigenlijk op iemand anders wachten, follow-ups die je niet mag vergeten, 1-op-1's met per persoon een eigen context, een mailbox vol vlaggen en een Jira-bord dat je toch elke ochtend opnieuw openklikt. Dat past niet in een to-do-app, en al helemaal niet in mijn hoofd.

Mithril is ontstaan uit die eigen jeuk: een persoonlijke browser-startpagina die alles wat een teamlead op zijn bord heeft op één plek verzamelt, zonder mijn data bij een SaaS-partij te parkeren. De naam zegt genoeg: lichtgewicht harnas voor teamleiders.

Oplossing

Een Progressive Web App op Laravel, gebouwd om dagelijks als startpagina te draaien:

  • Taken met prioriteiten, categorieën, kanban- en lijstweergave, drag-and-drop, terugkerende taken en bulkacties.
  • Follow-ups in een tijdlijn (te laat > vandaag > deze week > later), automatisch gevuld vanuit taken die op "wachten" staan.
  • Meetings en 1-op-1's met prep-items, tijdsinschattingen en een statuslevenscyclus.
  • Teams & leden met profielpagina's die taken, follow-ups, meetinghistorie en afspraken per persoon bundelen.
  • Notities in Markdown met live preview, weekreflectie met grafieken, en een configureerbaar analytics-dashboard.

Geen "Opslaan"-knoppen; alles auto-saved via debounced AJAX. De UI heeft een donker en licht thema met een Rivendell-inspiratie (sage green, Philosopher/Outfit-typografie, subtiele elvish details); techniek mag ook mooi zijn.

Onder de motorkap

Waar het interessant wordt, zit in de integraties en de AI-laag:

  • Office 365: agenda-sync, e-mailinbox en automatische beschikbaarheid van teamleden via de Microsoft Graph API.
  • Jira Cloud: toegewezen, gevolgde en gementionde issues doorbladeren en koppelen aan resources, elke 5 minuten gesynchroniseerd.
  • Audio & AI: in-browser opnames via de MediaRecorder API, een zelf-gehoste Docker-transcriptieservice (faster-whisper + pyannote voor speaker-diarization, CPU én GPU), en multi-provider AI-extractie (OpenRouter, Anthropic) die actiepunten, beslissingen en samenvattingen uit meetings haalt; met een review-UI, want een LLM krijgt niet zomaar het laatste woord.
  • REST API met Sanctum-tokens en granulaire resource:action-rechten.

De hele boel draait op de queue met een Laravel-scheduler eronder, is als PWA installeerbaar met offline-fallback, en heeft tweefactor-authenticatie. Getest met Pest v4.

Status

Open source onder MIT-licentie op GitHub. Actief in gebruik als mijn eigen dagelijkse startpagina, en volop in ontwikkeling: precies het soort project dat ontstaat wanneer je een echt probleem hebt en toevallig zelf kunt bouwen wat je zoekt.