Tijdschrijving automatiseren met een Slack-plugin

We bouwden een Slack-plugin om sneller tijd te schrijven. Het probleem: context switchen kost tijd. De oplossing: gewoon typen waar je toch al werkt.

6 min read
Tijdschrijving automatiseren met een Slack-plugin
Maurits Fornier

Maurits combineert juridische expertise met technische implementatie en design thinking. Met een achtergrond in de procespraktijk richt hij zich op het ontwikkelen van visuele en technische oplossingen voor complexe juridische vraagstukken.

Het probleem

We bouwden een Slack-plugin om sneller tijd te schrijven. Het simpele probleem: context switchen tussen je werk en tijdschrijfsoftware kost tijd en energie. Plus je vergeet de kleine dingen.

De klassieke valkuil: je bent bezig met een project, werkt 20 minuten aan feedback op een infographic, duikt meteen in de volgende taak. Eind van de dag moet je reconstrueren wat je deed. Meestal vergeet je de kleine dingen. Die 15 minuten research tussen twee meetings. De 10 minuten die je aan een email zat.

Het tijdschrijfsysteem open hebben naast je werk helpt niet. Je bent bezig met iets, klikt naar het tijdschrijfsysteem, zoekt het project op, klikt door drie schermen, vult alles in. Dertig seconden later ben je klaar en moet je weer bedenken waar je was.

We hadden al tijdschrijfsoftware met een goede API. We werkten al in Slack. Logische stap: die twee verbinden.

De oplossing

/tijd "feedback verwerken in infographic over escalatieclausule - arbitragezaak X, client Y, 10 minuten"

Vijf seconden. Entry staat in het systeem. Je blijft in Slack waar je toch al was.

Eerste poging: speech-to-text

Voor we de getypte versie maakten, probeerden we speech-to-text. Leek logisch. Gewoon inspreken tijdens het werk, geen typen nodig.

Bleek in de praktijk langzamer dan typen. Je moet nadenken over wat je zegt, het systeem maakt fouten, je moet corrigeren. Vergelijkbaar met WhatsApp voice messages - soms handig, meestal niet.

Typen is sneller als je toch al aan het typen bent. En je bent aan het typen als je in Slack zit.

Hoe het werkt

De plugin draait lokaal op onze server. Natural Language Processing vertaalt het getypte zinnetje naar gestructureerde data.

Input:

/tijd "feedback verwerken in infographic over escalatieclausule - arbitragezaak X, client Y, 10 minuten"

Output naar het tijdschrijfsysteem:

  • Project: Arbitragezaak X
  • Client: Client Y
  • Beschrijving: “Feedback verwerken in infographic over escalatieclausule”
  • Tijd: 10 minuten

Als je een nieuwe entry wil schrijven op hetzelfde dossier:

/tijd "zelfde project, draft timeline gemaakt, 25 minuten"

Het systeem snapt wat je bedoelt. Gebruikt het laatst actieve project.

Nieuw dossier aanmaken:

/tijd "nieuw dossier, klant ABC, project contractreview, eerste doorloop SPA, 45 minuten"

Het systeem maakt het dossier aan en logt de tijd.

De narrative enhancer

Eerste versie van de beschrijvings-AI produceerde te formele teksten. “Email client” werd “correspondentie voeren betreffende urgent juridisch advies aangaande complexe contractuele materie.”

Niemand schrijft zo. In ieder geval, wij niet.

We bouwden een leersysteem in. Handmatig verbeterde narratives worden trainingdata. Als je de AI-gegenereerde beschrijving aanpast naar je eigen stijl, onthoudt het systeem dat.

Na drie maanden gebruik:

  • “Email client over wijziging in artikel 5” blijft “Email client over wijziging in artikel 5”
  • “Snel doorlezen concept” wordt niet “Grondig bestuderen van conceptdocumentatie”
  • Formele juridische termen blijven waar ze relevant zijn, verdwijnen waar ze dat niet zijn

Het systeem leert wat “goed genoeg” betekent voor ons team. Niet perfect, goed genoeg.

Wat we niet verwachtten

Mensen gebruiken het anders dan we dachten.

Retrospectief tijdschrijven: We bouwden het voor real-time logging. Blijkt dat mensen het vooral eind van de dag gebruiken om snel door hun Slack-geschiedenis te gaan. Werkt prima, was niet het plan.

Batch entries: Sommigen typen vijf entries achter elkaar. Het systeem moet onthouden wat “vorig project” betekent als je drie projecten door elkaar gebruikt.

Vage tijdsindicaties: “Ongeveer een halfuur” moet het systeem vertalen naar 30 minuten. “Heel de ochtend” naar een inschatting op basis van de tijdsperiode. Werkt redelijk.

Project aliases: Mensen typen niet de volledige projectnaam. “Arbitrage X” wordt “arb X” of “die arbitrage van vorige week”. Het systeem moet slim kunnen matchen.

Resultaten

Na zes maanden gebruik:

  • 847 entries via de Slack-plugin
  • Gemiddeld 4 entries per persoon per dag
  • Gemiddelde input tijd: 8 seconden (inclusief typen)

Als je niet kunt concurreren op data, concurreer dan op design
Als je niet kunt concurreren op data, concurreer dan op design

Bij Legal Geek's rondetafel over AI en data toegang deelden zeven experts hun perspectief. Maurits vertelde over het bouwen van legal AI tools als je de databronnen niet bezit.

Read more