Back to projects

FUT Evolution

FC Ultimate Team companion app + AI-powered football agent

SwiftUI Koog Claude Agent SDK MCP Next.js PostgreSQL Core Data
FUT Evolution app screenshots
Role Solo Developer
Timeline 2023 - Present
Platform iOS (SwiftUI), Web (Next.js)

Built for competitive players

FC Ultimate Team is one of the most popular game modes in the world, with millions of players building and managing virtual football squads. FUT Evolution is a companion app that gives players the tools and intelligence they need to compete at the highest level: a full player database, live market pricing, meta tier lists, and an AI-powered agent that acts as a personal football director.

Evo Agent, an autonomous football director

Evo Agent

Evo Agent is an autonomous AI agent built with Koog (Kotlin Agent Framework). It operates as a virtual football director: it reasons about squad composition, scouts the transfer market, analyzes player performance, and makes recommendations, all without human intervention. It is not a chatbot with pre-written answers. It plans, selects its own tools, and chains multiple actions together to solve complex squad-building problems.

How the agent works

Evo Agent follows an autonomous loop: it receives a user query, classifies the intent, selects which tools to invoke, pre-fetches relevant player data from PostgreSQL in parallel, and chains reasoning across multiple steps. For example, asking "Who should I replace my left-back with under 50K coins?" triggers a sequence: analyze the current LB's stats, search for alternatives filtered by position and budget, compare chemistry impact, check market price trends, and return a ranked shortlist with full reasoning.

The agent has access to ten specialized tools: player search, detailed stats, upgrade alternatives, chemistry links, meta tier lists, formations, price history, chemistry style guides, custom tactics, and community insights. It decides autonomously which tools to call and in what order.

What it can do

  • Squad analysis: evaluates your roster for weaknesses, depth issues, and age-profile risks
  • Player scouting: searches thousands of cards by position, age, playing style, or statistical profile and returns ranked shortlists with reasoning
  • Upgrade suggestions: recommends better replacements within your budget, calculating expected stat improvements
  • Chemistry optimization: analyzes squad chemistry and suggests formation or player swaps to maximize links
  • Market intelligence: tracks price trends (24h, 7d, 30d) and identifies undervalued cards before the market moves
  • Tactical recommendations: builds optimal lineups based on chemistry, form, and meta tier rankings
AI Coach screen

Community intelligence crawler

A dedicated Kotlin-based background service runs autonomously on a schedule, continuously crawling community sources to feed the agent with real-world player opinions and meta rankings. It aggregates data from multiple platforms covering video content, social media, forums, and player review sites. Each source runs on a cadence schedule to respect rate limits while maintaining data freshness. The agent uses this data to ground its recommendations in what the community actually thinks about each player.

Meta tier list screen

Player evolutions tracker

FC 26 introduced player evolutions, a system that lets you permanently upgrade cards by completing in-game challenges. FUT Evolution tracks every active evolution: eligibility requirements, coin and points costs, stat boosts, deadline timers, and which players in your club qualify. Instead of checking each evolution manually in-game, the app shows you exactly which of your cards can be evolved and whether the upgrade is worth the cost.

Player database with live pricing

Every player card in the game is catalogued with full attribute breakdowns: pace, shooting, passing, dribbling, defending, and physicality, along with work rates, skill moves, and weak foot ratings. The database integrates APIs that track the transfer market in near real time, showing current prices, historical trends, and investment opportunities.

Price history screen

Native iOS app

The iOS app is built entirely in SwiftUI with an offline-first architecture using Core Data. Player cards render with custom views that mirror the in-game card design. Key decisions include lazy loading for browsing thousands of cards, background price refresh, and deep linking from the web companion.

Web companion

A Next.js web app serves as both a lightweight tool and a discovery channel. Server-side rendering ensures fast load times and strong SEO for player name searches. The web and iOS apps share a PostgreSQL backend, so data is consistent across platforms.

Squad analysis screen

Technical highlights

  • Autonomous agent built with Koog (Kotlin Agent Framework): plans, reasons, and chains tool calls without human guidance
  • Query classification + speculative pre-fetching reduces agent response latency by 60%
  • Cadence-gated crawling spreads expensive API calls across cycles with configurable frequency per source
  • Streaming with smart buffering delivers real-time responses while validating JSON UI blocks on the fly
  • Response caching with 30-minute TTL and LRU eviction for repeated queries
  • Multi-language support with full EN/FR/ES system prompts and UI labels
  • Squad screenshot analysis using computer vision for player card detection from photos
Next project Afrique Sports