Building a Telegram Mini App: My battle with iOS WebKit and Telegram Stars API
Hi PH, I'm Alex, a solo Java dev from Belarus.
I'm currently preparing to launch my finance tracker, Kopilo, and I thought building a Telegram Mini App would be the easy route. The idea was simple: build where users already spend their time so they don't have to download yet another app.
That was naive. TMA development has its own dark corners:
The iOS WebKit Bug: A random black screen issue on iOS ate two full days of my life.
The Payment API Quirks: To get Telegram Stars working, I had to anonymously override a validate() method in a Java library because the library absolutely refused to accept an empty provider token even though Telegram's own API spec requires it for Stars. There's a comment in my codebase about this hack that I will probably take to my grave.
AI Streaming: I ended up using Gemini's native SSE API directly without wrappers because every abstraction library I tried added some parameter that broke the stream.
Solving the "Wait, who paid for groceries?" problem
Hey PH!
My girlfriend and I constantly had the exact same conversation: "Wait, who paid for groceries yesterday?" or "Did I send you my half for the dinner?"
I got tired of it and built a solution. I'm a solo Java dev, so I built a native Telegram Mini App called Kopilo (launching soon!).
The feature I spent the most time on is "Shared Spaces." You add a partner or a roommate directly via a Telegram invite, set permissions, and all joint transactions and debts are calculated automatically in real-time via WebSockets. No more awkward math, no more separate apps to download.
