Introduction: What Is This Project?
Emoji Translator is an experimental minimalist web application that converts text to emoji and emoji back to text—using four different large language models: Grok, DeepSeek, Gemini, and ChatGPT. Each of these models has its own “view of the world,” which gives every translation a unique character and creates some interesting combinations.
The goal of this project wasn’t just to create another demo. We wanted to get hands-on with different AI APIs, compare how they “think,” and see how they deal with purely visual communication. The most entertaining part is definitely interpreting emoji sequences back into text: it’s fascinating to watch how differently (or sometimes similarly) various AIs decode the exact same string of emoji.
The result is a tool that not only entertains, but also realistically shows just how creative today’s AI can be—and at the same time, how big the differences between models still are.
For users, it’s the perfect playground for testing the limits of generative AI, finding inspiration for your own experiments, or simply discovering which model is the best at translating emoji.
The Idea: How Did It Start?
This whole thing started pretty randomly: one day, we were talking about whether it’s possible to “translate” a regular sentence into emoji so that someone else could understand it. It probably is—but the main question was whether AI could do it.
We knew that models like GPT-4o, Grok, Gemini, or DeepSeek can generate anything from code to poetry… but which one would handle the emoji challenge best?
Our main goals were:
- to compare four different models in real time on the same input,
- to see how (non-)universal the “emoji language” really is across AI,
- to test how the models handle Czech and English (prompt engineering),
- and to create a simple system where the community can vote for the “best translation.”
How It Works
The whole app is built on the principle of a “dual-mode” translator:
1. Text → Emoji:
You enter a sentence (in Czech or English), and all four models translate it into a sequence of emoji. The results appear after a short delay—each model gets its own “output card.”
2. Emoji → Text:
You enter any string of emoji, and the AI tries to reconstruct its “hidden meaning” in text. It’s interesting (and sometimes funny) to see just how different the results can be between models.
Voting:
You can mark any answer as “⭐ BEST”—this anonymously adds a vote to the statistics for that model. Voting is open and unlimited (not tied to any account or session).
Statistics:
- Total number of translations (all-time)
- The most popular model by number of votes (live)
- Everything runs in real time thanks to Supabase
UX / UI:
- Simple, mobile-friendly interface (PWA, can be installed as a mobile app)
- Translations show up quickly after you hit submit
- Every output can be easily copied
Privacy principles:
- No authentication, no storage of user texts or identities
- Only the time of translation and votes per model are stored
Technical Details & Stack
Startup summary:
- Estimated costs: $0.02 per API call (actual costs may go up if the app gets heavy usage)
- Target group: AI geeks, the tech community, meme lords, educational projects
- Main technologies:
- Flutter 3.29.2 + Dart 3.7.2 (frontend & logic, multiplatform)
- Netlify (build & deployment, custom scripts)
- Supabase (database: anonymous, simple schema; tables: translations, votes, view: most_voted_model)
- API models:
- OpenAI (gpt-4o-mini)
- Gemini 2.0 Flash
- Grok 3 Mini Beta
- DeepSeek Chat
- Sentry (for error monitoring; currently just in test mode)
Architecture:
- Frontend in Flutter (fast UI, PWA ready)
- Backend is serverless—only API calls to external AI, with logic on the client
- Statistics and logging in Supabase (anonymous, no analytics or cookies)
Experimental parameters:
- Temperature: 0.5 (for “emoji → text”), 1.2 (for “text → emoji”)
- Top_p: 1.0
- Each model uses the same prompt, which is the ideal baseline for comparison. In the future, it would make sense to customize prompts and settings for each model.
The Result: How Does It Work in Practice?
- Enter any text or emoji string.
- Compare how different AIs “translate” the same thing—be it a joke, scientific text, meme, or quote.
- Vote for the one you find the most accurate or the funniest.
- Watch the live leaderboard—models literally “compete” for community votes.
Examples:
- “I love pizza” → 🙋❤️🍕😋 (some AIs, others add more detail)
- 🐱📦 → “A cat is inside a box.” or “A cat is curiously interacting with a package, maybe it’s a delivery or a fun surprise.” (some models get it right, others just say “A cat is inside a box.”)
- Longer text: “Julius Caesar was a Roman general…” — see which model creates a better emoji summary and which one completely fails.
The app works on mobile too (PWA), has its own favicon, and basic integration with Sentry (for error monitoring). For now, Sentry isn’t sending anything—everything is set up, but not fully configured for real-world use yet.
In the footer, there’s a “Send error” button which triggers a test error—this is just to check the integration works. Real errors are not logged or sent anywhere (yet).
What We Learned & What’s Next?
Findings:
- Every AI has its own “emotional world”—the differences in translations can be extreme.
- Parameters like temperature and top_p have a massive effect on the result—playfulness vs. precision.
- Prompt engineering is crucial: a tiny change in the input → a huge change in output (yeah, totally unexpected, I know).
- The user’s operating system changes how emoji are displayed (Mac vs. Windows vs. Android).
- During development, there was no need to handle authentication or tracking—the app is purely anonymous.
What could be improved or expanded:
- Refactor (especially the AI services, since the MVP was “hacked together” pretty quickly)
- X (formerly Twitter) bot: automatic translation of posts into emoji, the bot follows a user and translates their tweets
- More languages, better custom prompts for each model
- Dark mode, more statistics visualizations
Links & Resources
In conclusion:
If you want to see which AI interprets emoji in its own way, or just want to have fun seeing which model “breaks” first—try Emoji Translator. Vote, experiment, and let us know what we should try next!