Lottomatikai

Lottomatikai is a complete ecosystem — mobile app + web dashboard + AI backend — for the statistical analysis of large public numerical time series. We built the entire platform: the native iOS and Android companion app (React Native + Expo) with a voice AI interpreter (speech-to-text), push notifications and authentication; the web dashboard (Next.js 15 + TypeScript) with interactive charts over 150+ years of historical data, a Strategy Builder and an AI Journal; and the AI/ML backend (FastAPI + SQLAlchemy 2.0 async, PyTorch, MLflow, Celery + Redis) with LSTM/Ensemble models, an automated scraping pipeline for official datasets and a pre-aggregated statistical engine. The core of the product is methodological rigour, meaning checks that are able to say no: backtests that rule out lookahead by construction, calibration measured with quantile binning and declared degenerate when the model ranks nothing, and statistical properties surfaced only where the pipeline actually computes them — a missing value beats one asserted without measurement. Success is defined only once, as a payout actually collected. Alongside it, budget management and risk analysis tools. It includes an admin panel with business analytics (MRR, churn, retention, conversion funnel) and monitoring. One team for mobile, web, AI and DevOps.
The problem
Analysing 150+ years of public numerical time series is a statistical problem before it is a technical one: it is trivially easy to find patterns that exist only in the observed sample, and just as easy to build an interface that presents them as certainties. The real difficulty was stating how much a prediction is actually worth — and stating it verifiably.
How we tackled it
Methodological rigour is part of the product and lives in the checks that are able to say no. Backtests rule out lookahead by construction: a prediction counts only if it was written before the draw it refers to, and only if the bet is one you could actually place. Calibration is measured with quantile binning and declared degenerate when the model emits a constant probability — with a fixed threshold over equal-width bins the gate could never fail. Statistical properties are claimed only where the pipeline computes them: elsewhere the API does not expose them. Success has a single definition across the whole system — a payout actually collected — and the metrics measure that one.
Technical choices
A complete ecosystem built by one team: native iOS and Android app with React Native and Expo, voice AI interpreter, push notifications; web dashboard on Next.js 15 with interactive charts and a Strategy Builder; backend on FastAPI and async SQLAlchemy 2.0 with LSTM and ensemble models in PyTorch, experiment tracking via MLflow, automated scraping of official datasets and a pre-aggregated statistics engine on Celery and Redis. Plus an admin panel with MRR, churn, retention and funnels.
What it includes
Native iOS and Android app with a voice AI interpreter, push notifications and authentication; web dashboard with charts over 150+ years of data, a Strategy Builder and an AI Journal; AI/ML backend with LSTM and ensemble models, automated scraping of official datasets and a pre-aggregated statistics engine; budget and risk analysis tools; admin panel with MRR, churn, retention, funnels and monitoring. Mobile, web, AI and DevOps handled by the same team.