Projects

Things I've shipped across automation, AI, and the web.

A grouped tour of the systems I've built - client portals, data pipelines, AI platforms, n8n workflows, and the long-running SaaS work behind them. Client names are withheld. Click any card to expand the detail.

01 - Client systems (2025-2026)

Portals, pipelines, and platforms running for clients

Benchmarking Client Portal

Solo build · 2026
Next.js 16SupabaseAI insightsDashboards

Client portal for an industry benchmarking tool. Replaced a static single-page Streamlit app with login, stored imports, AI insights and interactive dashboards.

  • Authenticated client accounts in place of a single shared page
  • Imports stored per client instead of re-uploaded each session
  • AI-generated insights on top of the benchmark data
  • Interactive dashboards
  • 2,616 of 2,618 commits authored, March to October 2026

Business Directory Pipeline

Solo build · 2026
Google MapsWordPressCRM syncGoogle Sheets

Pipeline that scrapes Google Maps listings into a WordPress business directory, syncing a CRM and a ~2,760-row tracking sheet. Built and operated end to end.

  • Google Maps listings scraped into directory entries
  • WordPress directory kept in sync with the source data
  • CRM and tracking sheet synced alongside
  • Operated in production, not handed off
  • 734 of 735 commits authored

Multi-Tenant Directory Dashboard

Solo build · 2026
Next.jsSupabaseRow-level securityMulti-tenant

Management dashboard on top of the directory pipeline, architected as multi-tenant with Supabase row-level security.

  • Multi-tenant architecture from day one
  • Tenant isolation enforced with row-level security
  • Sits on top of the directory pipeline data
  • 266 of 266 commits authored

AI Marketing Platform Engine

Co-developed with a partner team · 2026
PythonCIBackupsADRs

AI content-marketing platform engine in Python, built with a partner team. My part is the reliability and governance layer.

  • Compliance checks on generated content
  • Analytics collectors
  • Per-client backups with tested restore
  • CI gating
  • Architecture decision records
  • 137 of 291 commits authored

CRM for a Non-Profit Organisation

Solo build · 2025
Next.js 15React 19Refine.devBaserowTypeScript

CRM built and launched for a non-profit organisation - contacts, session reports, role-based access, a full audit trail and WordPress form intake.

Watch demo →
  • Full CRUD on contacts and session reports
  • Three-tier permissions (Admin, Office, Volunteer)
  • Complete audit trail with user attribution
  • WordPress integration via n8n webhooks
  • Server-side API routes, HttpOnly cookies
  • Performance optimization with identity caching

AI Operating System Installs

Done-with-you delivery
Claude CodeAI Operating System

Install and configure AI Operating Systems (Claude Code workspaces) for agency owners, delivered done-with-you over remote working sessions.

Cold Email Programme

Outbound programme · 2026
Cold emailData-driven personalisation

Cold email programme for the benchmarking product: 3 streams with data-driven personalisation, drawing on a proprietary dataset of 500,000 Australian companies.

AI Training Series for a Game-Dev Company

Speaking & training · 2026
n8nClaudeWorkshops

AI training series for a game-dev company with ~1000 developers, with 200+ participants in the largest session.

  • n8n automation
  • Claude for non-technical teams
  • Token optimization
  • Workplace AI audit
  • Building Claude skills
02 - BrainVector (2025)

AI platform & ML services

Cerebrum - AI-Powered Chat Application

Main contributor · web app + API
Next.js 15React 19TypeScriptSupabaseCometChatElevenLabs

Conversational AI platform - a Next.js + Supabase web app and API in one codebase, with real-time chat (CometChat) and a dual auth system: Supabase for users, Basic Auth for admin routes.

  • AI-powered onboarding flow with conversation agents
  • Admin panel for user management and invitations
  • Scalable Supabase database layer
  • Production deploy via PM2, Traefik, automated SSL
  • Separate production and development environments
  • ElevenLabs voice synthesis integration
  • CI/CD with Bitbucket Pipelines and ESLint

Speaker Diarization API Service

ML API service
Python 3.12FastAPIPyAnnote.AudioRedisGCPDocker

Cloud API service for speaker diarization. Processes 500MB / 2-hour audio files with an async pipeline.

Upload an audio file with multiple people talking - the system returns separate audio tracks per speaker.

  • Async processing with Redis Queue jobs
  • ML diarization via PyAnnote.audio + PyTorch
  • Secure file access with signed URLs
  • Docker containerization
  • <5 min processing for 1-hour audio

Voice-Enabled AI Interview System

n8n workflow · 80+ nodes
n8nElevenLabsGoogle GeminiGoogle DriveFFmpeg

