Senior Python, AI & Full-Stack Engineer

Software engineer first.
AI specialist now.

Python applications, AI systems, data analysis and full-stack delivery — built on 15+ years of production software engineering across desktop, web, e-commerce and mobile. The AI work is recent; the judgement about what survives contact with real users isn't.

15+Years shipping production software
PythonPrimary language and ecosystem
AICurrent specialisation, applied not theoretical
SoloFirst conversation through to deployment
Case studies

The problem, then the build.

Four projects in enough detail to judge whether I'd be useful on yours — what the actual constraint was, what got built, and where it ended up.

AI Knowledge Base & RAG Systems

AI engineering · Python

The hard part of a document Q&A system isn't the model — it's retrieval. A generic chatbot bolted onto a document store answers confidently from nothing, and loses the room the first time someone checks a citation.

The problem

Organisations sit on contracts, manuals, support histories and internal documentation that only a long-serving employee can navigate. The knowledge exists; it just isn't reachable by anyone who needs it at the moment they need it.

What I built

Ingestion and chunking tuned to how the source documents are actually structured, embeddings and vector search — Pinecone, Qdrant, FAISS or pgvector depending on the deployment — retrieval with deliberate context-window management, and a FastAPI service layer in front of the LLM APIs.

How it holds up

Answers stay tied to the passages they came from, so anyone can check the source. Retrieval is the layer that gets tuned over time; the model behind it stays swappable. Where data can't leave the building, the same architecture runs against local models via Ollama.

PythonFastAPIRAGVector SearchLLM APIsOllama
Discuss similar work ↗

Sparkle & Co

E-commerce · sole technical owner · 8+ years

A growing nail-products retailer with no in-house technical team. For eight-plus years I was the entire technical function — storefront, server, integrations, reporting and search.

The problem

Every technical need landed with one person: a new storefront feature, a server falling over on a Sunday, a reporting question from the owner, an SEO decision, and eventually a full platform migration. No team to escalate to.

What I built

The WooCommerce storefront and the custom plugins and internal tools around it, sales and inventory reporting, server administration and deployment, continuous SEO work, a later migration to Shopify, and an AI-based nail simulator so customers could preview products.

How it holds up

Eight-plus years of unbroken ownership across two platforms — the kind of engagement where you inherit every decision you made three years earlier and have to live with it. Relationships like this are the closest thing to a real reference a freelancer has.

PHPWooCommerceShopifyPythonMySQLSEO
Client store ↗

Judtho

Product engineering · web + mobile

A chess variant with pieces standard engines don't have, and 2-, 3- and 4-player formats that standard turn logic doesn't handle. Nothing off the shelf could be adapted, so the rules engine was written from scratch.

The problem

A chess variant lives or dies on whether the rules engine is correct. This one adds pieces with movement patterns existing chess libraries don't implement, and supports three- and four-player games where turn order and elimination don't behave like standard chess.

What I built

Move generation and validation written from first principles, multi-player turn and elimination handling, a React web client for play, Python services behind it, and a Flutter path for mobile delivery.

How it holds up

Live and playable at judtho.com — which makes it one of the few things in any portfolio you can fully evaluate without taking the author's word for anything.

JavaScriptReactPythonFlutterGame logic
Play it ↗

Audio AI — transcription & music tooling

Python · AI · signal processing

A run of tools built around the same frustration: audio work that is technically solvable but painfully manual, and Indian-language audio that mainstream tools handle badly.

The problem

Transcription in Hindi and Gujarati is poorly served by mainstream tools. Meanwhile routine studio tasks — pitch correction, repeated effect chains, stripping vocals to recover an instrumental — consume hours of identical manual work.

What I built

A multilingual Hindi/Gujarati/English transcription app on faster-whisper with a React and FastAPI core, wrapped as an Electron desktop app with live microphone recording and subtitle export. A song-to-instrumental converter using Demucs for stem separation, Basic Pitch for melody extraction and FluidSynth for rendering. And a Python autotune engine handling pitch correction plus repeatable compression, echo and reverb chains.

How it holds up

Working desktop and web tools that replaced processes previously done by hand. The interesting engineering is in the pipeline design — these are long-running, resource-hungry jobs that have to stay responsive to a user sitting in front of them.

