Inspiration

Eloquim was inspired by a simple but persistent problem: people often know how they feel, but struggle to express it clearly in words. Emojis have become a universal emotional shorthand, yet they are limited by interpretation. I wanted to turn emojis into a true expressive language, one that adapts to tone, personality, and context while remaining intuitive and human.

What it does

Eloquim transforms emojis or small emoji combinations into expressive, personality driven text using AI. Users communicate by selecting up to three emojis, and an agentic AI translates them into natural language based on the sender’s selected tone and persona. Messages arrive as text to the receiver, while preserving transparency through ghost translation, allowing users to reveal the emoji intent behind any message.

How we built it

Eloquim is built with Flutter on the frontend and Serverpod at the backend. Serverpod manages APIs, authentication, data models, and high volume chat reads and writes using PostgreSQL. During development, the entire backend runs locally using Docker, ensuring environment consistency and fast iteration.

Alongside expressive emojis, what makes Eloquim feel alive is how the interface responds to emotion. Using GenUI, a Gemini powered UI agent dynamically generates and updates interface elements inside the chat itself.

Tone indicators shift color and label as the conversation mood changes. Emoji trays animate with AI Agent recommended responses. Backgrounds subtly pulse when emotional context shifts. Instead of hard coded UI states, the interface evolves with the conversation.

Redis is used for ephemeral and real time data such as live user matching and short lived conversational context. Gemini 3 Flash powers the agentic AI responsible for emoji translation, tone awareness, and contextual reasoning.

Deployment is handled through Serverpod Cloud, which simplifies deploying a production ready Serverpod backend with minimal configuration while preserving full control over the backend architecture.

Challenges we ran into

One of the biggest challenges was deployment observability. While Serverpod Cloud made hosting straightforward, understanding deployment failures during certain build phases required extra investigation. Managing build flags and interpreting limited logs during Orbit acceleration was particularly tricky whenever there was a deployment failure. Another challenge was designing an AI system that preserved user intent while remaining expressive, without over explaining or flattening emotional nuance.

Accomplishments that we're proud of

I successfully built a read and write intensive, real time communication app on Serverpod within a hackathon timeframe. Eloquim demonstrates how Serverpod can scale chat style workloads without usage based penalties, while remaining flexible, developer-friendly, and cost-efficient.

I am especially proud of the agentic UI system built with GenUI, where the interface itself becomes part of the expressive experience rather than a static container.

What we learned

This is my first time using serverpod and I learned how powerful Serverpod is for building scalable, data heavy applications without sacrificing control or performance. I also gained deeper insight into Serverpod Cloud deployment workflows and the importance of clear logging and status feedback during multi phase deployments.

What's next for Eloquim

This is the first iteration, and there's a lot of room for improvement, especially around making the emoji translations flow more naturally and creatively understanding the nuances of a conversation's context.

I plan to expand persona customization, support multilingual emoji translation, and introduce accessibility focused modes for neurodivergent users. I also want to explore group conversations, emotion analytics, and deeper agent memory to make Eloquim an even more powerful expressive companion.

As this is a Flutter app, I intend to also get the Android and iOS versions of the app deployed.

I intend to make this an open-source project in the near future once I'm done cleaning up the codebase, so I look forward to collaborating with contributors and driving meaningful improvements and growth.

Built With

Share this project:

Updates