Curriculum vitae ยท Malta ยท 2026

Simon
Bugeja

Eighteen years in iGaming across trading, risk, product, commercial and business intelligence, with a clear understanding of how operators generate revenue and the data needed to support it.

Professional approach

I work hands-on. I write the SQL, build the models and check the numbers myself, and I use that grounding to sit between commercial teams and engineering, turning boardroom questions into things a data team can build and warehouse results into things a commercial lead can act on.

I am pragmatic about delivery and would rather ship a reliable answer this week than a perfect one next quarter. Much of my time goes into removing manual work: reconciliations that tie out automatically, reports that run themselves, one agreed definition of each KPI. I help teams use their own data, and I push back with evidence when a decision does not match what the numbers show.

Experience

Mar 2023 โ€“ present3 yrs 7 mos

Boundless Malta KTO Group ยท Malta

Head of Business Intelligence & Analytics

  • Lead the BI and analytics function for a Brazil-focused online casino and sportsbook, reporting to executive leadership.
  • Own the company KPI framework: GGR, NGR, bonus cost, vault and bonus attribution, deposit and withdrawal funnels, retention and player value, as a single source of truth across sportsbook, casino, payments, CRM and customer service data.
  • Designed and maintain the analytical data model and ETL logic on Amazon Redshift, including derived revenue metrics and attribution rules used in finance and commercial reporting.
  • Deliver executive and departmental dashboards in Tableau and run ad hoc analysis for product, CRM, payments, customer service and compliance stakeholders.
  • Own finance reconciliations between platform, payment provider and ledger data, so month-end GGR, bonus cost and cash positions tie out and discrepancies are traced to source.
  • Built payments analytics across PSPs and PIX, covering approval rates, deposit and withdrawal funnels, processing times and cost per transaction.
  • Automated recurring reports, data quality checks and hand-offs between finance, CRM and customer service, removing manual spreadsheet work across teams.
  • Introduced AI-assisted analytics workflows with Claude Code and Python for query generation, data QA and documentation.
  • Supported regulatory data and reporting requirements under Brazil's federal betting framework.
Jul 2018 โ€“ Mar 20234 yrs 9 mos

William Hill International Malta

Head of Sportsbook Performance

Sep 2021 โ€“ Mar 2023Promoted
  • Led performance analysis for the international sportsbook, covering margin, turnover, product mix and customer profitability across markets.
  • Set and tracked commercial targets with trading, product and marketing, and presented performance reviews to senior leadership.
  • Built the reporting and insight layer used by trading and commercial teams to manage pricing, promotions and liability.

Sportsbook Performance Manager

Jul 2018 โ€“ Sep 2021
  • Owned day-to-day sportsbook performance reporting and analysis, identifying margin leakage, pricing issues and product opportunities.
  • Partnered with trading and risk to quantify the impact of pricing and liability decisions on results.
Feb 2018 โ€“ Jul 20186 mos

PandaScore B2B esports data and odds

Chief of Esports Betting

  • Owned the iGaming-facing side of a B2B esports data and odds provider, combining product and commercial leadership.
  • Steered the betting product roadmap: market coverage, odds and pricing models, settlement and the data feeds operators integrate.
  • Represented operator needs internally, translating sportsbook requirements into product priorities for the engineering and data teams.
Nov 2017 โ€“ Feb 20184 mos

Frontloop Media

CRM Team Lead & Campaign Management

  • Led CRM and campaign execution for iGaming brands: segmentation, promotions and performance reporting.
Jul 2016 โ€“ Oct 20171 yr 4 mos

Betgenius Genius Sports

Business Development Manager

  • Managed commercial relationships and new business for B2B sportsbook data, trading and risk services with European operators.
Jan 2013 โ€“ Jul 20163 yrs 7 mos

Betsson Group Malta

Head of Prematch Risk

Mar 2014 โ€“ Jul 2016Promoted
  • Led the pre-match risk function across Betsson's brands, setting liability limits, customer risk policy and margin targets.
  • Managed and developed a team of up to 10 risk analysts and traders.
  • Worked with trading, compliance and product on bet acceptance, customer profiling and fraud prevention.

Tennis Trader

Jan 2013 โ€“ Mar 2014
  • Priced and managed pre-match and in-play tennis markets, including odds compilation and liability management.