End-to-end conversational AI workflow integrating ElevenLabs with Google Workspace - automates interviews, transcript processing, answer extraction, and script generation.

A smart interview assistant. After a voice-AI call ends, this workflow grabs the recording and transcript, files everything correctly, extracts the answers, and generates a personalized script.

Workflow highlights
  • 80+ nodes orchestrating webhooks, file I/O, API calls, AI agents
  • Parallel processing streams converging via Merge
  • FFmpeg-driven audio concatenation
  • Schema-enforced JSON extraction
  • 95% reduction in manual setup time
  • 92% accuracy on answer extraction

AI-Powered Handwriting Transcription

n8n workflow
n8nGoogle DriveGoogle GeminiGoogle Docs

Auto-detects and transcribes handwritten PDFs from Google Drive using Gemini, then writes the result to a Google Doc.

  • Drive trigger detects new / updated PDFs
  • Downloads and encodes to base64
  • Sends to Gemini API for transcription
  • Creates / updates Google Doc with the result

AI-Assisted Image Intake Form

n8n workflow
n8nGoogle Vision APIJavaScript

Form-driven workflow that collects, analyzes, and validates user-uploaded images via Google Vision API.

  • Form trigger on name + photo submission
  • LABEL_DETECTION for objects (sunglasses, hats)
  • FACE_DETECTION for blur / underexposure
  • Smart filter flags problematic visuals
  • 92% quality-detection accuracy
03 - n8n Automation

Workflows that replace recurring manual work

Automated Email-to-CRM Documentation

Email operations
n8nGmailGoogle DriveJavaScript

Captures inbound Gmail, matches against a contact database, cleans thread artifacts, and files structured markdown into per-contact folders.

A smart filing assistant - reads emails, identifies the client, strips reply chains and signatures, files them in the right folder.

  • Polls Gmail every minute
  • Contact database cross-referencing
  • JS-based content cleaning
  • Automated Drive folder organization
  • Markdown files with YAML frontmatter

Skool Lead Generation & AI Outreach

Lead generation
n8nSkool APIGoogle GeminiPostgreSQL

Scrapes job postings across multiple Skool communities, qualifies with AI scoring, and generates hyper-personalized outreach with Gemini 2.5 Pro.

A tireless assistant that monitors 6 communities 24/7, reads every job posting, decides which are worth your time, and emails you the best ones with ready-to-send proposals.

  • 6 Skool communities monitored in parallel
  • AI qualification with Gemini 2.5 Flash (1-10)
  • RAG personalization over LinkedIn, CV, portfolio
  • Filter at 8+ for high-quality leads
  • Email notifications with copy-paste proposals

AI-Powered Receipt Processing

Bookkeeping
n8nGoogle VisionMistral AIGoogle GeminiGoogle Translate

Multi-stage automation that watches Drive for receipt images, extracts financial data via AI OCR, translates multilingual content, and writes to Sheets.

Take a photo of a receipt - a smart assistant reads it, understands what you bought and where, then drops it into a tidy spreadsheet automatically.

Business impact
  • 95%+ time saving vs manual entry
  • AI extraction reduces human error
  • Processes receipts 24/7
  • Multilingual (Georgian, English)
  • Smart file naming for instant retrieval

Bank Statement Processing Automation

Bookkeeping
n8nGoogle GeminiGoogle DriveGoogle Sheets

Eliminates manual statement processing - turns PDF-derived markdown into structured JSON, extracts transactions, and AI-categorizes across 8+ accounts.

Drop bank statements in a Drive folder, click once - the system reads everything, organizes it into a spreadsheet, and AI-tags each transaction.

Results
  • 96% reduction: 4 hours → 10 minutes monthly
  • 95%+ categorization accuracy
  • 8 different bank accounts handled
  • 20+ categories, 50+ merchant patterns

AI-Powered Meeting Knowledge Base (RAG)

Knowledge base
n8nFireflies.aiOpenAIQdrantCohere

Turns Fireflies transcripts into a searchable knowledge base using a RAG architecture - hundreds of meetings, six coaching categories, vector embeddings + semantic search.

Instead of digging through meeting notes, ask a question in plain English - the AI searches every meeting and gives you a comprehensive answer.

  • Automated ingestion from Fireflies GraphQL
  • Dual database (Supabase + Baserow)
  • 512-dim OpenAI embeddings
  • RAG chat with Cohere reranking
  • Query expansion (1 question → 3-5 searches)
  • Insight retrieval from 20-30 min to seconds

AI Content Generator (StoryBrand)

Content
n8nOpenAIGoogle GeminiGoogle SheetsSlack

