Software engineer
I build AI chatbots and assistants, AI wired into your tools, business automation, web products, desktop and Android apps, data systems.
Work
Shipped and in-production work is shown first. Anything still in progress is clearly labelled.

SaaS
Hidden Leaves
A live website for booking stays and tours. Guests, staff, and admins share one product. You can open a demo.
- Next.js
- TypeScript
- Prisma
- NextAuth
AI
Autonomous AI agent operations
Autonomous AI agents that take repetitive business work off your team: run jobs on a schedule, call real tools and systems, and alert you when something fails. Built and operated the same way as the agent that powers this site.
- Hermes
- MCP
- LiteLLM
- cron
Automation
Process automation suite
Fifteen workflows between CRM, email, and accounting so leads and invoices are no longer entered by hand in three places.
- n8n
- REST APIs
- Webhooks
Data
E-commerce data pipeline
A daily job that collects competitor prices from storefronts and writes a table. Retries when a site changes. No one copies cells by hand.
- Python
- BeautifulSoup
- Selenium
Data
Sales data analysis
Seven months of sales records turned into a model and a dashboard. The client still opens it each quarter.
- Power BI
- SQL
- Excel
Data
Technical SEO audit tool
Eleven on-page and crawl checks, then a ranked list of fixes. Built to run again after a template change, without a monthly SEO product.
- Python
- BeautifulSoup
- JSON
Automation
Content production pipeline
A queue for scheduled publishing across a few brand voices, with a check before anything is marked ready. The client still owns the writing.
- Python
- n8n
- SEO
Desktop
PixPolorer
A Windows program for a large photo and video library that already lives on the computer, including files that should never go to the cloud.
- Qt 6
- C++
- Rust
- SQLite
Android
Hermes Android
A phone app for talking to an AI agent you run yourself. Built for a locked session, not a browser tab on a phone.
- Kotlin
- Jetpack Compose
- WebSocket
Android
PwnLink
A phone app for running a Raspberry Pi when you are away from a desk. Bluetooth, location, a connection that survives the screen turning off.
- Kotlin
- Bluetooth
- GPS
Data
Ingestion
A pattern for fetching pages, checking them, dropping duplicates, and parking bad records instead of mixing them with good ones.
- Python
- Camoufox
- SQLite
- Docker

Automation
Sales email to ShipStation
A sales email comes in. The app extracts the address and line items, checks them, then either builds simulated ShipStation order and label JSON or holds the message. You can click it. It does not post to a live store.
- Python
- FastAPI
- Pydantic

AI
Telegram agent walkthrough
A guided, interactive walkthrough of a Telegram agent stack: session memory, intent routing, specialist hand-off, and model failover. Click a scenario and watch each stage work.
- Python
- FastAPI
- MCP

Automation
Jobs Engine
You type a title, skills, and location. The page ranks a frozen set of public remote jobs, shows why each one scored, and downloads the same rows as Excel. Matching is a keyword rubric, not a model. You can click it.
- Python
- FastAPI
Skills
AI assistants & chatbots
AI assistants that answer customer and internal questions, qualify enquiries, and hand off to a person, built on real LLM and retrieval pipelines.
Show 3 moreShow less
AI integration
Models and agents wired into the CRM, inbox, and accounting tools you already run, so data moves between them automatically.
Show 3 moreShow less
Business automation
Scheduled jobs and workflows that run on their own and alert your team when something fails.
Show 3 moreShow less
Web products
Full-stack web applications with real accounts and server-side rules, so access stays enforced and data stays protected.
Show 3 moreShow less
Desktop & Android
Native applications that run on real devices and keep data safe on the machine.
Show 2 moreShow less
Data systems
Web and internal data turned into clean, repeatable tables, reports, and dashboards a team can act on.
Show 3 moreShow less
How a job starts
- 1
Share your business problem
Describe the problem you are facing and the result you need. Include the systems you already run and your timeline, or simply the outcome you want once the work is done.
- 2
I assess the brief
I review your requirements and confirm whether the work fits my expertise. If it does, we agree on scope and approach. If it does not, I tell you honestly rather than take on work I cannot deliver well.
- 3
We agree scope and terms
We document what is included, what is out of scope, and how we will measure success. I provide a transparent quote based on that agreed scope, with no hidden costs.
- 4
Delivery and handover
You receive the source code, clear documentation, and run instructions, so your team can operate and maintain the work after I have finished.