July 15, 2026
App store or science fair?
Using Go for Mobile Apps
One coder made a phone app with Go, and the comments instantly split into cheers and side-eyes
TLDR: A developer says using Go to power the core of a mobile app worked well, with Flutter handling the screen side. Commenters were split between calling it a smart cross-platform shortcut and wondering why anyone would build such a complicated bridge in the first place.
A developer shared a year-long experiment building the app Digital Carrot with Go handling the brains and Flutter handling the visuals, and the crowd immediately turned the post into a full-on debate club. The basic idea is simple enough: instead of putting all the app logic in the usual mobile tools, the developer routed messages back and forth so one language could power most of the app across different phones. They say it worked surprisingly well, even if the setup got a little awkward.
That awkwardness is exactly where the comment section smelled blood. Some readers were impressed that the whole thing shipped at all, with one veteran saying they’ve used a similar setup on millions of devices and calling the shared-language approach “fantastic.” But others looked at the maze of message-passing and basically asked, “why is Go in the app at all?” One commenter summed up the vibe like a confused homeowner staring at a Rube Goldberg machine: if you already built all this plumbing, why not just keep the app simple?
Then came the comedy relief. One of the funniest drive-by comments was a total chaos-goblin suggestion: forget all this, just run Perl scripts in Termux on Android and call it an app. Meanwhile, another reader warned that Go on phones can get weird in all the boring-but-scary ways, like networking quirks and mobile system limits. So the community verdict was deliciously messy: clever hack or needless complication? Either way, people could not stop watching.
Key Points
- •The article describes a year of building Digital Carrot with Go Mobile and presents lessons learned from that implementation.
- •Go Mobile is used for the app’s business logic, while Flutter is used for the UI after the author decided not to use Fyne.
- •Flutter communicates with Go through Swift/Kotlin platform channels, with requests and responses encoded as binary protobuf messages.
- •The author consolidated API communication into a single protobuf message with a large `oneof` block to avoid defining many separate platform channels.
- •For Go-to-native communication, the article explains using Go interfaces that are implemented in platform code and passed back into Go via generated bindings.