Technologies

Skills & technologies

Not a bullet cloud — one honest paragraph per technology: what I did with it, where it ran in production, and how current it is. Grouped by currency, not by topic.

Daily drivers

What I reach for every day right now.

Kimi

AI & Automation

Using Kimi (CLI and API) alongside Cursor for development and workflow assistance — different strengths, same agentic approach.

Claude Code

AI & Automation
Daily driver for development work — agentic coding on real codebases, including large parts of this site. I design the workflow and review the diffs; the agent types fast.

Django

Frameworks & Web
The framework this very site runs on ( Postgres + nginx + gunicorn, custom per-host routing, WYSIWYG editor, SEO tooling ). I hosted Django sites at Sandstone for years, and it's my default choice for anything that needs an admin, a dashboard, and real users.

Linux

Infrastructure
Using Linux since the Slackware days. Ran 24/7 ISP services on it at Interware in the late 90s, trained teams on UNIX at HP Costa Rica, and have run production fleets on Debian/Ubuntu ever since — bare metal and virtualized (Proxmox/QEMU/KVM).

PostgreSQL

Data & Messaging
My default database for years — it backs this site and most of the Sandstone stack. Comfortable with schema design, migrations, tuning the usual suspects, and backups (Restic/rsync).

Python

Languages
My main language since I moved off Java around 2015. Everything on this site is Python/Django; at Sandstone I used it for the special-markets service (FastAPI/RabbitMQ), content-gathering automations (Playwright, Selenium), and the AI rewriting pipelines. Currently my default for LLM workflow glue with n8n, Claude Code, Kimi and Cursor.

Cursor

AI & Automation
Part of the AI-assisted development toolkit alongside Claude Code and Kimi; useful for inline edits and exploration.

WhatsApp (Meta / WABA)

Communications
Integrated both the Meta Cloud API and WABA providers into sites and n8n workflows: inbound message handling, template messages, user verification flows, and content generation from group content.

n8n

AI & Automation
My main workflow orchestrator right now: AI/LLM pipelines, WhatsApp and Telegram integrations, content generation, and verification flows — with Python where n8n's nodes end.

Nginx

Infrastructure
Standard front of every stack I run: reverse proxy, TLS termination, static/media serving, per-host routing. This site sits behind nginx in front of gunicorn.

Telegram

Communications
Bots and integrations for notifications, contact-form relays (this site pings Telegram on every message), content ingestion from groups, and admin workflows — usually via Python or n8n, or my own sending API.

JavaScript

Languages
Vanilla JS for front-end behaviour (the scroll-fade projects page, drag&drop editors, theme switching on this site are all hand-written). I reach for it when interactivity is needed, without a framework unless one is warranted.

LLM Workflows

AI & Automation
Designing and running LLM pipelines daily: content generation from messy group content, user verification flows, trending-topic discovery feeding rewriting chains. Practical, cost-aware, production-oriented — not demos.

Docker

Infrastructure
Using Docker for local tooling and deployments; comfortable with compose setups, CI runners in containers, and image hygiene.

Content Automation

AI & Automation
Built systems that turn unorganized input (group chats, feeds, provider data) into formatted, AI-written articles: trending-topic discovery feeding LLM rewriters, publishing pipelines, deduplication. Python + n8n + WhatsApp/Telegram sources.

Deep production experience

Technologies I ran or built in production for years.

Asterisk

Communications
Designed an Asterisk/SuiteCRM integration at Sandstone for inbound and outbound messaging with Twilio; earlier wrote Asterisk configs and dialplans at IDSca. Deep PBX experience, mostly historical now that telephony moved to Twilio.

SEO

Legacy & Other
SEO since the affiliate-marketing years (2002–2007): on-page, technical SEO, sitemaps/canonicals/structured data — this site implements the full set, including IndexNow submissions.

Affiliate Tracking

Legacy & Other
Built and ran CPA affiliate systems as an affiliate myself, then implemented inbound/outbound affiliate tracking and performance monitoring at Sandstone — replacing Affiliate Pro with self-written solutions.

FastAPI

Frameworks & Web
Built the 'special markets' (competitions) manager at Sandstone: FastAPI + RabbitMQ with a PHP front-end, mixing provider events with manual entry. My go-to for small, fast service APIs.

MySQL

Data & Messaging
Ran MySQL alongside Postgres for years — LAMP sites, IDSca's stack, hosting at Sandstone. Comfortable with replication, backups, and the usual tuning.

Proxmox

Infrastructure
Virtualized the Sandstone infrastructure on Proxmox: Linux and Windows guests, QEMU/KVM underneath, mail, telephony, workstations, and web hosting all as VMs/containers. Migrated the older KVM setup onto it.

Twilio

Communications
Migrated telephony from on-prem Asterisk to Twilio at Sandstone: voice and messaging flows integrated with the CRM.

