Systems I have built

These are systems I have built, from an AI phone receptionist and an AI product photography platform to lead dashboards and a gym check-in kiosk. They cover the four kinds of work I do: AI agents, automations, custom web apps and scrapers. Client names are left out on purpose.

Each one below lists what it does, what it is built with, and the part that made it hard. For how I would approach a similar project for you, see the AI automation services page, or go back to Jason Aldemita, AI automation specialist.

The systems at a glance

ProjectWhat it handlesBuilt with
AI Photo Generation PlatformProduct photo orders, review and deliveryNext.js, Supabase, Gemini, Fal.ai
Gym Management & QR Check-InMembers, check-ins, renewals and salesNext.js, Supabase, Tailwind, TypeScript
Multi-Tenant SaaS PlatformCRM, projects, deliverables and docs per clientNext.js, Supabase RLS, Resend, Vercel
AI Video Ad StudioVideo ad generation and deliveryNext.js, Drizzle, Claude, HeyGen, Kling, Veo, Revid, fal.ai
Content Automation PipelineBriefs to reviewed, published articlesn8n, Next.js, Gemini, WordPress API
Lead Generation ScrapersLead collection, scoring and daily digestsNode.js, Playwright, Apify, GitHub Actions
Lead Operations DashboardDaily lead data, drop alerts, AI answers and a weekly digestNext.js, Supabase, BigQuery, Claude, Slack
Paid-Media Performance ReportAutomated paid-media reporting and optimisation callsNext.js, BigQuery, Supabase, Claude
Foreclosure Listing RadarDaily foreclosure listing scrape, change detection and digestNode.js, Playwright, GitHub Actions
AI Phone ReceptionistTrade phone line: order and invoice lookups, callbacksTelnyx Voice AI, Next.js, Supabase, Odoo
AI Email AgentInbox replies with the right invoice attachedOpenAI, Microsoft Graph, Vercel

AI Photo Generation Platform

End-to-end web platform for AI-generated e-commerce product photography: order intake, reference uploads, photo review with in-line comments, and bulk download of approved assets.

The AI call is the small part of a system like this. Most of the work is everything around it: tracking each order from intake to delivery, keeping reviewer comments attached to the exact image they refer to, and making sure only approved files reach the bulk download. A second version, with a self-serve studio where customers generate photos themselves, is being built.

Built with Next.js, Supabase, Gemini, Fal.ai.

Gym Management & QR Check-In

Complete gym operations platform: member registration, QR check-in kiosk, membership renewals, sales tracking, and a staff dashboard with role-based access. Runs on tablets, phones, or front-desk PCs.

A front desk cannot wait on software, so the check-in flow has to be fast on whatever device is at the counter. Role-based access keeps staff screens limited to what each person needs, while owners see renewals and sales in one place.

Built with Next.js, Supabase, Tailwind, TypeScript.

Multi-Tenant SaaS Platform

Multi-tenant work management platform combining CRM, projects, deliverables tracking, and collaborative docs, with role-based access for admins, staff, and clients across isolated workspaces.

Multi-tenant means every client workspace is walled off from every other one at the database level, using Supabase row-level security, so a mistake in the interface cannot leak one client’s data into another’s view. It was built to replace HubSpot, Help Scout, ClickUp and Notion for one agency.

Built with Next.js, Supabase RLS, Resend, Vercel.

AI Video Ad Studio

One-submit video ad pipeline that produces UGC-style avatar videos and AI-generated video ads from a single brief, then auto-uploads to delivery platforms, mirrors to Drive and posts Slack notifications.

Video generation is slow and providers fail in different ways, so each job tracks its own state and can pick up where it stopped. The person submitting the ad presses one button and gets a Slack message when the finished files are in place.

Built with Next.js, Drizzle, Claude, HeyGen, Kling, Veo, Revid, fal.ai.

Content Automation Pipeline

End-to-end AI content production system. Editors submit briefs through a custom dashboard, review fact-checked AI-generated drafts before publication, and track every article across multiple WordPress sites in a unified history view. Approval, rejection with feedback, and SEO schema generation all happen inside the same interface.

A person approves every article before it goes live, and a rejection goes back to the draft step with the editor’s notes attached, so the AI rewrites against specific feedback instead of starting over.

Built with n8n, Next.js, Gemini, WordPress API.

Lead Generation Scrapers

Custom scraper with scheduled monitoring and daily digest delivery.

Scrapers break when a page changes, so this one runs on a schedule and reports what it found each day. A digest that suddenly comes back empty is the signal to check the source, rather than a silent gap in the data. One run narrowed tens of thousands of public records down to a short, scored list of best-fit businesses. Another produced a qualified B2B lead list with a contact email for nearly every lead.

Built with Node.js, Playwright, Apify, GitHub Actions.

Lead Operations Dashboard

Pulls data from a lead-distribution platform every day, flags drops in acceptance rate and weak campaign launches, answers questions about the data through an AI assistant, and posts a Monday digest to Slack with a drill-down page.

Before this, spotting a falling acceptance rate meant someone opening the platform and looking. Now the team gets the problem in Slack with the numbers behind it, and can ask follow-up questions in plain English instead of building a report.

Built with Next.js, Supabase, BigQuery, Claude, Slack.

Paid-Media Performance Report

Replaced a hand-built paid-media report with an automated one. It pulls spend and intake data from the data warehouse and applies the team’s optimisation rules (cost per intake, performance tiers, pause and scale calls) for each vertical.

The report encodes the team’s own decision rules, so it does not just show numbers, it says which campaigns to pause and which to scale, and why. That turns a weekly half-day of spreadsheet work into something people read in a few minutes.

Built with Next.js, BigQuery, Supabase, Claude.

Foreclosure Listing Radar

Scrapes bank and agency foreclosure listings every day, filters them to one region, detects new, changed and removed properties, and sends a daily Slack digest backed by a dashboard.

Several banks and agencies are scraped daily, tracking hundreds of active listings. Each source publishes in its own format, from web tables to PDFs, so the work is mostly in normalising them into one list where a change actually means something.

Built with Node.js, Playwright, GitHub Actions.

AI Phone Receptionist

Answers a UK wholesaler’s trade phone line: it looks up orders and invoices in the company’s ERP, emails invoice copies to callers, transfers calls or books callbacks, and turns questions it cannot answer into new knowledge-base entries that a person approves.

The approval loop means the receptionist gets better from real calls without anyone editing prompts.

Built with Telnyx Voice AI, Next.js, Supabase, Odoo.

AI Email Agent

The email version of the phone receptionist: it reads a shared inbox, finds the invoice a customer is asking for, and replies with the PDF attached.

Auto-sending is limited to an approved list of senders, so every reply can be checked before the agent handles the whole inbox.

Built with OpenAI, Microsoft Graph, Vercel.

Want something like this built?

Most of these started with a short description of a manual process and a list of the tools involved. That is all a brief needs. Send a project brief and I will tell you which parts are worth automating first.