About this project

Ultros is an open-source web application that provides live market-board analytics for Final Fantasy XIV. It is hosted at ultros.app and covers every data center, with an in-app help section explaining each feature. What it offers - Flip Finder: scans every world on a data center for items that can be bought cheaply and resold on a home world, showing profit per day, sale velocity, drift and confidence scoring. - Item pages: live cross-world listings, sale history charts, an outlier-filtered "real price", and vendor/exchange source information for marketable items. - Analyzers aimed at gil-making activities: recipe crafting profits (ingredient cost vs. sale price, with subcraft recursion), levequest turn-ins, retainer ventures, scrip spending, vendor resale and Free Company crafting. - Market Trends: 24-hour movers, category heat and rising/falling items per world. - Currency Exchange: marketable items to buy with tomestones, scrips, seals and other in-game currencies. - Lists: shareable shopping lists with cheapest-listing lookups. - Retainer tracking: monitor your listings and get notified when you are undercut. - Price alerts: per-item price thresholds delivered by Discord DM or webhook. - Discord bot: market lookups and undercut alerts inside a server. The project is described by its author as a hobby built for fun by one person. It runs optional ads purely to cover hosting; ads can be disabled in settings and ad blockers are said to work. How it is built The stack is full-stack Rust: Axum for the backend web framework, Leptos for the full-stack web frontend, SeaORM for database access, and Serenity for the Discord bot. Market data comes from the live Universalis API (HTTP and WebSocket). The repository is split into crates including the main `ultros` backend, `ultros-frontend` with `ultros-app` and the WASM `ultros-client`, `ultros-db`, `ultros-api-types`, a `universalis` wrapper, game data generation crates (`xiv-gen`, `xiv-gen-db`, `game-data-pack`, `icon-extract`) and a `migration` tool. Running it yourself Development prerequisites include a nightly Rust toolchain, Git LFS for the game data packs under `data/`, a running Postgres instance, and cargo-leptos. A local Postgres can be started with Docker, and a `.env` file based on `.env.example` supplies Discord OAuth credentials, a cookie encryption key, the database URL, port and log settings. The app applies database migrations and fetches world/region data from Universalis on first boot. Game data (item and recipe tables plus item icons) ships as pre-generated packs tracked with Git LFS and embedded at compile time; a `game-data-pack` tool regenerates them from the community ffxiv-datamining CSV repositories and, for icons, from a local FFXIV installation's SqPack files, with options to pin versions, skip icons or point at a non-standard game path. Contributions are welcomed through issues, pull requests or the project's Discord server. The project is licensed under MIT and its README notes that the codebase may be somewhat messy in places.