Since July 2026 the studio has put eight products live: CryptoPro Suite, Pendulum Path, Trainbell, Bimblesound Nights, BlindsMate, Bubble News, Bubble Crime and Lyntiq AI. Writing the code was the fast part. Two things were slow, and they are the subject of this article: getting the apps to hold up on real phones, and getting anyone to find them.
We are writing this down because the usual story about small studios skips both. Here is what actually happened.
A green test suite proves nothing about a phone
Trainbell, our interval timer, has a pure timing engine tested against a fake clock. Every test passed. Then the first release build with ads in it crashed on launch, every time. The ads SDK pulled in a background-work library, and the release-build shrinker (R8, which strips unused code to make the app smaller) removed a constructor that library needed. Debug builds do not shrink, so nothing we ran during development could see it.
The same crash later hit Bubble Crime, with every check green on an app that could not be opened. Pendulum Path had a quieter version of the problem: in two releases its Remove Ads purchase said "not available" to every user, because the purchase plugin was never loaded and the shrinker had deleted its configuration. The build was green. And on Bubble News, a test purchase was refunded by Google Play on its own, because the app never confirmed the purchase back to Google.
The rule that came out of this is simple and not negotiable: before any upload, the actual release build goes onto a real phone and gets used.
Samsung decides when your app is done
An early tester reported that a Trainbell workout could not be stopped. The timer kept beeping and vibrating after the app was closed. We found five separate defects behind that one report, but the one that hit the tester was not in our code at all: on Samsung's One UI 3, a media-style notification gets moved into the system's media panel, and that panel hid our Stop button.
Bimblesound Nights, our sleep sound app, had its own Samsung lesson. The sound stopped when the sleeper turned on Do Not Disturb. That shipped in versions 1.0 and 1.1 and was found by a user, not by us. A second Samsung behaviour with the same symptom, the system taking over audio when Do Not Disturb starts, survived the first fix.
These are exactly the failures the apps exist to avoid. Before building Bimblesound we read 2,893 low reviews of competing sleep apps, and 19.2% of them said playback stopped in the night or the battery manager killed the app. Knowing the problem did not make us immune to it.
The bar we hold now: Trainbell ran for 124 minutes with the screen off on a Galaxy A50 in deep sleep mode and drifted by one second. Every app that keeps running in the background gets a long screen-off run on a Samsung before release. Smaller things count too. Trainbell's Dutch label "Presets importeren" once rendered one letter per line down the screen, so layouts are now also checked in Dutch at a large font size.
The store has opinions too
Google Play rejected Bubble News twice under its News and Magazines policy. The fixes were concrete: contact details moved out of the Help screen, publish dates on the stories, a list of sources and a privacy link inside the app. One thing we learned the hard way: a rejection email refers to the version Google reviewed, which is not always the version you uploaded last.
Bubble Crime was rejected on 7 September because it "does not contain any news articles". That was a fair call: it shows statistics, not news. It moved to the Books and Reference category, where it belongs.
BlindsMate, a poker tournament clock for home games, needed a screen recording of its background service before review. It also needed its ad settings changed, because AdMob started serving gambling ads by default in August 2026, and a poker clock is the last place those belong.
Data sources need watching as well. Bubble News reads public RSS feeds, and some of them kept answering "OK" while serving month-old headlines. Seven NHK feeds had quietly stopped updating, and a few others last published in 2016 or 2017. A feed that fails loudly is easy to handle. The quiet ones are the problem.
And we did not always follow our own advice. Bimblesound Nights went to review on 3 September without the overnight test runs on real devices we had planned for, and one of its sound filters shipped an octave too low in 1.0. It got fixed in the next release, but it would have been caught with a slower launch.
Then nobody came
Trainbell went live on 3 September in 177 countries and regions. Ten days later it had two installs. A new listing with no ratings sits below apps with years of reviews, and the Play Store does not send traffic to an app nobody has installed yet. Building a good app solved none of that.
The web was not a shortcut either. Google AdSense rejected the Bubble News website on 27 August for "low value content", because the ad sat next to a bubble visualisation instead of an article. That was a reasonable reading, so we removed web ads entirely. The website versions now point visitors to the Android apps.
So we built a video pipeline. Since early September it renders a YouTube Short every morning and uploads it on its own: development tips and short app videos, presented by Vibo, the studio mascot. We chose a character over a face on camera because the AI development niche on YouTube is full of presenters, and a small studio cannot out-present them.
The pipeline had its own production problems. The first automated uploads failed and had to be uploaded by hand. One day of runs aborted because the build machine had no network. The first frame of every video was effectively blank, which matters when a viewer decides in under a second. The Dutch voice read "Crime" in Bubble Crime as "kriem", so the pipeline now carries a pronunciation dictionary per language. On some endings the speech balloon covered the follow card, and ten videos were rendered again.
TikTok taught us the most. After 20 posts the account had 30 followers. Every Vibo clip stalled between 172 and 276 views. The posts that broke out had nothing to do with the mascot: a plain text post reached 1,063 views, and a video of the apps running on real phones reached 10,600. We stopped posting to TikTok on 24 September, but the lesson carries over: people responded to the real product on a real screen, not to a polished animation.
CryptoPro Suite has an extra constraint. Platforms do not allow paid promotion of trading products, and investment recommendations on social media are regulated. Our rule for any CryptoPro content is therefore strict: explain how paper trading works, and never mention a coin, a direction or a return.
What we changed
The release build is installed and used on a real phone before every upload, with a long screen-off run on a Samsung for anything that works in the background.
Before building a store listing, we read Play's policy for the category the app sits in, not the one we assume it sits in.
Store screenshots and videos show the real app on a real device. An early set of Trainbell screenshots was rebuilt in HTML instead of captured from the app, and we flagged that ourselves as a rejection risk under Play's rules on misleading listings. The TikTok numbers point the same way.
Fewer channels, done properly. YouTube Shorts run automatically, X gets a short manual post, and this website sends every visitor to the Play Store rather than trying to be a second product.
What would help
The hardest part of all this is the cold start: an app needs ratings to be found, and it needs to be found to get ratings. If you use Trainbell, Bimblesound Nights, BlindsMate, Pendulum Path or one of the Bubble apps, a rating on Google Play does more for us than anything we can build. If something breaks on your phone, tell us at info@vibesoftstudio.com. Most of what is in this article was found that way.
