Skip to content

Your data already knows more than your reports say.

Most companies sit on years of orders, invoices, enrolments and support tickets, and still run the business off a spreadsheet someone rebuilds every Monday. We get that data into one trusted place, put the numbers in front of the people who need them, and add machine learning only where it beats a simple rule.

  • Python + SQL: the workhorses: pandas, scikit-learn, PostgreSQL
  • Your warehouse: BigQuery, Snowflake or Postgres on your account
  • 100+ reports: built for Cargonio, our own freight ERP
  • Rule first: a model only where it measurably wins

Data work that ends in a decision

We start from the question someone is trying to answer, trace where the numbers really live, and build the shortest reliable path from source to answer.

The first job is almost never machine learning. It is getting sales, operations and finance to agree on what a number means, then building pipelines that refresh it without a person in the loop. Once the numbers are trusted, dashboards get used and the obvious questions answer themselves.

Machine learning earns its place on the questions a rule cannot answer well: which customers are likely to leave, how much stock to order next month, which CV fits which job. We built that last one into our own hiring system, scoring every application against the job on our own server, and we bring the same discipline to client work: a baseline first, a model second, and a clear measure of whether it helped.

  • One reporting layer over several systems that disagree
  • Forecasting demand, revenue or staffing from history
  • Scoring, ranking and matching: leads, applicants, products
  • Cleaning and migrating data into a new platform
  • Question first. We start from the decision, not the dataset.
  • Trusted numbers. Definitions agreed and tested before dashboards.
  • Baseline before model. ML only where it beats a simple rule.
  • Yours to run. Pipelines and models on your own accounts.

Six deliverables.

01

Data pipelines

Scheduled extraction from your databases, spreadsheets and SaaS tools into one warehouse, with tests that fail loudly when a source changes shape instead of quietly reporting the wrong number. Airflow or plain scheduled jobs, depending on what your team can maintain.

02

Dashboards & reporting

Dashboards in Looker Studio, Power BI or Metabase, or reports built straight into your own product. We write them after watching how people use the numbers today, which is usually an export to Excel and a pivot table.

03

Forecasting

Demand, revenue, enrolment or staffing forecasts from your own history, with the uncertainty shown rather than hidden behind one confident line. Often a well-tuned statistical model beats anything fancier.

04

Matching & ranking

Scoring leads, ranking products or matching people to roles. Our own hiring Console reads CVs and scores them against each job's must-have skills on our server, so we know the trade-offs between explainable rules and black-box models first hand.

05

Classification & NLP

Sorting tickets, tagging documents, pulling fields out of invoices and forms. Where a large language model is the right tool we use one; where a small trained model is cheaper and steadier, we use that instead.

06

Data migration & clean-up

Moving years of records into a new platform without losing the history that matters. We have migrated live student, order and accounting data, and we reconcile totals before and after so nobody has to take it on trust.

Four steps, in the open.

  1. Step 01

    Find the decision

    We sit with the people who use the numbers and write down the questions they actually ask, and what they do with the answer. That list sets the scope.

  2. Step 02

    Map the sources

    We trace each number back to where it is created, note where systems disagree, and agree definitions with the people who own them before building anything.

  3. Step 03

    Build the trusted layer

    Pipelines, tests and a warehouse or reporting database, refreshed automatically. Dashboards come next, reviewed with the people who will use them every week.

  4. Step 04

    Add models where they pay

    For questions a rule cannot answer, we train and test a model against a simple baseline, ship it with monitoring, and retire it if it stops earning its keep.

Stack we use for this

  • Python
  • pandas
  • NumPy
  • scikit-learn
  • PyTorch
  • TensorFlow
  • Jupyter
  • SQL
  • PostgreSQL
  • MySQL
  • BigQuery
  • Snowflake
  • dbt
  • Airflow
  • Apache Spark
  • Kafka
  • Power BI
  • Looker Studio
  • Metabase
  • Tableau
  • MLflow
  • FastAPI
  • Docker
  • AWS
  • Google Cloud
  • Azure

Straight answers.

No. Many projects start with one or two systems and a reporting database. We recommend a warehouse when you have several sources to combine and people asking cross-cutting questions, and we size it to your data rather than to a vendor's ideal customer.