Maruna – the AI assistant that solves social network management in minutes

The mayor of Křeslice, Prague, was looking for a simple way to instantly share information from the field among citizens. He knew that citizens didn't want to download more municipal apps, but wanted to have news directly on social media. While his social media posts were temporarily handled by an associate who knew the community very well, this model was not sustainable. He needed a system that could convert a photo or short description directly into a post and publish it immediately - without complicated processes and expensive agencies. The same need exists for businesses, for whom social networks are mainly a quick information service and a source of references.

We've solved this challenge with our new project Sockarka Maruna - an AI assistant that communicates via WhatsApp and creates and publishes posts to Facebook, Instagram, LinkedIn and your website in minutes.

Sockařka Maruna
Fig. 1: Sockaka Maruna helps municipal mayors or business owners to publish social media posts quickly and efficiently.

How and why was Maruna created?

Increasingly, our sales reps are seeing clients who have specific expectations of social media and need to publish quickly, frequently and in multiple places at once.

Typical representatives of this group are mayors of municipalities who send photos from events to assistants or agencies. They are then tasked with creating posts. But this is where communication downtime arises. The assistant is not available 24/7 and is often dealing with other tasks. The agency, on the other hand, has an established process that works but creates downtime. By the time the message gets out to citizens, it can lose relevance. A larger number of requests in a short period of time can overwhelm the requester and create additional downtime. The same problem is faced by, for example, construction companies or real estate agents who regularly take photos of new properties in the field but do not have time to create posts and publish them on social media.

And that's exactly why Maruna was created.

What can Maruna do and how does it work?

Maruna is not a traditional social media management tool. It's not a web application with a dashboard where you have to log in. It's a virtual assistant that you communicate with via WhatsApp or email. You send her an input (text or voice message), attach photos or video, and Maruna does the rest.

Workflow from assignment to publication

The whole process is designed to be as fast as possible while giving the user full control:

1. Submission via WhatsApp
Maruna has its own phone number to which you send instructions about the new entry via WhatsApp. You can use text or voice message. Maruna understands natural language, so you don't have to structure anything complicated. So you can record your message while riding the tram.

reporting Sockařka Maruna
Fig. 2: Maruna has AI tools implemented in it to understand natural language. This makes entering messages very easy.

2. Uploading visuals
Maruna prompts you to send photos or videos. You can also upload multiple photos or even a short video for Instagram. Maruna stores your visuals in the MinIO storage.

3. Graphic design
Maruna will automatically edit the visuals, add a municipality or company logo, create a caption, prepare a cover photo for Instagram or tweak the format for LinkedIn and Facebook. It will send you a design for approval.

Fig. 3: Maruna handles the photo editing, adds the appropriate color box according to the post classification (see below) and the main caption.

4. Text creation
Based on your assignment and knowledge base (see below), Maruna will create the text of the post. The text is tailored to the network, with Facebook having a different style than LinkedIn. You then approve this post or request further edits.

5. Publications
Once you approve the text, Maruna publishes the post to the selected network. Within seconds, you will receive the URL of the published post.

publication by Sockařka Maruna
Fig. 4: The post is published immediately after approval, so the whole process only takes a few minutes.

The whole process? 2-5 minutes.

Knowledge base - Maruna knows what she is writing about and for whom

One of the key features of Maruna is the knowledge base. This is because Maruna is not just an AI tool that rephrases your assignment. It is a comprehensive system that understands the context of your community or business.

You can import into Maruna:

  • History of municipal newspapers and newsletters
  • Municipal chronicles
  • Company magazines and product sheets
  • Previous posts from Facebook, Instagram, LinkedIn
  • A personal questionnaire to tailor communication to your natural language

This data is stored in a vector database (ChromaDB) that allows for quick retrieval of relevant information. When you send Maruna a brief assignment, she will fill in the broader context herself, such as the historical context of the event, the names of those responsible, links to previous similar events, etc.

Practical example:

User: "Write a post about tomorrow's fair"

Maruna finds in the database:

  • Article from last year: 'Traditional fair on the square attracted 500 visitors'
  • Mention from the chronicle: "The fair has been held in the village since 1927"
  • Past post: "Thank you to all the artisans for the beautiful products"

Maruna generates: "I would like to invite all citizens to the traditional fair tomorrow in the square! Come taste, shop and enjoy the atmosphere that attracted over 500 visitors last year."

Classification of entries

Maruna automatically detects the type of message and assigns it a category:

  • Success (green) - achievements of the municipality or company (grants received, projects completed)
  • Information (yellow) - general news for citizens or clients
  • Ordinances and regulations (light orange) - official documents and deadlines
  • Alerts (dark orange) - warnings (fires, floods, health risks)
  • Hazards (red) - crisis communication
  • Bereavement notices (black) - information about deaths or tragic events
  • Upcoming (blue) - invitations to upcoming events
  • Looking back (grey) - reports from past events

Each category has its own visual treatment, i.e. a coloured label on the graphics that immediately communicates the nature of the message.

