Side project · Desktop app
Guardian Tales companion app
Team advice for Guardian Tales mixes official notes, wikis, and tier lists of uneven quality. I built a Windows app that recommends teams and gear by game mode from the heroes I own, and labels every fact with how far its source can be trusted.
- Author
- Christian Arango
- Role
- Product Owner and builder, with Claude Code
- Platform
- Windows · Python
- Status
- Personal build · September 2026
The problem
Opinions get passed off as facts
Blogs and forum threads repeat tier lists as if they were measured. I wanted advice that shows where each recommendation comes from and never claims more certainty than its data has.
What I built
The real catalog, my roster, and a team builder
- Catalog
The game’s real catalog
171 heroes, 155 cards, and the weapons, shields, accessories, merch, and relics, each read from the official wiki’s catalog pages.
- Roster
Each hero’s progress
Level, limit breaks, evolution, and weapon progress for every hero, with the level caps the game really applies.
- Teams
A team builder by game mode
Pick heroes and gear slot by slot, or load the best-sourced composition for that mode from the heroes you own.
See the five trust levels in the data model
class SourceTier(str, Enum):
"""How much to trust a piece of data. Every fact in the DB carries one."""
OFFICIAL = "official" # dev letters, patch notes, official Discord
STATS = "stats" # gtales.top raid/comp data, datamined values
WIKI = "wiki" # Fandom / NamuWiki reference data (manually verified)
CORROBORATED_COMMUNITY = "corroborated_community" # 2+ independent community sources agree
COMMUNITY = "community" # a single tier-list/blog/video — FYI only, never authoritativeDecisions
Trust is part of the data model
Five trust levels
Official, stats, wiki, corroborated community, and a single community source. A lone tier list is for reference only.
No guessing to fill gaps
The team leader is filled in only when the source names it, and a slot the game doesn’t have stays empty.
Rules instead of machine learning
Recommendations rank by source trust first, then by how much of your roster covers them. The engine needs only Python’s standard library.
Where it stands
Usable today; the recommendations need more data
The catalog and roster tracking are complete, but only one sourced composition is loaded so far. Growing it is careful data intake, not more code.