Web Development
Responsive marketing sites, portfolios and storefronts — hand-coded HTML/CSS/JS, or React when it earns its place. Mobile-first, fast-loading, accessible.
Sites from $250 · landing pages, portfolios, storefronts
Graham Digital Media · Sites · Apps · Automation
A hands-on studio working in hand-coded web, Python and data automation. Every project is built and tested before handover, documented so you can run it yourself, and delivered on time. No bloat, no frameworks you didn't ask for.
01 What I do
Clean code, real testing, honest delivery — on every build.
Responsive marketing sites, portfolios and storefronts — hand-coded HTML/CSS/JS, or React when it earns its place. Mobile-first, fast-loading, accessible.
Sites from $250 · landing pages, portfolios, storefronts
Desktop apps, console tools and scripts that do real work — file handling, GUIs, speech, persistence. Clean, commented, and easy to extend.
Tools from $150 · scripts, apps, automations
Spreadsheet automation, data cleaning and analysis. Live-formula Excel workbooks, charts and dashboards generated straight from your raw data.
Workbooks & dashboards from $100
02 Selected work
A flagship platform we own and run, plus a spread of smaller builds you can click around.
A complete event-management platform for the RC-helicopter community — built by heli pilots, for heli pilots. Clubs and contest directors create and run events; pilots discover them on a live map, register with tiered pricing and add-ons, and check out through integrated payments.
Pilots, clubs with owner / manager / member roles, contest directors, and sponsor teams with multi-brand switching, transfer & claim.
Per-entry-type, date-driven price ladders, quantity-orderable add-ons, and a handoff path for events that register on external storefronts.
A marketplace checkout built on Stripe — the full vertical, wired so a club gets paid for its own event.
A scoped assistant that turns a contest director's notes and files into a fully drafted, ready-to-publish event.
A platform-admin console with audit logging and user moderation, a news system, automated backups, and one-click data export / restore.
Map-based discovery (MapLibre), an installable PWA, and a full SEO foundation — sitemaps, Open Graph, JSON-LD.
More builds & demos
A polished, fully responsive marketing site in clean hand-coded HTML5/CSS3/JS — editorial hero, filterable project gallery, detail views and smooth scroll animations. No frameworks, no page-builder bloat.
Switch the time range and every KPI, the revenue chart, the category breakdown and the sortable table recompute live. React hooks + a hand-rolled SVG chart — no chart library.
A hand-coded Python scraper (Requests + BeautifulSoup) crawls GSMArena brand → model → spec pages and flattens every field to CSV. The live explorer searches, filters by brand and sorts the real scraped dataset.
A Python tool (openpyxl + matplotlib) that turns raw numbers into a polished workbook: live AVERAGE / MEDIAN / STDEV formulas, an embedded summary chart, and a guided worksheet. Change the data, Excel recalculates.
A native macOS app pairing a persistent Chromium webview with a scripting layer of 19 Chrome-DevTools-backed tools — perceive, click, type, extract — so workflows can be driven end-to-end. Electron + CDP, persistent logins, real browser.
A Tkinter chatbot with a clean dark UI, optional speech-to-text and text-to-speech, and a conversation history saved to JSON and reloaded on startup. Voice features degrade gracefully — never crashes without a mic. (Web port linked, with live mic + saved history.)
03 How I work
We agree exactly what you get, for what price, by what date — in writing.
Clean, commented code with progress you can see. No black boxes.
I run it before you ever do — edge cases, inputs, devices. It works on handover.
Files, a short README, and a walkthrough so you can run and extend it yourself.
Available for new projects
Tell me what you need — a website, a tool, an app, an automation. I'll come back with a clear scope, a price and a date. Quick to reply, honest about what's possible.