Maruna – de AI-assistent die het beheer van sociale netwerken in enkele minuten oplost

De burgemeester van Křeslice, Praag, was op zoek naar een eenvoudige manier om informatie uit het veld direct te delen met de burgers. Hij wist dat burgers niet nog meer gemeentelijke apps wilden downloaden, maar nieuws direct op sociale media wilden hebben. Hoewel zijn social media posts tijdelijk werden afgehandeld door een medewerker die de gemeenschap goed kende, was dit model niet duurzaam. Hij had een systeem nodig dat een foto of korte beschrijving direct kon omzetten in een post en deze direct kon publiceren - zonder ingewikkelde processen en dure bureaus. Dezelfde behoefte bestaat voor bedrijven, voor wie sociale netwerken vooral een snelle informatiedienst en een bron van referenties zijn.

We hebben deze uitdaging opgelost met ons nieuwe project Sockarka Maruna - een AI-assistent die communiceert via WhatsApp en binnen enkele minuten berichten maakt en publiceert op Facebook, Instagram, LinkedIn en je website.

Sockařka Maruna
Afb. 1: Sockaka Maruna helpt gemeentelijke burgemeesters of bedrijfseigenaren om snel en efficiënt berichten op sociale media te publiceren.

Hoe en waarom is Maruna ontstaan?

Onze verkopers ontmoeten steeds vaker klanten die specifieke verwachtingen hebben van sociale media en snel, frequent en op meerdere plaatsen tegelijk moeten publiceren.

Typische vertegenwoordigers van deze groep zijn burgemeesters van gemeenten die foto's van evenementen naar assistenten of bureaus sturen. Zij krijgen vervolgens de taak om posts te maken. Maar hier ontstaat communicatiestilstand. De assistent is niet 24/7 beschikbaar en is vaak met andere taken bezig. Het agentschap daarentegen heeft een vast proces dat werkt, maar zorgt voor stilstand. Tegen de tijd dat het bericht de burgers bereikt, kan het aan relevantie verliezen. Een groter aantal verzoeken in korte tijd kan de aanvrager overweldigen en voor extra stilstand zorgen. Hetzelfde probleem doet zich bijvoorbeeld voor bij bouwbedrijven of makelaars die regelmatig foto's maken van nieuwe panden in het veld, maar geen tijd hebben om berichten te maken en op sociale media te publiceren.

En dat is precies waarom Maruna is opgericht.

Wat kan Maruna en hoe werkt het?

Maruna is geen traditionele social media management tool. Het is geen webapplicatie met een dashboard waarop je moet inloggen. Het is een virtuele assistent waarmee je communiceert via WhatsApp of e-mail. Je stuurt haar een input (tekst- of spraakbericht), voegt foto's of video toe en Maruna doet de rest.

Workflow van opdracht tot publicatie

Het hele proces is ontworpen om zo snel mogelijk te zijn en de gebruiker toch volledige controle te geven:

1. Indienen via WhatsApp
Maruna heeft een eigen telefoonnummer waarnaar je instructies over de nieuwe inzending stuurt via WhatsApp. Je kunt tekst- of spraakberichten gebruiken. Maruna begrijpt natuurlijke taal, dus je hoeft niets ingewikkelds te structureren. Je kunt je bericht dus inspreken terwijl je in de tram rijdt.

berichten plaatsen Sockařka Maruna
Afb. 2: Maruna heeft AI-tools geïmplementeerd om natuurlijke taal te begrijpen. Dit maakt het invoeren van berichten heel eenvoudig.

2. Beelden uploaden
Maruna vraagt je om foto's of video's te versturen. Je kunt ook meerdere foto's uploaden of zelfs een korte video voor Instagram. Maruna slaat je afbeeldingen op in de MinIO-opslag.

3. Grafisch ontwerp
Maruna bewerkt de afbeeldingen automatisch, voegt een gemeente- of bedrijfslogo toe, maakt een onderschrift, maakt een omslagfoto voor Instagram of past het formaat aan voor LinkedIn en Facebook. Het stuurt je een ontwerp ter goedkeuring.

Afb. 3: Maruna zorgt voor de fotobewerking, voegt het juiste kleurvak toe volgens de postclassificatie (zie hieronder) en het hoofdonderschrift.

4. Tekst maken
Op basis van je opdracht en kennisbank (zie hieronder) maakt Maruna de tekst van de post. De tekst wordt aangepast aan het netwerk, waarbij Facebook een andere stijl heeft dan LinkedIn. Je keurt deze post vervolgens goed of vraagt om verdere bewerkingen.

5. Publicaties
Zodra je de tekst goedkeurt, publiceert Maruna de post op het geselecteerde netwerk. Binnen enkele seconden ontvang je de URL van de gepubliceerde post.

publicatie Sockařkou Marunou
Afb. 4: De post wordt direct na goedkeuring gepubliceerd, dus het hele proces duurt maar een paar minuten.

Het hele proces? 2-5 minuten.

Kennisbank - Maruna weet waarover ze schrijft en voor wie