Transforms client intake forms into brand narratives, website copy, and analysis docs using the StoryBrand framework.

  • Form trigger via Brand Strategy Questionnaire
  • OpenAI analysis through StoryBrand
  • Google Docs generation in client folders
  • Slack-integrated approval workflow
  • 5-stage Sheets-driven status management

GHL ↔ n8n Sales Automation Suite

Sales operations
n8nHighLevelGoogle SheetsGoogle Drive

Full sales-and-delivery lifecycle - dynamic quoting with discount logic, automated PDFs, approval tracking, and delivery confirmation.

When sales updates a customer order in the CRM, the system prices it, applies discounts, creates a quote PDF, and stores it. Customer approves - pipeline updates. Driver uploads a delivery photo - order closes.

  • Dynamic quote engine with Sheets-driven pricing
  • Volume / non-profit / educational discounts
  • Branded automated PDFs
  • Closed-loop approval with unique URLs
  • Real-time HighLevel CRM sync
  • 95% reduction in admin time
04 - Solar Analytics (2015-2025)

A decade on a multi-tenant SaaS platform

Solar Analytics Web Portal

Lead Front End Engineer
AngularDjangoPostgreSQLD3.jsAWSDocker

Multi-tenant SaaS for solar energy monitoring and fleet management - thousands of users in Australia and the US. Microservices, real-time visualization, predictive analytics, alerting.

A smart dashboard for solar systems. Homeowners and businesses see real-time generation and usage, and even forecast their bills.

View demo (login available upon request) →
  • Real-time energy dashboard with D3.js
  • Fleet management across sites
  • AI-driven energy plan optimizer
  • Battery state-of-charge monitoring
  • Configurable fault alerts
  • Payments + subscription management
  • White-label for reseller partners
  • OAuth2 / SAML2 SSO
Technical highlights
  • Hybrid Angular app (Angular 13 + AngularJS)
  • 40% reduction in initial load time
  • Cypress E2E test pipeline
  • Docker + AWS S3
  • OAuth2, SAML2, CSRF protection

Solar Display Dashboard

Internal tool
ReactAWS DynamoDBAPI Gateway

Display page for solar generation and consumption on company TVs - multipage display, simple page, and admin to configure it all.

05 - Archive & personal

Personal tools, experiments, and older builds

Upwork Job Scraper

Personal tool
Python 3.12SeleniumCrawl4aiBaserowAsyncio

Async web-scraping system that finds freelance opportunities on Upwork - session auth, stealth browser, cloud sync.

  • Dual engines: Selenium Driverless + Crawl4ai
  • Smart auth with cookie validation
  • Baserow cloud sync with retries
  • UID-based deduplication
  • 100% async architecture
  • macOS launchd scheduling

AI-Powered Receipt Processing (Python)

Personal tool
Python 3.12Tesseract OCRPillowRegex

Personal-finance receipt OCR - extracts monetary values and timestamps, categorizes across 15+ predefined categories.

  • OCR with custom image preprocessing
  • Keyword-based categorization engine
  • Standardized file naming and organization
  • Category-wise totals and analytics
  • AliPay and WeChat receipt format support

Mullvad VPN Performance Optimizer

Personal tool
Python 3.12speedtest-cliMTRGeopy

Tests and ranks Mullvad VPN servers worldwide on speed, latency, jitter, packet loss, and reliability.

  • Multi-server testing (up to 100)
  • Speed, latency, jitter, loss metrics
  • Geospatial distance scoring
  • MTR network path analysis
  • Ranked report output

3D & 2D Browser Games

Hobby
Three.jsWebGLPhaser.jsCanvas

Browser-based games using Web Audio, shadow mapping, and optimized rendering pipelines.

  • Cube Fight Game: 3D arena, dynamic progression, enemy AI, procedural audio
  • Galaxy Game: space-survival arcade with boss battles and upgrades
  • Tank Battle Game: 2D retro arcade with local multiplayer and destructible environments

NFT Storefront MVP on Solana

Proof of concept · 2023
ReactMetaplexArweaveStrapiSolana

NFT storefront MVP on Solana with React and Metaplex, Arweave for asset storage, Strapi for back-office. Proof-of-concept; halted due to funding.

Instagram-AI-Agent

Personal experiment
TypeScriptPuppeteerGoogle Generative AIMongoDB

Social media automation combining AI with browser automation to produce authentic Instagram interactions.

  • Smart profile nav by keyword / interest
  • Adaptive interaction patterns with random delays
  • Cookie management for persistent sessions
  • Proxy support for multi-account flows
  • Rate limiting to avoid anti-spam triggers
Next step

Want to talk through a project of your own?

If you're scoping AI automation, internal tooling, or a custom build - I'm currently taking on a small number of new clients.

Book a call →