Football predictions

World Cup football prediction system

A personal project connecting match research, score predictions and submission through a web form. What worked, and why one prepared prediction still missed the deadline.

← Back to projects

Inside the workflow

Not one prompt. An entire workflow.

This personal football prediction experiment connected research, calculations, a human decision and browser submission. The engineering scope was the coordination between those steps, not just a model that predicts scores.

How the work happens

A prediction still has to arrive on time.

6 steps
WorkflowHuman decisionWhen something needs attention
  1. 01Research the match

    Gather context and refresh the research.

  2. 02Calculate probabilities

    The model also uses market odds as input.

  3. 03Propose a score

    Relate probabilities to the scoring rules.

  4. 04Request approval

    Meelis reviews the selection and decides.

    Human decision
  5. 05Enter the correct match

    Check the match and deadline before submitting.

  6. 06Verify submission

    Check the page against the log. Entry is not success.

The later workflow: human approval was added during development.
  1. Research

    The agent collected match research. Repeated research runs allowed the analysis to be refreshed rather than relying on a single conversation.

  2. Calculation

    A mathematical model calculated expected goals and possible score probabilities. Market odds were an input to the model, not merely a comparison afterwards.

  3. Selection

    Probabilities had to become a specific score selection. The most likely score and the best choice for the competition’s scoring rules are not necessarily identical.

  4. Human approval

    In the later workflow, I reviewed the proposal and decided what to submit. This boundary was added during development; not every earlier submission had this approval step.

    Control rule: information or approval missing → stop and ask.

  5. Browser entry

    The automation located the correct match in the prediction form and entered the selection. This was interaction with a real web form, not just an answer displayed in chat.

  6. Checks and logging

    Submissions and results were collected for review. Differences between logs and standings showed why an internal record is not automatically the final source of truth.

What the work taught me

The page changed after submission.

Submitting one row changed the position of later rows. An index-based selector could therefore target the wrong match. The lesson: bind an action to match identity and re-check the target before the next entry.

A prepared prediction is not a submitted prediction.

One documented missed deadline left a prepared prediction unsubmitted. Completed analysis, human approval and timely submission require separate checks. Having an alert does not prove the failure cannot recur.

An outcome needs evidence.

The captured standings and internal point totals did not fully reconcile. This page therefore does not claim a final placing, an accuracy percentage or estimated time savings.

104
matches in the tournament scope
126
archived research runs

Source: project archive review, 11 September 2026. These describe scope, not successful automated submissions or correct predictions.

The problem

In prediction rounds, picks have to be submitted before a deadline. Good analysis does not help if the entry never happens: missing a deadline and making a wrong prediction are two different failures.

What was built

  • A workflow that gathers research, calculates estimates with a mathematical model and compares them with market information. It then prepares the round entry.
  • The later workflow requires human review before submission. That does not mean the workflow was historically always autonomous, nor that every entry was always approved.

My role and the AI role

My role

Strategy and review of every round. I decided what to submit.

AI role

AI did the research and wrote the code.

A selected lesson

One round was never submitted even though the predictions were ready. An alert mechanism existed, but the report does not prove that it prevents a repeat. A missed deadline is a different fault from a wrong prediction and needs its own check.

Next step

Want to build something similar?

I can help you build with AI while you keep control of the result.

Get in touch