BIND / DNS

Legacy & Other
Ran BIND for an ISP at Interware, and automated DNS mass-generation for thousands of white-label domains at IDSca. DNS is one of those things I've debugged at 3 a.m. often enough to respect.

QEMU/KVM

Infrastructure
Ran Windows virtual workstations in QEMU on Debian and managed KVM fleets before consolidating on Proxmox. Comfortable at the libvirt/qemu command-line level.

Postfix / Sendmail / Exim

Legacy & Other
Sendmail and Exim at Interware's ISP in the 90s; Postfix + LDAP mail infrastructure at Sandstone. I no longer volunteer to run mail servers, but I can.

RabbitMQ

Data & Messaging
Ran RabbitMQ as the broker for Sandstone's pipelines for years — queues, exchanges, consumers in Python and PHP. Also ran Mosquitto for MQTT alongside it.

Apache

Infrastructure
Apache since the 90s: 24/7 hosting at Interware, mass-generated vhost configs for hundreds of domains at IDSca, middleware support at HP. These days nginx is my default, but Apache holds no mysteries.

Mosquitto (MQTT)

Data & Messaging
Operated Mosquitto brokers at Sandstone for lightweight pub/sub messaging between services.

Playwright

AI & Automation
Content-gathering automation at Sandstone: Playwright scrapers for JS-heavy sources where plain HTTP wasn't enough.

SQL

Languages
Twenty-five years of SQL across PostgreSQL, MySQL and MS SQL — schema design, query tuning, reporting. It's a constant underneath every stack listed here.

Memcached

Data & Messaging
Used Memcached as the caching layer in IDSca's high-volume sports data infrastructure (Java/ActiveMQ stack).

Selenium

AI & Automation
Browser automation for content gathering at Sandstone before moving the newer scrapers to Playwright.

HA / Load Balancing

Infrastructure
Designed and deployed load-balanced/high-availability systems at IDSca (Linux/middleware layer) for high-volume sports data services.

Hetzner · AWS · Linode

Infrastructure
Managed both cloud and bare-metal fleets across Hetzner, AWS, Linode and Hostinger — provisioning, hardening, backups (Restic, rsync + rsync.net), and cost-driven migrations between providers.

Restic / rsync Backups

Infrastructure
Backup strategy at Sandstone: Restic and scripted rsync to rsync.net for the whole fleet — tested restores, not just green checkmarks.

Working knowledge

Hands-on, but not my main focus — useful when the project calls for it.

HTMX

Frameworks & Web
Completed the HTMX practical guide course and use it where it fits; on this site most interactions are still hand-written vanilla JS.

GraphQL

Frameworks & Web
Built GraphQL APIs with Python (course + practice projects); my production APIs have mostly been REST with Django or FastAPI.

WordPress/CMS

Frameworks & Web
Integrated designs and data into CMS/WordPress front-ends at Sandstone; I treat WP as an integration target rather than a platform I build on by choice.

Kubernetes

Infrastructure
Completed the Docker/Kubernetes zero-to-hero course and run small workloads; most of my production experience is with VMs and plain containers rather than large clusters.

XGBoost

AI & Automation
Personal project: an XGBoost classifier blended with a LogisticRegression model for match predictions. Applied ML rather than research — comfortable with the Python data stack around it.

Historically — happy to dust off

Used heavily in the past; I don't lead with these anymore, but the knowledge is there.

PHP

Languages
Years of PHP: affiliate stores and SEO tooling in the 2000s, front-ends and admin interfaces at IDSca, data integration into sites at Sandstone. Still readable and writable, but new work goes to Python.

Java

Languages
Java was my main language at IDSca (2008–2014): high-volume data infrastructure with ActiveMQ, websockets, MS SQL. I haven't written production Java since — I don't consider myself a Java developer anymore, but I can read and reason about it fine.

MS SQL

Data & Messaging
MS SQL Server backed the IDSca platform. Haven't administered one since 2014 — PostgreSQL and MySQL cover my needs now.

Perl

Languages
Perl for content-service integrations (Donbest/XML) and sysadmin automation in the 2000s. Fond memories; no current projects.

ActiveMQ

Data & Messaging
The broker in IDSca's Java stack (2008–2014). My message-queue instincts come from here; I've since standardized on RabbitMQ.
Second-level enterprise middleware support at HP (2006–2007): WebSphere, WebLogic, JBoss, plus Apache/IIS on Windows, Linux and UNIX — including knowledge transfers and team training. Historical, but it taught me how enterprise systems fail.

Cisco Networks

Legacy & Other
Configured and ran Cisco 2600/2900 routers, PIX firewalls, and 5200 dial-up gear at Interware and Project B around 1997–2001. Networking fundamentals from that era still serve me daily.