Een van de belangrijkste functies van Maruna is de kennisbank. Maruna is namelijk niet zomaar een AI-tool die je opdracht herformuleert. Het is een uitgebreid systeem dat de context van je gemeenschap of bedrijf begrijpt.

Je kunt in Maruna het volgende importeren

  • Geschiedenis van gemeentelijke kranten en nieuwsbrieven
  • Gemeentelijke kronieken
  • Bedrijfsmagazines en productbladen
  • Eerdere berichten van Facebook, Instagram, LinkedIn
  • Een persoonlijke vragenlijst om de communicatie af te stemmen op jouw natuurlijke taal

Deze gegevens worden opgeslagen in een vectordatabase (ChromaDB) waarmee relevante informatie snel kan worden opgehaald. Wanneer je Maruna een korte opdracht stuurt, vult ze zelf de bredere context in, zoals de historische context van de gebeurtenis, de namen van de verantwoordelijken, links naar eerdere soortgelijke gebeurtenissen, enz.

Praktijkvoorbeeld:

Gebruiker: "Schrijf een post over de kermis van morgen"

Maruna vindt in de database:

  • Artikel van vorig jaar: "Traditionele beurs op het plein trok 500 bezoekers"
  • Vermelding uit de kroniek: "De kermis wordt al sinds 1927 in het dorp gehouden"
  • Bericht uit het verleden: "Dank aan alle ambachtslieden voor de mooie producten"

Maruna genereert: "Ik wil alle inwoners uitnodigen voor de traditionele braderie morgen op het plein! Kom proeven, winkelen en genieten van de sfeer die vorig jaar meer dan 500 bezoekers trok."

Classificatie van inzendingen

