Contract Python developer · Singapore

Python developer in Singapore, available now

Python is my daily language. Recent production work includes a GenAI agent platform inside Colgate-Palmolive’s own product team, a design-to-code engine that turns Figma files into production Tailwind, and a football prediction pipeline running nightly across 218 leagues. All of it typed, tested and built to fail loudly rather than silently when something upstream changes. Underneath sit twenty years of production engineering. The worked examples below are just the ones public enough to show; on a contract the same discipline goes into your codebase, your conventions and your team’s way of working.

  • Daily production Python, with real users on the other end
  • Services, CLIs, scheduled pipelines and ML training code, not just scripts
  • Typed, tested and packaged: pytest, mypy, Typer, proper console entry points
See selected work

Availability and engagement

Straight answers to the things recruiters screen on first.

Available now Singapore, on-site or hybrid Full-time contract engagements Fixed-scope projects Day rate on request

Python

What I actually do with Python.

Long-running pipelines

Restartable ingestion with response caching, rate limiting and idempotent upserts, so a failed run is resumed rather than repeated.

Binary and format work

Hand-written readers for undocumented formats, including a Kiwi schema decoder over zstd-compressed Figma files.

Machine learning

XGBoost, scikit-learn and PyTorch with Optuna search, isotonic calibration and hierarchical priors, plus the audit code that proves the numbers.

LLM integration

Multi-provider clients with per-stage model routing, vision input, prompt caching, concurrency and resumable checkpoints.

Browser automation

Playwright and headless Chromium for rendering, measurement and visual regression, not just scraping.

Testing

pytest suites over the parts that actually break: decoders, transforms, API surfaces and calibration.

Worked examples

Three problems and how they were solved.

Drawn from production systems I know line by line, so I can go into as much detail as you want.

A decoder nobody had documented

Figma’s .fig files are a Kiwi-encoded binary format wrapped in zstd, with no published schema. I wrote the byte-buffer reader and varint decoding by hand, then re-projected the decoded structures into a normalised document tree: around 5,000 lines just for that projection layer. The lesson that transfers: when the vendor API cannot give you what you need, the format itself is usually still tractable.

Models that admit what they do not know

The prediction pipeline trains separate Poisson goal models and multinomial classifiers for leagues, domestic cups, club cups and internationals, because pooling them makes all four worse. Each market gets an isotonic calibrator, so a stated 70% means roughly 70% in practice, and the calibration curve is published on the site rather than kept internal. The same audit code was pointed at a parallel horse-racing model and showed it doing no better than the market price, which is precisely what you build measurement for.

Deterministic where it can be, model-driven where it must be

In the design-to-code engine, a deterministic pre-bake converts absolutely positioned layers into Tailwind before any model is involved, and navigation and footers are generated with no LLM at all where their shape qualifies. That keeps token cost down, makes output reproducible, and means the model only handles the part that genuinely needs judgement.

FAQ

Python contracting in Singapore: common questions

Are you available for Python contract work in Singapore?

Yes. Available now for full-time contract engagements, on-site or hybrid in Singapore. Python is the language most of my current work is written in, so this is the shape of role I am set up for. Fixed-scope Python projects can also run through The Digerati.

What is your day rate?

Day rate on request. It depends on engagement length, on-site requirement and scope, so it is easier to give you a straight answer once I know the shape of the role.

Which Python frameworks do you use?

FastAPI for services, Typer for CLIs, SQLAlchemy for data access, pytest for tests. For machine learning, scikit-learn, XGBoost and PyTorch with Optuna for hyperparameter search. I will work in whatever your team already uses rather than importing my own preferences.

Do you do data engineering as well as application code?

Yes. A good deal of my recent Python is ingestion and feature engineering: pulling from third-party APIs into a relational store, deriving features, and keeping the whole thing restartable and cheap to re-run.

Can you work on an existing Python codebase?

That is most of what contract work is. I am comfortable inheriting a system, reading it before changing it, and leaving it more tested than I found it.