PythonFastAPIfaster-whisperDemucsElectronReact
Discuss similar work ↗
Data & analysis

The part that changes someone's mind.

Third in what I do, and often the piece that turns a vague suspicion about a business into a decision someone will actually act on.

Mostly unglamorous, entirely necessary.

Analysis work is rarely the modelling. It's getting data out of systems that were never designed to share it, cleaning what comes back, reconciling the version in the database with the version in the spreadsheet someone maintains by hand, and then building reporting that lets a business be seen rather than guessed at.

I came to this from the operational side — years of running e-commerce reporting where the numbers had to be right because someone was about to order stock against them. That tends to produce more scepticism about a clean-looking chart than a purely academic route does.

Also: wrote and published a Python and data-science book on Amazon Kindle.

What that looks like in practice

  • Reporting and dashboards built on live business data
  • Data cleaning and transformation pipelines in Python
  • Analysis with pandas, NumPy and scikit-learn
  • Web scraping and data collection with Scrapy
  • SQL analysis across PostgreSQL and MySQL
  • Scheduled pipelines and automated report delivery
  • Sales, inventory and channel reporting for e-commerce
Also shipped

Breadth, briefly.

Smaller builds and client tools — useful mainly as evidence of range across stacks, platforms and problem types.

AI automation

YouTube Automation Pipeline

A reusable multi-step workflow taking a short idea through to prompts, generated media and an assembled video — LLM and media APIs stitched together with FFmpeg processing.

PythonLLM APIsFFmpeg
SaaS · mobile

Restaurant KOT Manager

Multi-tenant restaurant SaaS in Flutter and Supabase — a realtime kitchen display system, role-based access across staff types, and atomic RPCs so concurrent order updates can't corrupt each other.

FlutterSupabaseRealtime
Business systems

Hospital Management System

A desktop hospital management system built on .NET 8 and WPF over PostgreSQL — the kind of records-heavy internal software where correctness matters more than novelty.

.NET 8WPFPostgreSQL
Mobile · AI

PolyScribe

A Flutter live transcription app able to run against multiple transcription engines, so accuracy and cost can be traded off per use case rather than locked to one provider.

FlutterSpeech-to-text
Prototype

English Buddy

A Next.js 14 prototype using browser speech recognition for spoken English practice, with grammar feedback explained back in Hindi, Gujarati and Hinglish rather than in English only.

Next.js 14Speech API
Client tooling

Fencing Sydney Calculators

Custom quoting tools for fencing and timber configurations — dynamic product options with JavaScript-driven calculation logic backed by PHP services.

JavaScriptAngularPHP
Fifteen years

How I got to the AI work.

Worth knowing, because the AI-native generation is a year or two deep. The engineering judgement underneath it took considerably longer.

Early years

Visual FoxPro → VB → VB.NET

Business systems and desktop applications, back when that meant owning the database, the interface and the deployment yourself.

2010 - 2020

PHP, WordPress & e-commerce

About a decade of production web work — WooCommerce, Laravel, CodeIgniter, Magento — for businesses that were actually trading on the sites.

2020 onward

Python & modern full-stack

Django and FastAPI on the backend, React and Next.js on the front, Flutter and Electron for cross-platform product work.

Now

AI engineering

LLM applications, RAG, agents, vector search and local models — built on top of everything above rather than instead of it.

Core expertise

Where I create the most value.

Ordered the way I'd actually rank myself, not the way a keyword list would.

Python & Applications

  • Python
  • FastAPI / Django
  • REST APIs
  • Electron desktop apps
  • PostgreSQL / MySQL

AI & Generative AI

  • LLM applications
  • RAG & vector search
  • AI agents
  • OpenAI / Claude / Gemini
  • Local models via Ollama

Data & Analytics

  • pandas / NumPy
  • scikit-learn
  • Reporting pipelines
  • Scrapy & data collection
  • SQL analysis

Full-Stack & Production

  • React / Next.js
  • Flutter / mobile
  • Node.js
  • Docker / Nginx / Linux
  • n8n & deployment
Need senior engineering support?

Bring me the messy technical problem.

Available for AI engineering, Python and backend development, data work and full product delivery — including long-term remote engagements and senior overflow for agencies.

Start a conversation ↗