Maruna detecteert automatisch het type bericht en kent het een categorie toe:

  • Succes (groen) - prestaties van de gemeente of het bedrijf (ontvangen subsidies, afgeronde projecten)
  • Informatie (geel) - algemeen nieuws voor burgers of klanten
  • Verordeningen en voorschriften (lichtoranje) - officiële documenten en deadlines
  • Waarschuwingen (donker oranje) - waarschuwingen (branden, overstromingen, gezondheidsrisico's)
  • Gevaren (rood) - crisiscommunicatie
  • Rouwberichten (zwart) - informatie over sterfgevallen of tragische gebeurtenissen
  • Komende (blauw) - uitnodigingen voor komende evenementen
  • Terugblik (grijs) - verslagen van eerdere evenementen

Elke categorie heeft zijn eigen visuele behandeling, d.w.z. een gekleurd label op de afbeeldingen dat onmiddellijk de aard van het bericht communiceert.

Integratie met agenda en andere tools

Maruna is geen geïsoleerde tool. Het sluit aan op je ecosysteem:

  • Google Agenda/Microsoft Outlook - Maruna houdt je evenementen bij en biedt aan om zelf berichten aan te maken met de juiste vooraankondiging.
  • Gemeentelijke website / bedrijfswebsite - via API kan Maruna integreren met je weboplossing en updates ook op je website publiceren.
  • Facebook, Instagram, LinkedIn - volledig beheer van persoonlijke en bedrijfsprofielen.

Als je bijvoorbeeld voor vrijdag een concert in je agenda hebt staan, zal Maruna je aan het begin van de week waarschuwen: "Moet ik een bericht maken over het concert van donderdag?" Gewoon bevestigen, een foto sturen en klaar.

De applicatiearchitectuur van het hele systeem

Een van de grootste uitdagingen bij het ontwikkelen van Maruna was het koppelen van tools die normaal gesproken niet samenwerken. WhatsApp voor het ontvangen van berichten, LLM voor het genereren van teksten, Meta API voor Facebook en Instagram en LinkedIn API, tool voor het bewerken van afbeeldingen, database voor het opslaan van geschiedenis of kalenders voor het lezen van gebeurtenissen.

Elk van deze tools heeft zijn eigen API, zijn eigen limieten, zijn eigen authenticatiemethoden. En we moesten ze met elkaar verbinden tot een werkend geheel dat in realtime communiceert.

n8n als ruggengraat van het systeem

Om het hele proces te orkestreren, gebruikten we het bekende n8n - een open-source workflow automation platform. Met n8n konden we complexe scenario's maken die reageren op gebeurtenissen (een nieuw WhatsApp-bericht, een nieuwe agenda-event) en cascades van acties in gang zetten.

Sockařka Maruna in n8n
Afb. 5: De ruggengraat van Sockpuppet Maruna is het n8n-platform, waarop alle automatiseringsprocessen worden uitgevoerd.

Voorbeeldworkflow voor een enkel bericht:

  1. Trigger: er komt een bericht binnen op WhatsApp met de opdracht
  2. Parser: n8n verwerkt de tekst (of zet het gesproken bericht om in tekst)
  3. Context: het systeem zoekt relevante informatie op in de kennisbank (ChromaDB)
  4. AI-generatie: Claude maakt een concepttekst voor elk geselecteerd platform
  5. Grafische bewerking: automatisch logo toevoegen, ondertitels, formaten bewerken voor FB/IG/LinkedIn met behulp van Python script
  6. Goedkeuring: Maruna stuurt het ontwerp via WhatsApp naar de gebruiker en wacht op een reactie
  7. Publicatie: na goedkeuring roept n8n de API's van Facebook, Instagram en LinkedIn aan
  8. Bevestiging: Maruna stuurt de URL van de gepubliceerde berichten naar de gebruiker

Grootste uitdagingen die we moesten oplossen

De ontwikkeling van Maruna bracht een aantal technische uitdagingen met zich mee die op het eerste gezicht misschien niet voor de hand liggen. Sommige waren cruciaal voor de veiligheid en bruikbaarheid van het systeem als geheel.

1. Gebruikersauthenticatie en -autorisatie

Uitdaging:
WhatsApp is een open platform en dus kan iedereen die een telefoonnummer van Maruna heeft in theorie een bericht verzenden en berichten proberen te publiceren. Dit vormt een groot beveiligingsrisico. Wat als iemand het nummer bemachtigt en namens de gemeente valse berichten begint te publiceren?

Oplossing:
We hebben een authenticatiesysteem geïmplementeerd dat uit meerdere lagen bestaat:

Een database van geautoriseerde gebruikers:

  • Bij het aannemen van een nieuwe klant leggen we de telefoonnummers van alle geautoriseerde gebruikers vast
  • Elke gebruiker wordt toegewezen aan een of meer entiteiten (gemeenten/bedrijven)

Workflow voor inkomende berichten:

  1. WhatsApp-webhook ontvangt een bericht van een telefoonnummer
  2. n8n voert onmiddellijk een query uit in de database: "Is dit nummer geautoriseerd?"
  3. Zo JA → haalt de bijbehorende entiteiten en hun machtigingen op
  4. Zo NEE → Maruna weigert te communiceren

2. Verschillende beeldverhoudingen van foto's

Vraag:
Elke smartphone maakt foto's met een andere resolutie en beeldverhouding. Maar Instagram heeft strikte beeldverhoudingvereisten voor weergave op je profielmuur. Als de beeldverhouding niet geschikt is, snijdt Instagram de foto automatisch bij om in het vierkant op de profielmuur te passen. Dit kan ertoe leiden dat belangrijke delen van de foto (bijvoorbeeld het hoofd van een persoon, tekst op een banner) verdwijnen.

Oplossing:

Binnen de workflow maken we een zogenaamde omslagfoto met een uniform formaat. Deze foto is de eerste in de reeks foto's binnen één bericht:

  1. Hij heeft een gestandaardiseerde beeldverhouding (1:1 vierkant)
  2. Bevat de hoofdboodschap - een tekstvak met de titel van het bericht
  3. Bevat het logo van de gemeente/het bedrijf
  4. Bevat een kleurlabel volgens classificatie (groen = Gereed, blauw = Komt eraan, enz.)
bericht op IG Sockařka Maruna
Afb. 6: De gepubliceerde Instagram-post heeft een omslagafbeelding.

3. Plaatsing van het tekstvak op de foto

Opdracht:
Sommige foto's hebben belangrijke informatie in verschillende secties:

  • Foto van een concert: de band staat in het midden, hun gezichten zijn belangrijk (bovenste helft)
  • Foto van de kermis: kraampjes en mensen onderaan
  • Foto van een gebouw: het belangrijkste detail (ingang, gevel) kan overal staan

Als we het tekstvak standaard altijd onderaan plaatsen (zoals de meeste tools doen), kunnen we:

  • De gezichten van mensen bedekken
  • De tekst op de banner overlappen
  • Een belangrijk detail verbergen

Oplossing:

We hebben flexibele plaatsing van tekstvakken geïmplementeerd. Maruna plaatst het tekstvak standaard aan de onderkant, maar de gebruiker heeft de mogelijkheid om de positie van dit vak aan te passen en het naar een ander deel van de foto te verplaatsen.

Neem Maruna en je kunt het tekstvak ook verplaatsen naar een andere positie of het anders plaatsen

Maruna heeft zichzelf al bewezen in de regio Midden-Bohemen en staat klaar om ook jou te helpen. Het bespaart je tijd bij het beheren van je sociale netwerken en zorgt ervoor dat je gemeentelijke berichten mensen snel en professioneel bereiken. Ga voor meer informatie en het verkrijgen van Maruna naar de website van Maruna.

Wilt u software op maat laten maken?

Verwante artikelen

Development Development

Een software-architect is een professional die zakelijke eisen vertaalt naar een technisch ontwerp. In kleinere en middelgrote bedrijven is...

Content Content

In 2021 maakten we de eerste merkpagina voor het merk MISURA op misura.cz (later misura.store). We schreven over de creatie van de eerste MISURA...

Sales Sales

Geo-targeting vertegenwoordigt een van de grootste kansen voor bedrijven die hun doelgroepen kennen en de exacte locaties waar hun klanten zich...