Earlier personal project - Private source
RunPod Chat Assistant
A lightweight PHP chat interface for RunPod, with saved conversations, reusable prompts, response timing, and estimated usage costs.

Images
About RunPod Chat Assistant
RunPod Chat Assistant is an earlier personal project: a small browser interface for chatting with an AI model hosted on RunPod, keeping the conversation history, and saving useful prompts for later.
The application uses PHP on the server, SQLite for storage, and plain JavaScript in the browser. Messages are grouped into separate conversations, which can be reopened from a history selector. The active conversation is remembered in the browser, and previous messages are included when sending the next request to the model.
Useful prompts can be bookmarked and picked from a saved-prompts menu. Selecting one puts its text back into the message box, ready to reuse or edit. Assistant replies support Markdown formatting, including lists and code blocks, inside a simple dark chat interface. Response timing and cost estimates appear alongside the replies, with a running total for the conversation. The estimate uses elapsed time, an overhead allowance, and a configurable per-second rate. It provides a rough view of usage cost rather than reproducing the provider’s billing records.
The code handles the basic loop from browser input to a hosted model response: collecting the message, rebuilding conversation context, calling the endpoint, storing the reply, and updating the interface. It is a compact example of connecting an external AI service to a persistent personal tool with PHP and SQLite.
This is presented as an earlier personal utility, with the source kept private.
Release history
More software

WordPress Publishing for RailCall
Review and approve WordPress changes through RailCall, then publish or schedule them with an activity log and public-page checks.

IndexLane Broken Link & Redirect Auditor
A WordPress plugin for finding broken internal links, redirects and old URLs left behind after a migration. It shows you where those links are used and takes you to the place where you can edit them.

wp-migrate-core
A command-line tool for getting a WordPress-to-Astro migration started. It reads a WordPress XML export, inventories content, images and links, and can generate an Astro project with a clear list of what still needs rebuilding.

TypeScript library / CLI
PicoWebPJS
A WebP encoder written in TypeScript for Node.js and browsers. Converts PNGs, baseline JPEGs, BMPs and raw pixels without native bindings or WebAssembly, while preserving transparency and embedded colour profiles.

Classifieds & Advertising Platform — Go Rebuild
An ongoing Go rebuild of my Laravel classifieds platform, with a React dashboard, incremental listing updates and background jobs handled through NATS JetStream. It preserves the existing platform’s behaviour while changing how the application processes and serves its data.

ChattyChat — a scripted character chat with memory
A playful character chat with authored replies, session memory and an optional peek at the rules behind the conversation. Built with Next.js, React and JavaScript.
routelint
A command-line tool for finding broken links, incorrect redirects and indexing conflicts on a live or preview website. It discovers URLs, checks what your server returns and gives you findings tied to specific pages, with the evidence behind them.


IndexLane Safe WebP Queue
A WordPress plugin that creates WebP copies of your images while keeping the originals. Convert on the server or use the optional browser mode when your host cannot write WebP, with progress reporting and checks before converted files are saved.
pgvector-filterbench
A command-line tool for checking how pgvector search behaves once you add filters. It measures speed, compares approximate results with exact search, and checks query plans to see whether PostgreSQL is using your HNSW index.

hueframe
A tool for turning a photo into a website color theme. Drop in an image, see its colors applied to a page, adjust the result and export it as CSS variables or JSON design tokens.

SSRWire
A command-line tool for inspecting the HTML your server sends, including content and metadata that arrive in a stream. It records when important elements appear and compares responses for different browser, search-crawler and social-preview user agents.
routeplay
A command-line tool for checking that a page delivers the right content and metadata however you reach it. It compares the HTML your server sends, a fresh browser load and the result of clicking through from another page.

ReachLog
ReachLog is a small outreach and contact manager for keeping track of who you’ve contacted, what you’ve discussed and when to follow up. It brings contacts, companies and email conversations together in a local application that works with your existing email account.

Names Over Time
A searchable history of baby names in the US and England & Wales, with popularity charts, yearly rankings and official source data.
Data-Driven Publishing Platform
A publishing platform for running several websites from structured source data. It handles imports, page generation, scheduled updates and search monitoring through one administration panel. Four domains are live; getting traffic to them remains the unfinished part.

Internal Campaign Tracker
A private platform for routing campaign traffic, tracking clicks and conversions, and comparing performance across sources, offers, and devices.

Classifieds & Advertising Platform
A classifieds and advertising platform I’ve been building and maintaining for roughly two years. It combines location-based browsing, advertiser dashboards, paid listings, invoicing, live chat and an administration panel for running the site.

