Web Development

Here is a selection of recent side projects in web development, all built from scratch with the purpose of learning new technologies.

eBayes

My favourite pet project - a Bayesian Marketing Mix Modelling app for eCommerce implemented with Django and PyMC-Marketing, fusing data science with web development. Work-in-progress.

Technology

Django PyMC PyMC-Marketing HTMX TailwindCSS Chart.js django-cotton

Key Learnings

Implementing Bayesian marketing mix models, processing and validating CSV uploads, creating dynamic data visualizations, combining data science with web development

Async Data Pipeline

An async data pipeline with a client consuming an open API with retry mechanism, data validation with pydantic, LLM integration and async mongodb via motor.

Technology

Asyncio HTTPX MongoDB Motor OpenAI Pydantic Tenacity

Key Learnings

Working with async, NoSQL, LLMs, retrying API consumption and data validation

Object Detection API

A simple Object Detection API using YOLO and FastAPI, deployed with Docker.

Technology

Docker FastAPI YOLO

Key Learnings

Building API with FastAPI and YOLO object detection.

TopBottomBabes

A naughty e-commerce store, with complex cart management and multi-step checkout process built from scratch. Uses Stripe for payments.

Technology

Django HTMX TailwindCSS SQLite django-widget-tweaks Stripe django-allauth

Key Learnings

Managing cart and checkout state between anonymous and authenticated users, Stripe payments, custom user models, signals, session handling, test-driven development

Getting Tasks Done

A 'Getting Things Done' task manager with a dynamic HTMX UI, PostgreSQL/SQLite support, and allauth authentication. Includes admin honeypot, environment-based configs, and production-ready settings for secure, scalable deployment.

Technology

Django HTMX TailwindCSS PostgreSQL python-environ django-allauth Whitenoise

Key Learnings

Full-stack development, HTMX, TailwindCSS, security practices (CSRF, honeypot, env management), user auth, deployment config