- Tools & AI
- In development
FEH Barracks Manager
A Fire Emblem Heroes companion app for tracking owned characters across devices. I built the interface, cloud sync, data importer, release bundles and a portable Windows launcher, without an official game API.
- My role
- Solo developer: product design, frontend, data ingestion, releases and launcher packaging
- Built with
- Next.js 16, React 19, Supabase, a custom Game8/Fandom pipeline, GitHub Releases
- Runs on
- Browser, mobile browser and a portable Windows launcher
- Scale
- 1,270 indexed heroes, 5,081 character images and 1,267 quote files (local data set)
Why I built it
Fire Emblem Heroes players track more than owned units: merge projects, duplicates, skill plans, favourites, team ideas, and a roster that keeps changing. I wanted one place to keep that usable across devices.
That turned into real systems work fast. The app had to feel like a proper collection manager while surviving unstable source data, naming mismatches, release maintenance and the cost of shipping a lot of game art.
- Account-based barracks with synced favorites, notes, team comps, and profile preferences.
- Hero browser, owned-library management, and direct entry editing for merges, dupes, blessings, and tracked build inventory.
- AI export endpoints that package owned-state context for planning and build-assistance workflows.
- Aether Resort and Tavern side surfaces that push the project past a plain database shell.
- Launcher-driven local install path for heavier asset bundles and desktop-first usage.
Product screens
How it's built
App Product
The app layer handles auth, account-bound user state, hero browsing, barracks CRUD, My Heroes editing, Aether Resort, Tavern, and the AI export surface.Data Pipeline
Behind the UI is a custom FEH dataset built from Game8 and Fandom. Game8 stays the canonical identity source, while Fandom fills in art, quotes, and shared assets.Distribution
The project also ships as a portable Windows launcher that installs update bundles from GitHub Releases and keeps the heavier local asset path viable.
Hard problems
Upstream Data Was Not Stable
This was never a clean API integration. The project had to survive roster drift, naming mismatches, lazy-loaded discovery gaps, and repeated importer hardening work.Cloud Sync And Heavy Art Needed Different Homes
I kept user metadata in Supabase, but treated the full FEH art archive as local release-bundle material. That kept the app useful without pushing storage costs in the wrong direction.Release Quality Mattered
This project needed real maintenance habits: scheduled imports, reconcile checks, launcher updates, asset bundles, release notes, and safer fallbacks when source data drifted.
Outcome
The release workflow keeps the tool usable while its source data changes, and lets someone else launch it without rebuilding my development environment.