Encoder Technologies

Technology · Python

Python development for data work and applied machine learning

We use Python where the work is about data rather than transactions: forecasting from transaction history, extracting text from documents, classifying what arrives in an inbox, and the automation that has to read a thousand files before lunch. The model is the easy part; the part that decides whether the feature survives contact with users is everything around it.

Engineering rationale

Why we reach for Python

The reasons below are the ones that decide a project. Anything a competitor can say about a framework's features, you can read in their documentation — what is harder to find is why a particular team picks it for a particular problem.

01

The ecosystem is the reason, not the syntax

pandas, scikit-learn, PyTorch, OpenCV and the transformer libraries are not available in comparable form elsewhere. Choosing Python for a data task is choosing a decade of solved problems — parsing, cleaning, numerics, model serving — rather than a language preference.

02

Every model ships with an evaluation set

A model that is not measured is a rumour. We build a labelled evaluation set before the feature ships, agree a threshold the business will accept, and monitor for drift afterwards. That turns 'the AI is about 90% accurate' into a number both sides can check and a regression that raises an alert.

03

Retrieval over generation for anything factual

For assistants answering questions about company records, we retrieve the relevant documents, cite them and enforce the asking user's permissions at retrieval time. The system should say it cannot find an answer rather than produce a plausible one.

04

Automation that keeps a human at the expensive decisions

Extraction and classification are good automation targets. Final approval where being wrong is costly is not. We keep a human decision point and a review queue rather than pretending a confidence score is a business decision.

What we build

Python work, in outcome terms

Not a capability list. These are the engagements we take on, described by what changes for the business when they are finished.

Applied machine learning features

Forecasting, classification and anomaly detection integrated into an existing product, with baselines measured so the improvement is demonstrable rather than asserted.

Document and invoice processing

Extraction from PDFs, scans and email attachments into structured records, with confidence thresholds and a human review queue for the exceptions.

LLM and retrieval-based assistants

Assistants that answer over company data under existing permissions, with citations, evaluation sets and a clear refusal path when the answer is not in the sources.

Internal automation and data pipelines

Scheduled extraction, reconciliation and reporting that replace manual spreadsheet work, with the intermediate data inspectable.

Limits and alternatives

Where Python is the wrong answer

We would rather lose the enquiry than take a project the technology cannot serve. These are the cases where we recommend something else — including other things we build.

AI is rarely the first thing a business needs

The first question is which decision the system is meant to change and what it costs to get that decision wrong today. Plenty of processes are better served by a well-built rule than a model, and we will say so — including when the answer is to build nothing.

Python is not our default for transactional applications

It is an excellent language, but for an operational ledger we reach for Laravel: the migrations, policies and query builder are the tools, and the ecosystem around them is deeper. Python earns its place at the data layer of a system whose core is elsewhere.

A model is a dependency on somebody else's model

Hosted APIs change pricing, deprecate endpoints and alter behaviour without notice. We design so that swapping or self-hosting the model is a bounded piece of work rather than a rewrite, and we tell you the running cost before you commit.

The surrounding stack

Python in the system we build

No technology runs alone. This is the rest of the stack that ships alongside it, so you can see the whole system rather than one component.

  • PyTorch
  • TensorFlow
  • scikit-learn
  • Pandas
  • NumPy
  • OpenCV
  • PostgreSQL
  • LLM APIs

FAQ

Python — questions

The questions buyers actually ask before commissioning Python work, answered without hedging.

How much data do we need for machine learning?

Enough history for the pattern to have repeated many times — typically a year or more of clean transactions for forecasting. The first phase establishes whether the data supports the question at all, and we will tell you if it does not rather than starting a project that cannot succeed.

Do you use OpenAI or Anthropic APIs, or run models ourselves?

Hosted APIs where they are the right trade-off, self-hosted open models where data cannot leave your infrastructure or the running cost justifies it. Either way we keep the model behind an interface so changing it later is a bounded piece of work.

Can you add AI to software we already have?

Frequently, and that is usually the best shape — an existing product with good data and a clear decision to improve. We add the feature, the evaluation set and the monitoring without a rewrite.

What happens to accuracy after launch?

It drifts, because the business changes. We monitor against the same evaluation set, alert when performance falls below the agreed threshold, and build a retraining path. A model nobody watches is a liability with a good demo.

Need Python work done properly?

Tell us what you are building and what is going wrong today. We will tell you whether this is the right technology, what it will take, and whether it is worth building at all.