dayboard — a simple daily planner
A private daily planner with a ranked task queue, rollover for movable tasks and a separate activity log. Built for my phone as a PWA.

Private Organic Search & LLM Activity Tracker
A private analytics tool for tracking website traffic, organic search performance, and activity from search engines and LLM crawlers. It brings ordinary visitor statistics, crawler requests, Google Search Console and Bing Webmaster Tools into one dashboard.

ILCrawler
ILCrawler is the technical SEO crawler I use for my own websites and client audits. It brings page checks, links, screenshots, performance samples and reporting into one place. It’s also the project that repeatedly convinced me I was only one rewrite away from being happy with it.
crawlreplay
A command-line tool for testing robots.txt changes and new deployments against URLs found in your server logs. It helps you catch newly blocked pages, broken responses and unexpected indexing changes before putting those changes live.
Data-Driven Publishing Platform — Go Rebuild
An unlaunched Go rebuild of my publishing platform, using PostgreSQL for application data and background jobs, React for administration and Astro for public websites. It includes source processing, publishing checks and migration tools for the existing sites.

IndexLane Crawl Fetch Inspector
A WordPress plugin for checking redirects, indexing rules, sitemaps and structured data from your dashboard. Particularly handy when you’re launching a site or moving one.

IndexLane Asset Weight Snapshot
A WordPress plugin for checking the CSS and JavaScript your pages reference, measuring the files it can fetch, and comparing the results over time. Useful when you want to see what a plugin update or site change has added.

IndexLane Site Atlas
A WordPress plugin for figuring out how a site fits together before you start changing things. It looks at the connections between plugins, content and stored data, which is useful when you’re planning a cleanup, rebuild or handover.

Food Cost & Profit Tracker
A private app for tracking food costs, stock and estimated profit across direct sales and food delivery. It connects ingredient purchases, recipes, orders and platform fees, helping a seller understand what each dish costs and how much money is actually left.

Personal project · Private prototype · Private source
Dockyard
A Rust infrastructure prototype for monitoring servers, inspecting container applications, and tracking deployment progress in one dashboard.

Comfy Money - Private Multi-Currency Ledger
Comfy Money is a private money tracker I built for myself and my family. It handles wallets in different currencies, income, expenses, transfers, budgets and debts, with automatically updated exchange rates and a mobile interface that installs as a PWA.
crawlcontract
A command-line tool for catching crawl and indexing problems when a website changes. It checks built files or pages fetched from a live or preview site, and compares scans so you can spot problems before a release.
pgvector-index-manager
A command-line tool for keeping your pgvector indexes in line with a configuration you control. It checks what exists, shows you what needs changing, and can build and replace HNSW indexes when you apply those changes.

Personal project · In private use · Private source
ThaiGlow
A private AI studio that turns product photos into styled images, short videos, and Thai selling copy, with a simple credit budget.

Seller Saga
A playful selling RPG where you attract buyers, pack orders, recruit helpers, and battle the monsters of online shopping — including Refundzilla.

Private setup for GitHub Actions runners
GHA is my private setup for running GitHub Actions runners for multiple repositories on one VDS. It handles runner registration, a shared job queue and resource limits, letting me run CI jobs on my own server while keeping the workflows in GitHub.

Endless Forge-Run
A browser game where your hero fights automatically while you choose weapons and skills, climb tougher floors, and unlock equipment for future runs.

Website / image-processing workflow
PrintableLineArt
An archived colouring-page website with a Python workflow for generating printable PNGs and PDFs, and a Laravel application for importing, organising and publishing them.

Bug Squasher: DOM Defense
I was bored and wanted a break from client projects, so I made a little TypeScript game. Naturally, it ended up being about bugs taking down a server.

AI Taste App
A private dating experiment that learns your visual preferences from yes/no photo ratings and scores new portraits against that feedback.

DG6 — Multilingual pSEO Publishing
A Laravel publishing application for my programmatic SEO projects. DG6 turns generated content into multilingual websites, with separate domains, themes and publishing schedules, all running from one codebase.

Content pipeline
DG6 Swarm — AI Content & Media Pipeline
A Python pipeline that turns a domain and starting keyword into site copy, articles and visual assets. Specialized GPU workers handle each stage, starting and stopping according to queued work.

Client website
Multilingual Game Directory
A custom PHP directory built for a client, with multilingual content, responsive listing cards, title search and a small admin interface for managing display order and destination links.