Integration with calendar and other tools

Maruna is not an isolated tool. It connects with your ecosystem:

  • Google Calendar/Microsoft Outlook - Maruna tracks your events and offers to create posts itself with appropriate advance notice.
  • Municipal website / corporate website - via API, Maruna can integrate with your web solution and publish updates to your website as well.
  • Facebook, Instagram, LinkedIn - full management of personal and company profiles.

For example, if you have a concert scheduled for Friday on your calendar, Maruna will alert you at the beginning of the week, "Should I create a post about Thursday's concert?" Just confirm, send a photo and you're done.

The application architecture of the whole system

One of the biggest challenges in developing Maruna was to link together tools that don't normally work together. WhatsApp for receiving messages, LLM for generating texts, Meta API for Facebook and Instagram and LinkedIn API, image editing tool, database for storing history, or calendars for reading events.

Each of these tools has its own API, its own limits, its own authentication methods. And we had to connect them into a working whole that communicates in real time.

n8n as the backbone of the system

To orchestrate the whole process, we used the well-known n8n - an open-source workflow automation platform. n8n allowed us to create complex scenarios that react to events (a new WhatsApp message, a new calendar event) and trigger cascades of actions.

Sockařka Maruna in n8n
Fig. 5: The backbone of Sockpuppet Maruna is the n8n platform, which runs all the automation processes.

Example workflow for a single post:

  1. Trigger: a message arrives on WhatsApp with the command
  2. Parser: n8n processes the text (or converts the voice message to text)
  3. Context: the system looks up relevant information in the knowledge base (ChromaDB)
  4. AI generation: Claude creates a draft text for each selected platform
  5. Graphic editing: automatically add logo, subtitles, edit formats for FB/IG/LinkedIn using Python script
  6. Approval: Maruna sends the design to the user via WhatsApp and waits for a reaction
  7. Publication: after approval, n8n will call Facebook, Instagram, LinkedIn APIs
  8. Acknowledgement: Maruna sends the URL of the published posts to the user

Biggest challenges we had to solve

The development of Maruna presented a number of technical challenges that may not be obvious at first glance. Some of these were critical to the security and usability of the overall system.

1. User authentication and authorization

Challenge:
WhatsApp is an open platform, and thus anyone who obtains a Maruna phone number could theoretically send a message and attempt to publish posts. This poses a major security risk. What if someone obtained the number and started publishing fake messages on behalf of the municipality?

Solution:
We implemented a multi-layer authentication system:

A database of authorized users:

  • When onboarding a new client, we record the phone numbers of all authorized users
  • Each user is assigned to one or more entities (municipalities/companies)

Incoming message workflow:

  1. WhatsApp webhook receives a message from a phone number
  2. n8n immediately queries the database, "Is this number authorized?"
  3. If YES → retrieves the associated entities and their permissions
  4. If NO → Maruna refuses to communicate

2. Different aspect ratios of photos

Prompt:
Each smartphone takes photos at a different resolution and aspect ratio. But Instagram has strict aspect ratio requirements for displaying on your profile wall. Therefore, if the aspect ratio is not appropriate, Instagram will automatically crop the photo to fit into the square on the profile wall. This can lead to important parts of the photo (e.g. a person's head, text on a banner) disappearing.

Solution:

Within the workflow, we create a so-called cover image with a unified size. This photo is the first one in the sequence of photos within one post:

  1. It has a standardized aspect ratio (1:1 square)
  2. It contains the main message - a text box with the title of the post
  3. Contains the municipality/company logo
  4. Includes a colour label according to classification (green = Done, blue = Coming, etc.)
post on IG Sockařka Maruna
Fig. 6: The published Instagram post has a cover image.

3. Placement of the text box on the photo

Prompt:
Some photos have key information in different sections:

  • Photo from a concert: the band is standing in the middle, their faces are important (top half)
  • Photo from the fair: stalls and people at the bottom
  • Building photo: the main detail (entrance, gable) can be anywhere

If by default we always put the text box at the bottom (as most tools do), we could:

  • Cover people's faces
  • Overlay the text on the banner
  • Hide an important detail

Solution:

We have implemented flexible text box placement. Maruna places the text box towards the bottom edge by default, but the user has the option to adjust the position of this box and move it to another part of the photo so.

Get Maruna and you can also move the text box to a different position or position it differently

Maruna has already proven itself in the Central Bohemia region and is ready to help you too. It will save you time in managing your social networks and ensure that your municipal messages reach people quickly and professionally. For more information and how to get Maruna, visit the Maruna website.

Want to create custom software?

Related articles

Content Content

A software architect is a professional who translates business requirements into technical design. In smaller and medium-sized companies, this...

Content Content

In 2021, we created the first brand page for the MISURA brand at misura.cz (later misura.store). We wrote about the creation of the first MISURA...

Sales Sales

Geo-targeting represents one of the biggest opportunities for companies that know their target groups and the exact locations where their customers...