Projects
Selected engineering work
A mix of independent products, working demos, and technical prototypes. Each page explains the engineering focus and the evidence available without pretending every item has the same deployment status.
AI / ML / Full-Stack
WaveMind
A native Windows application that turns live system audio into near-real-time transcription through an AI API.
- Platform
- Native Windows

AI / ML / Automation
Invoice Parser
Upload a PDF invoice, get structured JSON: vendor, line items, tax, totals. 3-tier extraction: layout analysis, regex patterns, LLM fallback. Every field schema-validated.
- Extraction
- Rule-based + LLM

AI / ML / Automation
Email Classifier
Classify inbound email into support, sales, spam, or internal. Two-stage pipeline: rule-based spam filter then TF-IDF + LinearSVC classifier. No external API calls.
- Model
- TF-IDF + LinearSVC

AI / ML / Automation
Ticket Router
Paste a support message, get it routed: urgency, department, and a suggested first response. Hybrid rule + sentiment + LLM pipeline with PII redaction.
- Routing
- Urgency + department

AI / ML / Full-Stack
Sentiment Dashboard
Upload customer reviews or messages, get a sentiment breakdown: positive/negative/neutral percentages, trend chart, and flagged negatives. VADER + optional LLM hybrid.
- Throughput
- ~2,000 msg/sec

AI / ML
Demand Forecaster
Interactive forecasting: adjust season, price, promotions and see predicted daily sales shift. Gradient Boosting model with confidence intervals and feature importance.
- Model
- Gradient Boosting

AI / ML
Document Q&A
Upload a PDF, ask questions in plain English, get answers with page-number citations. RAG pipeline: chunk, embed, retrieve, generate. Grounded answers only.
- Pipeline
- RAG (retrieval-augmented)

Automation / Security
Spreadsheet Reconciler
Upload two CSVs (bank statement vs ledger), get a reconciliation report: matched rows, unmatched rows, discrepancies. Handles 100k+ rows with fuzzy matching.
- Matching
- Exact + fuzzy

Automation / Full-Stack / DevOps
Market Snapshot
Fetches Cisco's daily high/low and streams a live current price. Runs as a scheduled pipeline with a web view and JSON API.
- Schedule
- Daily

Full-Stack / AI / ML
GlobeScraper
Full-stack platform for English teachers in Southeast Asia. Community, AI blog engine, rental marketplace with a 7-source scraping pipeline.
- API routes
- 55

AI / ML / DevOps
Weather ML App
A machine learning Flask app that predicts weather conditions from sensor inputs. Dockerised with full CI/CD and Kubernetes deployment.
- Model
- scikit-learn

DevOps / Full-Stack
Server Pulse
Live dashboard showing real-time CPU, RAM, disk, and uptime from a Hetzner CX23. Polls a Flask + psutil endpoint every 5 seconds.
- Backend
- Flask + psutil

DevOps / Full-Stack
Uptime Monitor
Background thread pings the portfolio API and site every 60 seconds. Graphs 24 hours of response times with Canvas charts.
- Ping interval
- 60 seconds

AI / ML
Image Style Transfer
Upload any photo and apply a famous art style: Van Gogh, Munch, Picasso, and more. Fast neural style transfer running on the server with OpenCV DNN.
- Models
- 7 styles

Security / Full-Stack
Security Scanner
Enter any URL and get a full security header audit: HTTPS, HSTS, CSP, clickjacking protection, and more. Live tool with A–F grading, SSRF-safe API, and detailed per-header findings.
- Headers checked
- 9

DevOps / Full-Stack
Network Health Monitor
Add up to 5 endpoints and monitor them in real time. Polls every 15 seconds, shows status, response time, and SVG sparkline latency charts. SSRF-safe API with batch health checks.
- Max endpoints
- 5

Full-Stack / AI / ML
SEO Auditor
Enter any URL and get a comprehensive SEO audit: meta tags, headings, structured data, images, links, performance, mobile-friendliness, crawlability, and an AI-powered action plan.
- Checks
- 40+

Automation / DevOps
Data Pipeline
End-to-end data pipeline: ingest, validate, transform, and output structured data. Designed for reliability with retry logic and monitoring.
- Pattern
- ETL pipeline
Related reading
Next step / direct enquiry
Interested in how I could contribute?
View the public CV for the full career picture, or send a private message to discuss a role, collaboration, or engineering problem.