Web & Application Development

Python development

Python covers three distinct kinds of work for me: web services with FastAPI or Django, data work with pandas and friends, and the automation glue that runs on a server and stops somebody doing a task by hand every week.

The third category is undervalued. A sixty-line script that reconciles two exports, or watches a directory and pushes files to an API, often returns more than a feature would, and it is cheap to build. I mention it because clients rarely think to ask.

What is included

The work itself

FastAPI services

Typed request and response models with Pydantic, automatic OpenAPI docs, async endpoints where I/O justifies them, and dependency injection for auth and database sessions.

Django applications

When the project wants an admin interface, an ORM and auth out of the box. Django gives you a working back office on day one.

Background processing

Celery with Redis or RabbitMQ for long-running tasks, periodic jobs with Beat, and result handling that surfaces failures instead of swallowing them.

Data work

Cleaning and reconciling messy CSV and Excel exports with pandas, scheduled reports, and one-off migrations between systems.

Scraping and integration

Structured extraction with httpx and selectolax or Playwright where JavaScript rendering is unavoidable, done politely, with rate limiting and respect for robots.txt.

Server automation

Backup scripts, log parsing, health checks and cron jobs that report when they fail rather than only when they succeed.

How I work on it

Process

Adjusted to the job, but this is the shape it usually takes.

  1. Pin the environment

    A lockfile and a defined Python version from the start. "Works on my machine" is almost always a dependency resolution difference.

  2. Types where they pay

    Type hints on public interfaces and data models, checked in CI. Not dogmatic coverage of every local variable.

  3. Test the transformations

    Data logic gets unit tests with real awkward sample rows. The empty string, the wrong date format, the duplicate ID.

  4. Run it somewhere real

    Deployed under supervision with logging, not left in a terminal session that dies with the SSH connection.

Questions

Things people ask

FastAPI when the deliverable is an API and the consumers are other services or a JavaScript frontend. Django when you want the admin, the ORM, sessions, templates and auth to already exist. That back office is worth a lot on internal tools.

cPanel has a "Setup Python App" feature built on Passenger, and simple WSGI apps do run there. It is workable for low-traffic tools. Anything with Celery workers or heavy dependencies belongs on a VPS.

I do applied work, using existing models through APIs, embeddings and retrieval, classification with off-the-shelf libraries. Training novel models from scratch is a research specialism and I would point you elsewhere for that.

Need help with python development?

Tell me the situation and what you have already tried. I read the code and the server before quoting anything.

Get in touch