PokeDropper
A Pokemon-style collecting game on Discord with 50+ daily active players.
Screenshots
Overview
PokeDropper didn't initially start as PokeBot. Similar things to this have been done (and probably better!), but I wanted the dev experience of building an application from the ground up. It started as a weekend project, but people kept using it and wanted more and more features. Before no time, it became a collecting game with spawns, rare encounters, trades, and a persistent economy with various shops. The fact that it has an actual daily user base was not something I planned for - it just kept growing. The project doesn't see too much action these days, but as new Pokemon get added, the bot keeps up.
Challenges
SQLite at the scale of thousands of daily transactions has real limits. I had to design the schema carefully to avoid write-lock contention and excessive run-time. Discord's API rate limits are also unforgiving - figuring out how to keep a high uptime and maintain a good user experience took a while to get right. Also, I developed this with the intention to make it totally open-source. Anyone at any point can take this bot's code and make it their own personal, private pokedropper.
What I learned
This project taught me the real value of my Software Engineering degree. You can just... do stuff. Anything you want you can just make. Pokedropper has actually lived in three people's homelabs, and even next to some top secret government data. In all three home labs, Pokedropper lived on a Linux server, managed via SSH. Along with Linux came some process managers, log management, and crash handling (thanks systemd). It also taught me that users will find every edge case you didn't test, usually in the worst possible way. Thanks to them, the bot is able to run smooth and properly.



