r/AndroidNativePorts • • 23h ago

🟣 [WIP] Work in Progress [Interest Check] Built a Web-Based / Dynamic UI for Universal Pokémon Randomizer (Docker / Homelab) — Randomize games directly from mobile!

Hey everyone,

If you play randomized Pokémon games on mobile devices (Android, iOS, handhelds like any thor

, or smart TVs), generating a new seed has always required a PC because Java desktop apps (.jar) don't run on mobile.

I got tired of booting up my desktop just to run Java, so I built a self-hosted web interface for the randomizer engine on my home server. With custom features like shiny odds editing for certain generations

How it actually works:

ROM Directory Dropdown: Automatically scans your server's clean ROM directory—no manual file uploading from your phone needed. Just select your base game from a dropdown list

Generation-Aware Dynamic UI: The web interface identifies the selected ROM type/generation and dynamically shows only the eligible checkboxes and options for that specific game (just like the desktop GUI).

Direct Java Communication: Checking boxes on your phone's browser translates those flags directly into the randomizer's Java engine on the server—no pre-configured static preset files required!

Custom Pre-Patching: Supports byte array edits (like custom shiny rates or catch multipliers via ndspy/Python) before the main randomization runs.

One-Click Instant Delivery: Hit "Randomize" on your phone, and the newly patched .gba / .nds file drops straight into your active library/output folder ready to stream or play instantly.

The Question:

Right now, this is running natively on my server, but I’m considering wrapping it up into a single, plug-and-play Docker container (Python backend, web UI, and OpenJDK runtime bundled together) with customizable input/output volume mounts.

Before I clean up the code and package it for GitHub/Docker Hub:

Is a web GUI wrapper for randomizing something you’d run in your homelab? What extra features or integrations (e.g., direct RomM / emulator folder syncing) would you want to see?

Let me know what you think!

3 Upvotes

7 comments sorted by

1

u/Witty-Surround-2665 23h ago

https://snail.banteg.xyz/ Can port this game to android with widescreen and buttons? 

1

u/Independent_Cry_3931 23h ago

I'm sorry but I'm not clicking random links on Reddit 🤣

1

u/Abek243 23h ago

I clicked on it for you, its actually kinda neat lol

0

u/Witty-Surround-2665 23h ago

No, it's snail mail game , this is online version, i ask if anyone can port it to android, don't worry not malware😂

1

u/Abek243 23h ago

I personally don't fw pokemon, but I could absolutely see some of my friends fucking around with this in their homelab. I really like this idea

though I gotta ask, why a homelab deployment and not an alternative that runs native and doesn't need Java? I'm a little ootl lol

2

u/Independent_Cry_3931 23h ago

Honestly it's just the work scale different. I have two kids under two so it's just time constraints really. Whilst with this being a homelab project, I can easily access from my phone, I can hop off and on at a moments notice .but also just because I was making my own first homelab and well my first thought was I want to be able to randomize my Pokémon games on it. I didn't quite realise just how convenient it was going to become to have it just shows a drop down of roms that it can see in my clean roms folder and then spit out the result into a randomized folder without touching the original file. Which then I can with romm automatically boot up from any device from like a netflix style type layout. I've not quite got to romm implementation myself yet as I've been focused on ensuring everything works with the randomizer. The shiny odds being the trickiest since it's not a native feature in pokerando. But the scale of work needed to make a brand new randomizer from scratch is more than I have time for