Mar 2011 โ€“ Mar 20121 yr 1 mo

Offsidebet.com Malta

Sportsbook Trader

  • Traded multi-sport pre-match and in-play markets for a start-up sportsbook.
Jan 2008 โ€“ Feb 20113 yrs 2 mos

Betfair Malta

Sportsbook Trader

Nov 2009 โ€“ Feb 2011Promoted
  • Traded sportsbook markets across exchange and fixed-odds products, managing prices and liability.

Telbet Broker

Jan 2008 โ€“ Oct 2009
  • Handled high-value telephone betting customers, placing and managing bets on their behalf.

Skills & tools

Data & BI
SQL on Amazon Redshift, PostgreSQL and SQL Server (SSMS), data modelling, ETL, KPI definition, attribution logic
Visualisation
Tableau Cloud and Desktop, Power BI, executive dashboards, self-serve reporting
Programming & AI
Python, Claude Code and LLM-assisted analytics, automation of data QA and documentation
Business areas
Finance reconciliations and month-end close, payments and PSP reporting, bonus and CRM economics, customer service operations, compliance and AML data
Languages
English, Maltese, Spanish, Italian

How I use AI

I treat AI as a colleague with perfect recall and no context. The value is in giving it that context: the data model, the KPI definitions, the tone of voice, the rules of the business. Everything below is built that way, with Claude Code and a curated knowledge layer, so the output is grounded in KTO's real data rather than a guess.

Projects

01Data assistant

Sophia

KTO’s data buddy. Anyone in the company can ask a question about players, sportsbook, casino, payments, customer service or CRM in plain English or Portuguese, and Sophia finds the right tables, writes the SQL, runs it against the warehouse and answers with the caveats a good analyst would add.

The problem

Most of KTO’s data lives in Redshift and most of the company does not write SQL. Every “quick question” became a ticket for the BI team, the same business rules got re-explained to every new stakeholder, and answers to simple questions could take a day.

What I built

Not a chatbot wrapper. A curated playbook, now over 700 lines, that encodes how KTO actually thinks about its data: eight schemas, the NGR formula and its freeplay carve-out, the real-money active definition, marketing attribution, lifecycle rules, migration edge cases, the canonical KPI glossary. Claude Code reads that playbook and writes the right query the first time.

Why it works

She is honest about gaps. When she cannot answer, she says so and offers to route the question to the right subject-matter expert on Slack, within their office hours. Each answer goes back into the playbook, so nobody hits the same gap twice. Read-only database user, whitelisted tables, every query tagged and auditable.

  • Went from idea to company-wide tool in one quarter, shipping v2 to v7.5 between May and August 2026 with a new capability most weeks: live “today” funnel, round-level casino, ML model scores on request, affiliate types, app analytics, responsible-gambling limits, a Tableau finder that sends people to an existing dashboard when one already answers their question.
  • Turned the BI team from a bottleneck into a reviewer. Stakeholders self-serve the easy 80%, analysts keep the hard 20%, and every question is logged so I can see what the business is actually asking.
  • Compliance built in from day one: AML and responsible-gambling scores are fenced to specialist conversations, the P&L is out of scope, and access is enforced at the database level, not just in the prompt.
Claude CodeAmazon RedshiftSQLPythonSlack API
02Payments

Account-ability

In-house payment reconciliation for KTO Brazil, built to replace a licensed third-party tool and the fee that came with it. Every internal transaction is checked on two sides, against the wallet ledger and against the payment provider’s statement, and anything that does not tie out is classified, surfaced in a back office and tracked until someone closes it.

The problem

Finance was reconciling millions of PIX movements a month through a third-party tool that did not understand our data. Statements arrive without row ids and sometimes double-load, payouts reverse the next day, and a deposit can be credited to a player before the money has actually arrived. The gaps were found late, by hand, and the vendor bill kept coming.

What I built

A hub-and-spoke model: one row per transaction at the centre, with the wallet ledger and each provider statement netted per reference as spokes. A Python engine that runs an open-set sweep over every unreconciled row across all dates, stamps the matches and labels the rest with one of six reasons and the exact amount off. A Next.js back office with company SSO for dashboards, run history, transaction search and manual reconciliation with a full comment trail.

Why it works

