Bitlify home

AI operations dashboard

Switchboard AI operations dashboard

Switchboard brengt data uit Slack, Sentry, GitLab, Graylog en de interne wiki samen, zodat teams verbanden tussen errors, codewijzigingen, beslissingen, logs en actiepunten direct kunnen volgen.

LaravelSvelteAIClaude CodeSlackGitlabSentryGraylog

Uitdaging

Het werk van mijn team stond verspreid over Slack, Sentry, GitLab, Graylog en onze interne wiki. Zelfs simpele vragen, zoals welke codewijziging een error veroorzaakte of wat we vorige dinsdag over een bug besloten, kostten al snel tien minuten wisselen tussen tools.

Aanpak

Ik bouwde een app die alles samenbrengt en Claude gebruikt om Slack-activiteit samen te vatten, de meest waarschijnlijke codewijzigingen achter een Sentry issue te tonen en wiki-, GitLab-, roadmap- en logdata doorzoekbaar te maken.

Resultaat

De data was er al. Switchboard voegt de ontbrekende verbindingen toe, zodat een Sentry error direct kan leiden naar de release, vermoedelijke codewijziging, Slack-discussie en bijbehorende logmelding.

Ik bouwde Switchboard omdat het werk van mijn team verspreid stond over vijf verschillende tools: Slack, Sentry, GitLab, Graylog en onze interne wiki. Zelfs simpele vragen ("welke codewijziging veroorzaakte deze error?", "wat besloten we vorige dinsdag over die bug?") betekenden tien minuten wisselen tussen tools. Dus bouwde ik wat ik zelf nodig had: een app die alles samenbrengt en Claude gebruikt om de ruis om te zetten in iets dat je echt kunt lezen.

De Slack-kant spiegelt de kanalen die belangrijk zijn en laat Claude elke ochtend het verkeer van gisteren samenvatten. Het haalt de beslissingen eruit, de actiepunten die iemand oppakte en de SQL-snippets die tussendoor werden gedeeld. Elk item linkt terug naar de originele thread, zodat je in 30 seconden de kern hebt en kunt doorklikken als dat nodig is.

Bij Sentry wordt het interessant. De app haalt unresolved issues per release op en probeert te bepalen welke codewijziging ze introduceerde. Het kijkt naar de foutdetails, de betrokken bestanden en recente merge requests. Daarna vraagt het Claude om de meest waarschijnlijke oorzaken te scoren. Je bevestigt of verwerpt de suggestie met een klik. Daarnaast koppelt het logmeldingen terug aan de exacte plek in de code waar ze vandaan komen, zodat je niet handmatig door een grote codebase hoeft te zoeken maar direct naar de juiste plek klikt.

De rest van de app volgt hetzelfde idee: een board voor GitLab issues en merge requests, een roadmap daar overheen, een globale zoekfunctie op /go die je op naam overal heen brengt en een wiki-spiegel die gewoon doorzoekbaar is in plaats van opgesloten achter de GitLab UI. Het punt is dat de data er altijd al was. Wat miste, waren de verbindingen. Een Sentry error weet al in welke release hij zat, welke codewijziging hem waarschijnlijk veroorzaakte, welke Slack-thread erover ging en welke logmelding erbij hoort. Je stopt met zoeken en begint met begrijpen.

Gebouwd met Laravel 13, Inertia en Svelte 5 aan de frontend. MySQL en Meilisearch voor opslag en zoekfunctionaliteit. Claude doet de samenvattingen en ranking. GitLab, Slack, Sentry en Graylog APIs leveren de data. Tests zijn geschreven in Pest 4.

Screenshots

Highlights

Door Claude geschreven Slack-digests met beslissingen, actiepunten en SQL-snippets

Sentry issue matching op basis van releases, foutdetails, bronbestanden en recente merge requests

Globale zoekfunctie voor GitLab-werk, wiki-inhoud, gebruikers, SQL en operationele context