Inspiration
Fighting games are unique in that the magic happens at so called locals. Locals are tournaments where people attend physically. This means travel and travel means unreliable internet.
What it does
Fighting Nerd has two main functions:
- fully offline data - users can access information no matter their connectivity
- consistent search and filtering across various games
How I built it
The Fighting Nerd project started out as a Discord frame data bot, after the old one died. From the very beginning, I had two non-negotiables:
- it must support multiple games
- it must source data from community wikis
Because of those factors, the project was highly modular from the very beginning. This made adding mobile clients on top of the Discord client the natural next step. And Compose Multiplatform was the obvious tool for the job.
Challenges we ran into
The architecture was the biggest one. The project uses five wikis and supports 15 games. Modularity was critical.
Accomplishments that I'm proud of
The bot was a success - it's currently in 550 Discord servers and has 300 uses every day. FightingNerd is the defacto frame data bot for Tekken, BlazBlue, Uni and Melty Blood. Breaking into other games is an on-going aspiration.
Another thing I'm proud of are the original functionalities for Tekken, which is the game I have most experience with.
What I learned
Even if you have a free and compelling product, communicating the selling points to strangers is very difficult.
What's next for Fighting Nerd
WASM.
Built With
- buildkonfig
- claude
- coil
- compose
- coroutines
- datastore
- detekt
- flow
- koin
- kord
- kotlin
- revenuecat
- sqldelight
Log in or sign up for Devpost to join the conversation.