I'm a software developer from Ukraine. If you like what I do, you can support my work with a donation.
* Support the author 🥰 * Stay informed about current developments ⭐🗣️ * Ask me directly anything anytime 🫦🤌😱
Доступно за підпискою
This week, I rolled out another update for FRAGGRID (the last one for now): I added barriers that open via floor pressure plates (though they haven't made it into any maps yet, they are available in the editor), added a new Mars-themed background along with a corresponding map, and reworked the robot and alien skins to make them more distinctive (previously, they looked too similar to the default human skin). By the way, I’ve decided that unlocking extra skins will be the game's only paid feature for the time being. I played the game on the TV with my kids—unssurprisingly, it didn't really click with them 🙄. I knew it wouldn't; they aren't into shooters 😔. We usually play co-op puzzle games, survival games, and simulators together... That said, this brief play session made it clear that I needed to tweak the balance—adjusting weapon power, bot priorities, and so on. Which is exactly what I did. Oh, and the game has already been approved on Google Play. I also wrote a post about the game on Reddit. Earlier, I took part in an online hackathon, though I’m not sure I finished in time; even days after the submission deadline, the game still hadn't been approved on Google Play. Plus, my chances turned out to be even slimmer than I thought—thanks to the widespread "vibe coding" trend, the event saw a massive turnout compared to previous years, with thousands of participants submitting projects!
As is tradition, to take a break from this project, I immediately switched to another one, and then a third 🤪...
I implemented a notification feature in SHTTPS that allows the user to deny access if someone attempts to remotely access the device's screen.
Then I switched over to TV Bro. A lot of users are complaining that they can't install it on devices with limited storage space. This is mainly due to the massive Gecko engine (whereas the Chrome engine comes pre-installed on Android and updates separately, Gecko has to be bundled into the APK). Yet, not everyone actually needs Gecko. So, I decided to move it into an "on-demand feature module"—essentially allowing it to be downloaded from Google Play separately, and only when a user specifically chooses to switch to it. This is still a work in progress; I’m currently reading up on the capabilities of these feature modules since I’ve never used them before.
This week, I finished the first version of FRAGGRID and pushed it to the Google Play Store. I did that back on Wednesday, but Google still hasn't approved it yet :( Over the following days, I worked on a few more game features—like private online matches, the ability to shoot while half-crouched, new tiles, and some other small tweaks. I also implemented a couple of bug fixes and security patches for SHTTPS; I had planned to roll out an update for that today too, but I’m feeling a slump in energy and motivation—maybe it’s just my typical autumn blues. Or the "post-release effect"—whenever I release something big, I get a bit depressed and lose all drive for a while... Starting projects is way more fun than finishing them 😔
So, here’s a slightly melancholic autumn song about AI for your feed. Personally, I think it’s a masterpiece!
This week, I’ve been working on bug fixes, fine-tuning, and various effects for FRAGGRID: water, lava, portals, electric arcs, muzzle smoke, shreds of flesh, a Tesla ball effect for the capture point, new backgrounds with parallax, a couple of new skins, and so on.



This week, I was working on the same things as last week: the FRAGGRID game and job interviews. I had to turn down a job offer for a reason I never could have imagined before. I don't want to go into the details here, though (it’s related to the situation where I live).
As for the game, this week I implemented online multiplayer and sound. I set up two VPS instances for game servers and a "free" master server using Cloudflare Workers and D1. Well, when I say "implemented" or "set up," what I really mean is I prodded Claude to do it. I have absolutely no idea what I’m going to put in the Credits section...
So, what exactly did *I* do??? 🤔🤔🤔
I didn't get anything major finished this week—just did some "vibecoding" on FRAGGRID (the codename for the game I mentioned in my last post). There are still soooo many issues with it, though. But hey, I’ve got some bots and networking working already! Oh, and the *Joystick Forest* update is out on the store. There were plenty of distractions, too—like an online job interview. I spent time prepping for C++ questions, but they didn't even come up ;(
This week, I've been working mostly on Joystick Forest:
Adding games to the catalog, testing, and writing mappings are still painstaking manual work and take a lot of time. Because of this, by the end of the week, I had a bunch of unused Claude tokens left. I also remembered my almost unused Pixellab subscription, which I took out for integration into PixelMotion (which, by the way, despite my efforts at promotion, ultimately had no effect on the number of users 😔). So I thought I should give those lazy AIs a workout. 😏 So, in a couple of evenings, I "generated" a "game." Something like Need For Kill or Soldat - for the entire time Android TV has been around, I've been waiting for someone to port this game here, but it never happened. I'll try it myself 😊 The most complex parts haven't been implemented yet, though - the network, bots, 100,500 gameplay nuances... I'm not even mentioning monetization, which I always have trouble thinking through 🙄 After all, hosting game servers somewhere is a constant expense. Of course, I'll need to give advanced users the ability to host game servers themselves... Maybe I'll ditch Android TV and try Apple TV instead - at least they put a decent processor in the boxes, not that crap made from unsold phones from the 2010s that they seem to be shoving into Android TV en masse 💩. By the way, yesterday I accidentally got into a conversation on LinkedIn with an iOS developer from my previous job (he's also been unemployed since then 🤪) and it turns out he's also started vibecoding a game for Apple TV 🤪🤪

I mostly worked on minor shttps tweaks:
Then I switched to Joystick Forest:
Доступно за підпискою
Доступно за підпискою
Доступно за підпискою
I had plans to work on ANMA this week, but the Google Play Console showed me a warning that Pixel Motion uses old payment SDKs and the target level is outdated, and that if I don't update everything soon, I'll be in trouble. 🙂 So I switched to Pixel Motion and, in addition to the updates that were made instantly thanks to the cloud code, I first started finishing off the long-desired layer features. Once I'd finished those, I decided to check if anyone had already created an API for AI-generated pixel art. And finally, I found one, from a certain PixelLab. At first, I was really excited and thought I could resell their service through my app (at a premium), but after reading their policies, I realized they weren't interested in that. In the end, I simply wrote to them asking if they were okay with this kind of use—I integrate their API transparently; users purchase the service from them and just paste their API key into my app. They gave the go-ahead, saying, "This will be OK." It could still be beneficial for me—in terms of attracting an audience, which PM has practically dwindled to a couple hundred users in recent years. And so, I managed to implement this integration in the remaining half a week. Here's the result. The update is currently being moderated in the Play Console.
This week I've been working on SHTTPS. I implemented remote screen control. More precisely, separate phone screen sharing via the web and remote control. Separately because I plan to make the latter available only in the paid version. Both features required new "insecure" access permissions, so I've been waiting three days for the paid version to be approved in the Google Play beta track.
This week, I worked on Joystick Forest. Key features: I added about a dozen games to the catalog and implemented parental control settings: you can filter out mature games and set a PIN to change this setting. It's enabled by default, but without a PIN, 16+ games won't show up (the catalog already has a few—mostly visual novels from itch.io with scenes of violence and direct references to sex).
This week, I've been mostly working on Joystick Forest (update not published yet):
By the way, the latter turned out to be really bad on Android TV. I don't want to describe everything I encountered here, because it would be long, emotional, and not very credible: maybe I just misunderstood something; I'm not an expert in this area. But I've come to the conclusion that monetizing an indie Android TV app through advertising is, in most cases, a terrible idea unless you're a giant like Google. The reasons include: overwhelming digital bureaucracy, the widespread perception of the Android TV platform by ad networks as some kind of marginal platform, support being left over (like, Android TV is some kind of marginal Android—we'll support it, but unofficially, and if something doesn't work, we won't do anything about it), or, conversely, the attitude can be something like, "Oh, you support Android TV and want to implement video advertising, which means you're some giant corporation that owns TV channels, factories, newspapers, and steamships, and we'll send you through all the circles of bureaucratic hell, because you still have a staff of lawyers..."
In short, I ultimately had to abandon AdMob altogether. I've applied to several other networks, including Google's own "ad manager platform," and for now, Unity Ads has somehow gotten going, but it still needs approval from the admins, and there's always a chance of being banned by both Unity and Android TV admins, because their ads are also mobile-friendly and partially suitable for that platform, but "unofficially."
I've released an update to SHTTPS. Besides WebDAV, it also adds support for Android 17—I had to ask the new runtime for permission to access local networks. WebDAV was honestly disappointing—it turns out there are practically no good clients. And it's not my implementation—I tested it on several competing servers and found similar issues. Apple Finder handles WebDAV the worst—it practically spams PROPFINDs, and when trying to upload an image, it sends LOCKs, PROPFINDs, and empty PUTs in a completely chaotic order. Because of this, uploading an image through Finder is practically impossible with any WebDAV server. Gnome Files also spams relentlessly, but at least it doesn't confuse the order of LOCKs and generally works. Windows 11 Explorer has a different problem—a 50MB limit on downloaded files. That is, not even uploading to the server, but simply opening a file from the server if it's larger than 50MB—an error! This limit can be raised somewhere in the registry, just like unblocking BasicAuth without https 🫠. None of the WebDAV clients I tested seem to use Chunked Transfer, which my server supports and which works perfectly in a web browser, for example when scrolling through videos. Basically, it's a bunch of minor issues. WinSCP and Cyberduck work fine, but their UI feels like it's from the 90s, not even the 2000s. The only client that seems to be completely problem-free is X-Plore, but it's only for Android. I also made a small update with a couple of fixes for Joystick Forest - just to "push" the previous update, which seemed to be stuck - for the first time in my memory, the app was stuck in the Google Play Console in the "being tested" state for more than a week 🤯 And indeed, the new update was accepted very quickly, so the app is finally published!
A small experimental program with two alternative ways to control the Android TV interface: moving the virtual cursor with the TV remote control and controlling it with head (yours 🥴).
Get ANMA from Google Play store
Доступно за підпискою
Доступно за підпискою
* Widget for home screen
* Intent sending handlers
* CGI / Callable executables experimental support (unfortunately, for now it turned out to be useless on Android without root)
* Basic CORS support
* Logs: added network usage chart, fixed inverted logs order issue
* Custom text charset setting added
* Fixed broken autoshutdown timeout for longer timeouts
* Ability to transfer a PLUS license purchased from Google Play to a marketless version
* Dropped support of Android 5.x-6.x, reduced apk size
Доступно за підпискою
Доступно за підпискою
Доступно за підпискою
Hello, dear TV Bro users.
Thank you for your feedbacks and problem reports. To answer your question, yes, updates are planned. However, I have another project as a priority right now (SHTTPS). There's a good chance I'll return to TV Bro within the next month, but I doubt I'll be able to devote much time to it right away. When that happens, I'll be focusing on the numerous tickets in the GitHub issue tracker when choosing tasks. I also have my own redesign ideas. There's an unfinished and partially failed (due to unstable API) feature for text selection and changing cursor behavior. And of course, I'll need to review the crash logs.
I also use TV Bro quite often himself on my home Android TV. But its current functionality is generally sufficient for me. Regarding the project, there are a few important things that don't make me too worried about it.
First, its dependencies – the core of any browser is a web rendering engine. Although TV Bro can use WebView or Gecko, neither of these projects is targeted at the Android TV platform. This often causes things to break, and many users assume the browser is the culprit. But I have no control over this, and it's annoying.
The second issue is the performance of Android TV devices. When I was developing the first versions of TV Bro in 2015, the platform was just emerging, and there were hopes that manufacturers would release devices with performance comparable to game consoles or at least comparable to modern phones. I still use a 2015 Nvidia Shield, and this 11-year-old device seems to be able to outperform almost any modern Android TV device. But most manufacturers have started releasing utter garbage, only suitable for streaming media content, which doesn't require a powerful CPU, a lot of RAM, or a GPU. But the modern web requires all of that!
These two things mean to me that TV Bro will never be perfect – neither in performance nor in stability. It's simply a Workaround-style utility to somehow run the web on a device not designed for the web. It's good that TV Bro and similar programs exist (I know about forks and cool competitors), and I'll continue to try to update it at least occasionally and fix the most obvious issues, but I don't plan to focus too much on it. I'll probably add a link to the donation page (this one) to the "About" section in the next update – maybe that will motivate me to update the app more often.
Ваше повідомлення опублікується у стрімі автора.
Цифровий контент та інтерактивні віджети надаються миттєво в момент оплати. Тому транзакції є остаточними та не підлягають поверненню.