It is self-healing. When a later day’s data changes a reference, the row drops back into the open set and is re-evaluated on the next sweep, so cross-day reversals resolve themselves instead of flip-flopping. Ingestion is idempotent, so any day can be reloaded safely. And because the comparison logic never touches a source directly, adding a new provider is an ingestion job, not a rewrite.

  • Retires the third-party reconciliation tool and its licence. The saving is recurring, the data stays in-house, and the logic is ours to change the day a provider changes a file format, rather than waiting on a vendor roadmap.
  • Designed the data model, wrote the reconciliation engine and the back office, and took it from a design document in May to a deployed system on AWS by August: Glue ingestion into Aurora PostgreSQL, a containerised scheduler, CI/CD that deploys on merge, and a written handover plan for the platform team.
  • Worked through the messy parts of real payment data: statement dedup, two-tier netting so multi-day references complete correctly, timezone handling, and a backfill path that can replay history day by day.
  • Catches the cases that cost money. The reference case in the docs is a R$ 4,900 deposit that was credited to a player and never arrived, exactly the kind of gap the sweep now flags the same day.
PythonPostgreSQLAWS GlueNext.jsClaude Code
03Visualisation

Inveniam

KTO’s in-house data visualisation platform, built as a replacement for Tableau on warehouse-backed workloads. Two surfaces: governed dashboards built from shared data models, and living reports that Sophia authors and the platform refreshes on demand or on a schedule. Still in staging, and the biggest thing I have built.

The problem

Tableau is priced per seat, and most of the company only needs to read a number, not build a workbook. The BI tool and the AI assistant lived in separate worlds: Sophia could answer a question in seconds, but turning that answer into something that stays fresh on a wall meant rebuilding it by hand in a different tool.

What I built

A three-layer architecture that keeps the warehouse as the source of truth and nothing else. Definitions live in a relational store, bulk rows live as Parquet extracts in S3, and DuckDB does the aggregation on top, so a dashboard tile never hits Redshift at view time. A FastAPI back end, a Next.js front end with company SSO and viewer, editor and admin roles, a drag-and-drop dashboard editor with cross-filtering and drill actions, and a report ingester that takes a self-contained package from Sophia, stores its queries, and re-runs them to refresh both the data and the narrative.

Why it matters

It closes the loop. Ask Sophia a question, ask her to package the answer, publish it in Inveniam, and it refreshes itself every morning with the same logic and the same definitions. The run cost is a few hundred dollars a month on AWS rather than a per-seat licence, and because the compute reads cheap extracts instead of the warehouse, it scales with readers without scaling the bill.

  • Designed and wrote the whole stack, roughly 26,000 lines across Python and TypeScript, from the first commit in July to a running staging environment and a scoped production plan on ECS Fargate, Aurora PostgreSQL and S3 in August.
  • Solved the unglamorous parts properly: connection secrets stored as references in AWS Secrets Manager rather than passwords, server-side identity so the API never trusts the client, a Redshift UNLOAD fast path for full refreshes, and derived slices and rollups so dashboard tiles stay quick.
  • Honest about where it is. The production plan is written, the gaps are listed, and the next step is a database driver swap I have already sized. Work in progress, but the kind that shows how I think about a platform end to end.
PythonFastAPIDuckDBNext.jsAWSClaude Code

And this page

This site was built in a single working session with Claude Code: the layout, the three views, the transitions and the copy, iterated live. It is a small example of the way I like to work with these tools: quickly, hands-on, and with a clear idea of what good looks like.

Family

Home is my wife, two incredible kids, and a kitchen that is rarely quiet. No job has had a steeper learning curve than being a father, and none has given me as much joy. A shared love of good music, video games and food has helped me bond with both of them.

Cooking

Food is my obsession outside work, and sometimes at work too. A shared meal is more than nourishment. It builds a team, it builds a family, and as Anthony Bourdain said, food is “the great equalizer”. It is why I keep taking over the office kitchen, and why the people who eat there end up talking to each other long after the plates are cleared.

Simon stirring a pan of meatballs in sauce on a portable stove in the office kitchen
Simon shredding cabbage with a mandoline at the office kitchen counter

Off the beaten path

A love of food usually turns into a love of what goes into it: buying it well, foraging for it, and increasingly growing it. In my spare time I retreat to a small field where the next recipe starts long before the kitchen. Just as every good dashboard needs a solid ETL, a good stew needs good carrots and fresh herbs.