Blog

How we build

Product decisions, engineering trade-offs and what went wrong along the way — from a Brazilian studio that ships its own apps.

Practical guidesStep-by-step answers to a concrete problem — with an FAQ and no filler.Engineering behind the scenesTechnical decisions, architecture and what went wrong in the apps we ship.

Why one game is Godot and the others are Flutter

Four of the studio's games are Flutter. One is Godot 4.3, and it was not a whim: a platformer with hand-drawn levels needs a scene editor. What switching tools actually cost.

Keep reading →
Troll Quest BR

The video title kept reverting to the filename

We typed the title, saved, and YouTube gave us back 'jornada 01 cena s s usuario abre o 1'. It took seven videos to find out these were two different bugs, not one.

Keep reading →

The post looked published. It existed for nobody else.

It took 14 hours to find out Reddit's spam filter had swallowed our first post — and it still looked normal on our own screen. What we learned about account and domain reputation.

Keep reading →

Offline-first with Drift and SQLite: an app with no server

RodaGrana computes a rideshare driver's real profit with no back end at all. That is not a limitation — it is the right architecture for the problem. What changes when you take the server out of the equation.

Keep reading →

Moderating memes with AI before publishing, not after

In EuRi a Cloud Function calls Gemini the moment a post is created, and content only goes live if it passes. What that inversion cost in latency, false positives and product complexity.

Keep reading →

Games for kids: what to check before installing

The store listing says more than the game description. Four fields answer what an app collects, what it charges and how much it interrupts — and why 'free' is rarely the right word.

Keep reading →

Why CyberDropX runs its whole economy on the server

Eighteen minigames, rewards, a global leaderboard and withdrawals — and no value decision made on the client. The main reason has less to do with cheating than you would expect.

Keep reading →

Flame or plain widgets? How we decided across five games

Not every Flutter game needs an engine. Of our five, two use Flame, two run on plain widgets and one left Flutter entirely. The criterion that separates the cases is simpler than the debate suggests.

Keep reading →

Fixed coordinates are debt: six platforms, one bug

A time picker that jumps three hours per click, a toolbar that moves when the text wraps to a second line, a window that resizes on its own. Every publishing failure had the same root cause.

Keep reading →

15,248 lines in one main.dart: what a monolith taught us

One of our apps has a single file with more than fifteen thousand lines. It shipped, it works and it pays bills. An honest account of what that choice gave us, what it cost, and when it stops being viable.

Keep reading →

Eight apps, nineteen channels: what paid off and what wasted time

The honest scoreboard of an organic marketing push: four channels at 100%, five at zero, and one unchecked assumption that left 47 videos live with the wrong text.

Keep reading →

Anonymous questions: can you find out who sent it?

The short answer is no — and anyone promising otherwise is selling an illusion or harvesting your data. The long answer explains what the app knows, what it does not, and what to do about abusive messages.

Keep reading →

Tags