Shanuka Vithana

Shanuka (Shane) Vithana, solutions architect

The model suggests.Code checks.A person decides.

That's how I build AI systems people can trust with real work. 54 platforms so far. Try being the person who decides.

Decision deskExample 1 of 4

Made-up example, modelled on the policy impact checker

Request

The lockout procedure just changed. Which of our safety policies does it affect?

The model suggests

Policies 4.2, 7.1 and 9.3 are affected.

Code checks
  • 4.2 cites the lockout procedure, clause 3
  • 7.1 conflicts with the new isolation step
  • 9.3 has no matching clause, so it's removed
You decide

Two policies are affected, each with its evidence.

  • AI model
  • Code
  • A person

54

platforms designed and built, 22 of them live or shipped, using 114 technologies. Click any name to see how it works.

  • AI and agent systems 16
  • Business platforms 17
  • Developer and ops tooling 8
  • Education 3
  • Real-time, 3D and games 8
  • Client delivery 2

Twelve, in depth

Each diagram shows where the AI sits, what checks it, and who decides. Client names are left out.

Policy impact checker (Secretary Keeper v2)

Shipped, Oct 2026

Staff ask in plain language which company policies a change affects, and get an answer, a table and an Excel workbook with evidence, all on self-hosted models.

Problem. Finding which policies conflict with, already comply with, or cite a changed policy is slow and error-prone by hand.

  1. Staff ask question
  2. Find related clauses
  3. Model judges clauses
  4. Code builds the table
  5. Staff type decide
  6. Excel with evidence
  • The chat model never decides; a code pipeline builds the answer
  • The only network exit is one gateway container; everything else sits on internal networks
  • Approval comes only from the person's typed 'decide' message, so the model cannot approve itself

System parts

  • Chat front end (Open WebUI)
  • Policy API
  • Clause-diff pipeline
  • Model gateway (single exit)
  • Postgres + vector store
  • 3 checker variants

In operation

  • 85 API tests recorded on v1
  • Three variants run on one self-hosted 30B model: plain, agent-framework and LangGraph with saved checkpoints
  • Public MIT repository with a PDF handbook and diagrams
  • Demo mode runs; a real-stack test on the client VM is pending

Stack Docker Compose, vLLM, IBM Granite 4.2 30B, FastAPI, Postgres + pgvector, Open WebUI, TEI embeddings, LangGraph, Hermes Agent, nginx

CauseCode (injury external-cause coding)

In development, Sep–Oct 2026

Reads injury notes and suggests ICD-10-CM external cause codes, each with evidence quotes and the guideline rules it passed, then routes to a clinician or coder.

Problem. Coding the mechanism, place, activity and status of injuries consistently across thousands of notes.

  1. Clinical note in
  2. Mark evidence spans
  3. Candidates from spans
  4. Rules engine checks
  5. Clinician or coder decides
  6. Accepted code logged
  • The model never emits a code: evidence spans feed candidates, and a rules engine produces the code
  • A simple word-list baseline fails the gate on unseen notes, so it cannot ship on its own
  • Policy questions stay marked unapproved until a government reviewer decides

System parts

  • Span extractor
  • Candidate builder
  • Rules engine
  • Clinician acceptance card
  • Coder queue
  • Static console (no outbound calls)
  • Signed edge sync

In operation

  • 97 tests recorded
  • Three independent gold sets: held-out A, held-out B and calibration C, written by separate agents
  • Deployment checks: 23 on the Compose + mTLS gateway path, 14 on k3s
  • Runs in shadow mode behind a release gate

Stack Python 3.14, FastAPI, pydantic, SQLite (Postgres-portable), Qwen3-4B (local), vanilla JS, Docker / mTLS, k3s

Restricted-environment AI integration

In development, Oct 2026

Lets engineers in a controlled site use Claude Code with a sanitizing proxy, a local knowledge server and signed software bundles, sending back only reviewed structured reports.

Problem. Sensitive sites cannot let raw prompts, code or data leave, but their engineers still need AI help.

  1. Engineer prompt
  2. Sanitizing proxy redacts
  3. Cloud model answers
  4. Placeholders restored
  5. Reviewer approves report
  6. Structured report out
  • Redaction uses stable placeholders so answers can be restored locally
  • Bundles are signed with ssh-keygen and installed by atomic symlink swap
  • Managed settings lock telemetry, updates and marketplace installs off

System parts

  • Sanitizing local proxy
  • Knowledge server (MCP)
  • Signed core bundle
  • Report validator
  • Editor approve queue
  • Secure cloud connection

In operation

  • About 120 tests recorded
  • Five MCP tools: vault search, read, write note, ask HQ, HQ answers
  • Report schema has no free-text fields, so data values cannot leave
  • Designed for AWS Bedrock GovCloud connectivity

Stack Python 3 (standard library only), MCP, AWS Bedrock GovCloud, ssh-keygen signing, VS Code extension

ShockTalk (university advisor)

Live demo, Oct 2026

A searchable brain of a university's public site and catalog that answers students and advisors with cited links and prerequisite-aware planning.

Problem. Students and advisors struggle to navigate catalog rules, prerequisites and scattered web pages.

  1. Student asks
  2. Keyword + vector search
  3. Prerequisite graph
  4. Local model writes
  5. Answer with sources
  • Keyword search first, vectors optional, because it already ranked the right catalog page first
  • Answers come from the prerequisite graph or templates; the local model only phrases them
  • No hosted AI services; everything runs on the local machine

System parts

  • Crawler
  • SQLite search index
  • Prerequisite graph
  • Local model
  • Web app (streaming)
  • Mobile API contract

In operation

  • About 22,000 site pages plus 1,000 catalog pages, 5,100 courses and 538 programs indexed
  • Warm search p50 126 ms and p95 288 ms
  • 228 tests passing; 43 commits in two weeks
  • Separate link audit checked 956,526 links and flagged 18,360 issues

Stack Python 3.14, SQLite FTS5, sqlite-vec, bge-small embeddings, Qwen3-4B via mlx-lm, FastAPI, SSE

Little Consult (AI business analysis)

Live, 2025–Sep 2026

Small businesses get a 10-section analysis report, a free health-check, weekly coach check-ins and a Business Pressure Index, on a paid subscription.

Problem. Small businesses cannot afford consultants.

  1. Owner enters business
  2. Research gathered
  3. Statistics engine computes
  4. Model writes narrative
  5. 10-section report
  • Deterministic statistics compute the numbers; the model only narrates them
  • Tier limits live in database functions, not in the app
  • Edge-function CORS locked to the production domain

System parts

  • Report engine
  • Health-check funnel
  • Pressure index and KPI series
  • Weekly check-ins
  • Stripe billing tiers
  • Admin tools

In operation

  • About 35 edge functions and 40+ migrations
  • 872 commits since the project began
  • Four Stripe tiers: free, standard, pro, enterprise; CI added

Stack Vite, React, TypeScript, Supabase (Deno edge functions), Stripe, Perplexity, Gemini, Vercel

Corporate housing platform

Private demo, Aug–Sep 2026

A rebuild of a legacy property-management system for a corporate-housing company, covering inventory, bookings, operations and finance with native iOS apps.

Problem. A dated property system could not meet modern operations and finance needs.

  1. Staff or guest acts
  2. Web or iOS app
  3. Validated, market-scoped
  4. Ledger and audit log
  5. Agent reads via MCP
  • Every input is parsed through one validator; ledger accounts are constants, never string literals
  • Audit log is append-only; illegal status jumps are rejected on the server
  • Arrival assistant uses a model when a key exists and an offline matcher otherwise

System parts

  • Next.js web app
  • 4 SwiftUI iOS apps
  • Postgres + Drizzle
  • Read-only MCP server
  • Two switchable interface skins
  • Arrival assistant

In operation

  • 38 commits in the first three weeks; migrations through 0018
  • Four SwiftUI apps: staff, client, partner and guest
  • Read-only MCP server with separate operations and finance API keys

Stack Next.js 15, Drizzle, Neon Postgres, Tailwind 4, SwiftUI, MCP, Anthropic SDK (optional)

Integrated farm operations platform

In development, Jun–Oct 2026

One system for a farm's public site, shop, point of sale, back office, staff kiosk, customer tabs and two iOS apps, replacing a separate website and tools.

Problem. A farm ran its website, sales and staffing on disconnected tools.

  1. Customer or staff acts
  2. Site, POS or kiosk
  3. Server checks permissions
  4. Card payment or hold
  5. Ledger + reports
  • Built audit-ready from day one (SOC 2 / ISO 27001 mindset)
  • One ledger view handles revenue double-count traps; every new report reads it
  • The platform kernel imports no business code, enforced by a test

System parts

  • Public site and shop
  • POS
  • Back-office admin
  • Staff kiosk
  • Farm tabs
  • 2 iOS apps

In operation

  • 724 tests passing; 288 commits
  • Hand-numbered migrations through 097
  • Seven scheduled jobs
  • A $50 card hold when a tab opens, shipped

Stack Next.js 16, TypeScript, Supabase, Stripe Terminal, SwiftUI, Kotlin, Vercel

Museum operations platform

Private demo, Sep 2026 onward

Admissions, ticketing, memberships, collections, retail, kiosk and visitor guide on one spine, with a legacy collections import.

Problem. Museum systems for tickets, collections and visitors were separate and aging.

  1. Visitor asks
  2. 17 guardrail layers
  3. Approved records quoted
  4. Volunteer review queue
  5. Staff-approved update
  • Answers are extractive: approved records are quoted with sources, and the generative layer ships off
  • Plan is an on-site server (Docker Compose, Postgres 17, nightly dump backups)
  • Web and native app read one data source; the export throws if staff-only fields leak

System parts

  • Visitor web app
  • Native iOS app with staff mode
  • Collections and records
  • Ticket and booking engine
  • Legacy-data importer
  • Admin dashboard

In operation

  • 292-case red-team bank and 17 guardrail layers decided before retrieval
  • Own reader for the legacy collections database format, with idempotent apply and rollback
  • 10 bundled serverless functions; go-live planned for 1 Jan 2027

Stack React 19, TypeScript, Vite, Postgres, Docker, Stripe, SwiftUI + SceneKit, three.js

Agent-driven accessibility testing

In development, Sep–Oct 2026

Agents try real customer tasks under a disabled person's constraints (screen reader, keyboard only) and report where they stopped, which WCAG 2.2 criteria apply and the fix.

Problem. Accessibility audits check rules, not whether a person can actually finish buying or booking.

  1. Staff start a run
  2. Queue worker + browser
  3. Agent plays the user
  4. Cause and WCAG score
  5. Trainer confirms finding
  6. Client report
  • A client never sees a finding until a trainer confirms it
  • The hosted worker refuses private and loopback addresses through an egress proxy
  • The site is its own release gate: the platform's personas test it before deploy

System parts

  • API with organizations
  • Queue worker with Playwright
  • Agent runtime
  • Reviewer dashboard
  • Marketing site
  • iOS companion app
  • 14 shared packages

In operation

  • 36 commits in five weeks across five apps and 14 packages
  • 97 seed training lessons loaded for the testing personas
  • Demo runs are scripted; the benchmark against axe-core has not yet been run with a real model

Stack TypeScript, pnpm + turbo, Fastify 5, Better Auth, BullMQ, Playwright, Prisma, Next 14, SwiftUI

Brain (agent memory, hooks and MCP server)

Live, private, Sep 2026 onward

A long-term memory of typed notes exposed to Claude Code as an MCP server, with hooks that enforce rules and skills that capture lessons.

Problem. Coding agents repeat mistakes and lose context between sessions.

  1. Developer starts task
  2. Notes retrieved
  3. Agent works
  4. Hooks enforce rules
  5. Lesson saved and pushed
  • Rules that keep being broken become hooks, not text
  • A Stop hook pushes notes to git automatically
  • MCP tools are deferred, so adding servers costs little until used

System parts

  • Typed note vault
  • MCP server
  • Guardrail hooks
  • Capture skills
  • Benchmark harness

In operation

  • 720 commits
  • Launch context measured at 28k tokens
  • A benchmark harness tests whether notes and skills improve output

Stack Markdown / Obsidian, Python 3, MCP, git

Lookout and AegeTower (error tracking and ops cockpit)

Live, sign-in, Oct 2026

A Sentry-compatible error tracker for all projects with iOS and Android apps, plus a strict self-hosted open-source core for teams with sensitive data.

Problem. One place was needed for errors and agent status across many projects without sending data to a third party.

  1. App error captured
  2. Scrub and group
  3. Alert thresholds
  4. Phone push
  5. Owner approves fix
  • Official Sentry SDKs work unchanged; secrets are scrubbed after Unicode normalization
  • Only an approve action can queue a runner job, enforced by a database constraint
  • AegeTower targets NIST 800-53 Rev 5 High, uses a pinned distroless image, and tests fail on any outbound fetch

System parts

  • Intake API
  • Web dashboard
  • iOS and Android apps
  • Cockpit device summaries
  • Approval queue
  • AegeTower self-hosted core

In operation

  • Live check listed 82 projects; 41 commits in two weeks
  • Each Mac pushes a roughly 35 KB summary every 60 seconds
  • Station routes added with 70 tests passing
  • Alerts on new issue, regression and counts of 10, 100, 1,000 and 10,000

Stack Next.js 16, Neon Postgres, Vercel, iOS (TestFlight), Android, Docker, APNs

010 TAG (live globe)

Live, access-gated, Sep 2026

A live 3D globe fed by keyless public feeds (flights, ships, quakes, satellites, weather, webcams) with replay, alert rules and a Claude agent.

Problem. Many real-time public feeds are hard to see as one picture.

  1. Public feeds in
  2. Adapters + event bus
  3. Alert rules watch
  4. Agent answers over tools
  5. Analyst sees globe
  • Topology is config: in-memory in one process or NATS with split roles
  • Alert rules can be backtested on the recorded stream's clock
  • A Cloudflare Worker proxies a source that blocks datacenter IPs

System parts

  • Ingest adapters
  • Event bus
  • Historian (record/replay)
  • Alert rules (watchman)
  • Agent package
  • Desktop shell

In operation

  • 47 commits, 10 workspace packages
  • Desktop shell is about 6 MB
  • One container plus Caddy on any Ubuntu box; push to main deploys

Stack TypeScript, pnpm, Cesium, Postgres/Timescale, NATS, Tauri, Caddy

How I work

The same four steps on every project, from a café's ordering app to a sealed-network AI system.

  1. Find the real job

    I sit with the people who do the work and map how it actually runs today, before anyone talks about AI.

    Discovery, proposals and phased roadmaps for small businesses, a museum, a farm and a housing company.

  2. Draw the system first

    Data, integrations, security boundaries, and exactly where a model sits and what checks it.

    Every diagram on this page started as one of these.

  3. Build with guardrails

    I direct AI coding agents under hooks and tests, so speed never skips the checks.

    My own agent memory and hook system, used on every project here.

  4. Prove it before launch

    Held-out test sets, red-team banks, accessibility and launch checks, and a person who signs off.

    Every live platform here passed an automated launch check first.

All 54 platforms

Open any one to see its diagram, parts, operations and stack.

Show
Agent-driven accessibility testing Agents try real customer tasks under a disabled person's constraints (screen reader, keyboard only) and report where they stopped, which WCAG 2.2 criteria apply and the fix. In development

Problem. Accessibility audits check rules, not whether a person can actually finish buying or booking.

  1. Staff start a run
  2. Queue worker + browser
  3. Agent plays the user
  4. Cause and WCAG score
  5. Trainer confirms finding
  6. Client report
  • A client never sees a finding until a trainer confirms it
  • The hosted worker refuses private and loopback addresses through an egress proxy
  • The site is its own release gate: the platform's personas test it before deploy

System parts

  • API with organizations
  • Queue worker with Playwright
  • Agent runtime
  • Reviewer dashboard
  • Marketing site
  • iOS companion app
  • 14 shared packages

In operation

  • 36 commits in five weeks across five apps and 14 packages
  • 97 seed training lessons loaded for the testing personas
  • Demo runs are scripted; the benchmark against axe-core has not yet been run with a real model

Stack TypeScript, pnpm + turbo, Fastify 5, Better Auth, BullMQ, Playwright, Prisma, Next 14, SwiftUI

CauseCode (injury external-cause coding) Reads injury notes and suggests ICD-10-CM external cause codes, each with evidence quotes and the guideline rules it passed, then routes to a clinician or coder. In development

Problem. Coding the mechanism, place, activity and status of injuries consistently across thousands of notes.

  1. Clinical note in
  2. Mark evidence spans
  3. Candidates from spans
  4. Rules engine checks
  5. Clinician or coder decides
  6. Accepted code logged
  • The model never emits a code: evidence spans feed candidates, and a rules engine produces the code
  • A simple word-list baseline fails the gate on unseen notes, so it cannot ship on its own
  • Policy questions stay marked unapproved until a government reviewer decides

System parts

  • Span extractor
  • Candidate builder
  • Rules engine
  • Clinician acceptance card
  • Coder queue
  • Static console (no outbound calls)
  • Signed edge sync

In operation

  • 97 tests recorded
  • Three independent gold sets: held-out A, held-out B and calibration C, written by separate agents
  • Deployment checks: 23 on the Compose + mTLS gateway path, 14 on k3s
  • Runs in shadow mode behind a release gate

Stack Python 3.14, FastAPI, pydantic, SQLite (Postgres-portable), Qwen3-4B (local), vanilla JS, Docker / mTLS, k3s

Policy impact checker (Secretary Keeper v2) Staff ask in plain language which company policies a change affects, and get an answer, a table and an Excel workbook with evidence, all on self-hosted models. Shipped

Problem. Finding which policies conflict with, already comply with, or cite a changed policy is slow and error-prone by hand.

  1. Staff ask question
  2. Find related clauses
  3. Model judges clauses
  4. Code builds the table
  5. Staff type decide
  6. Excel with evidence
  • The chat model never decides; a code pipeline builds the answer
  • The only network exit is one gateway container; everything else sits on internal networks
  • Approval comes only from the person's typed 'decide' message, so the model cannot approve itself

System parts

  • Chat front end (Open WebUI)
  • Policy API
  • Clause-diff pipeline
  • Model gateway (single exit)
  • Postgres + vector store
  • 3 checker variants

In operation

  • 85 API tests recorded on v1
  • Three variants run on one self-hosted 30B model: plain, agent-framework and LangGraph with saved checkpoints
  • Public MIT repository with a PDF handbook and diagrams
  • Demo mode runs; a real-stack test on the client VM is pending

Stack Docker Compose, vLLM, IBM Granite 4.2 30B, FastAPI, Postgres + pgvector, Open WebUI, TEI embeddings, LangGraph, Hermes Agent, nginx

Restricted-environment AI integration Lets engineers in a controlled site use Claude Code with a sanitizing proxy, a local knowledge server and signed software bundles, sending back only reviewed structured reports. In development

Problem. Sensitive sites cannot let raw prompts, code or data leave, but their engineers still need AI help.

  1. Engineer prompt
  2. Sanitizing proxy redacts
  3. Cloud model answers
  4. Placeholders restored
  5. Reviewer approves report
  6. Structured report out
  • Redaction uses stable placeholders so answers can be restored locally
  • Bundles are signed with ssh-keygen and installed by atomic symlink swap
  • Managed settings lock telemetry, updates and marketplace installs off

System parts

  • Sanitizing local proxy
  • Knowledge server (MCP)
  • Signed core bundle
  • Report validator
  • Editor approve queue
  • Secure cloud connection

In operation

  • About 120 tests recorded
  • Five MCP tools: vault search, read, write note, ask HQ, HQ answers
  • Report schema has no free-text fields, so data values cannot leave
  • Designed for AWS Bedrock GovCloud connectivity

Stack Python 3 (standard library only), MCP, AWS Bedrock GovCloud, ssh-keygen signing, VS Code extension

ShockTalk (university advisor) A searchable brain of a university's public site and catalog that answers students and advisors with cited links and prerequisite-aware planning. Live demo

Problem. Students and advisors struggle to navigate catalog rules, prerequisites and scattered web pages.

  1. Student asks
  2. Keyword + vector search
  3. Prerequisite graph
  4. Local model writes
  5. Answer with sources
  • Keyword search first, vectors optional, because it already ranked the right catalog page first
  • Answers come from the prerequisite graph or templates; the local model only phrases them
  • No hosted AI services; everything runs on the local machine

System parts

  • Crawler
  • SQLite search index
  • Prerequisite graph
  • Local model
  • Web app (streaming)
  • Mobile API contract

In operation

  • About 22,000 site pages plus 1,000 catalog pages, 5,100 courses and 538 programs indexed
  • Warm search p50 126 ms and p95 288 ms
  • 228 tests passing; 43 commits in two weeks
  • Separate link audit checked 956,526 links and flagged 18,360 issues

Stack Python 3.14, SQLite FTS5, sqlite-vec, bge-small embeddings, Qwen3-4B via mlx-lm, FastAPI, SSE

4SSI emergency analysis platform Describe an emergency by text, voice or file and one of 1,800+ specialized AI agents returns a threat assessment, immediate actions and a response plan. Prototype

Problem. People in an emergency need fast, structured guidance with clear limits on what the AI can claim.

  1. User describes emergency
  2. Route to specialist agent
  3. Agent model assesses
  4. Plan with disclaimer
  • Reliability, error transparency and accessibility rank above looks
  • Every AI output carries the disclaimer

System parts

  • Agent catalog
  • Analysis API
  • History and admin pages
  • PDF export
  • Rate limiter

In operation

  • 1,800+ specialized agents
  • Rate limits: 3 a day for guests (by IP), 10 a day when signed in
  • Four database tables: profiles, user roles, analyses, usage

Stack React 18, TypeScript, Vite, Supabase, Perplexity API, Gemini Vision, jsPDF

AdFlow (autonomous marketing agent) An orchestrator agent that fills content calendars and proposes paid-ad packages that cannot go live without a human approving. Prototype

Problem. Small businesses lack time to plan content and judge ad performance.

  1. Orchestrator reviews metrics
  2. Drafts posts and ads
  3. Submitted for approval
  4. Owner approves or rejects
  5. Scheduled and logged
  • Paid ads never go live without a human: approval is a separate function
  • Same edge-function shape as Little Consult

System parts

  • Orchestrator edge function
  • Tool functions
  • Approval inbox
  • Decision log
  • CI deploy workflow

In operation

  • Built in one day; 44 commits
  • Three edge functions: orchestrator, approve-ad, reject-ad
  • Never deployed

Stack Supabase edge functions (Deno), Vite, React, GitHub Actions

Aege (agent harness) A small, auditable agent harness that runs Claude Code workers in isolated git worktrees, with hard limits on steps, tokens and spend. In development

Problem. Existing agent frameworks are too large to audit and weak on security.

  1. Task submitted
  2. Limits checked
  3. Worker model acts
  4. Guardrails filter tools
  5. Event logged
  6. Diff reviewed
  • Built on a small framework instead of forking a roughly 928,000-line one
  • Tool failures return an error string and never end the run
  • Chat watching uses Claude Code's HTTP hooks on 127.0.0.1 only

System parts

  • Model-agnostic runner
  • Append-only event log
  • Chat watcher
  • Send-to-chat command
  • MCP tools

In operation

  • 70 tests and six tool guardrails recorded
  • Event log is SQLite with triggers that block UPDATE and DELETE
  • Step and token budgets always on; dollar cap where price data exists

Stack Python 3.14, Pydantic AI 2.55, MCP, SQLite, git worktrees, Claude Code

Aegis (AI-first life organizer) Capture a thought and AI sorts it into tasks, events and entities; a knowledge graph grows and scenarios simulate what-ifs. Web app plus a native companion. Prototype

Problem. Notes, plans and bank statements live in separate places and never connect.

  1. Capture by text/voice
  2. AI routes the thought
  3. Saved to graph
  4. Digest + scenarios
  5. Push reminders
  • Backend is locked; the mobile app never changes the schema
  • Every user table filters by the signed-in user's ID

System parts

  • Web app (PWA)
  • Native iOS/Android companion
  • About 23 edge functions
  • Bank statement ingest

In operation

  • About 23 edge functions covering capture, plan, agent, digest, scenario and push
  • Mobile blueprint: 11 routes, 4 tabs

Stack TanStack Start, Supabase, Capacitor, Expo, Plaid

Campus Brains (13 university demos) The ShockTalk advisor, copied and re-pointed at 13 other universities as sales demos. Private demo

Problem. Each school needs its own searchable knowledge base without rebuilding the product.

  1. School config file
  2. Polite crawler
  3. Per-school search index
  4. Advisor answers
  5. Demo for the school
  • Same codebase copied per customer; only a config file changes
  • Crawler hosts allowed by domain suffix, minus login and learning-system prefixes
  • Each page is committed as it is fetched, so a partial crawl is still usable

System parts

  • One repo per school
  • Per-school config
  • Multi-host crawler
  • SQLite index
  • Shared virtual environment

In operation

  • 13 universities, one private repo each
  • Crawler runs up to 48 hosts in parallel at about 1 request per second per host
  • A host stops after 25 consecutive 403 responses

Stack Python 3.14, SQLite, httpx, BeautifulSoup, Windows desktop

Clever Consult (AI founder assistant) A fork of Little Consult that adds eight AI coaches, a daily briefing and a ten-widget dashboard for founders. Prototype

Problem. Founders need ongoing guidance, not a one-off report.

  1. Founder opens briefing
  2. Coach agent responds
  3. Dashboard widgets
  4. Ad platform sync
  • Reuses Little Consult's edge functions and health-check funnel
  • Documentation kept in sync with marketing claims

System parts

  • 8 AI coaches
  • Daily briefing
  • Memo journal and tasks
  • Expert dashboard
  • Ad-platform sync

In operation

  • 330 commits (Mar–Apr 2026)
  • 60 migrations and about 70 edge functions

Stack Vite, React, shadcn, Supabase

Gym outreach research pipeline Parallel research agents built a verified lead list of gyms with no branded app. Shipped

Problem. Finding contactable prospects at scale without guessing emails.

  1. Region assigned
  2. Agents research gyms
  3. Merge script builds workbook
  4. Sample re-checked
  • Emails are never guessed; each row stores its source URL
  • Personal-data flags are added per row

System parts

  • Parallel agents by region
  • Merge script
  • Workbook with 5 sheets

In operation

  • 1,847 gyms and chains in 58 countries; 1,516 with an email seen on the gym's own site
  • A 40-row sample was re-fetched: 38 emails found verbatim, 2 behind Cloudflare obfuscation

Stack Python, openpyxl, Subagents

Local assistant gateway A desktop-hosted local model that answers from a private knowledge base for two phone apps. In development

Problem. Phone apps needed a private assistant without sending knowledge to a hosted AI service.

  1. Phone app asks
  2. Key picks knowledge base
  3. Retrieval injected first
  4. Local model answers
  5. Streamed reply + proposal
  • Retrieval is always injected first because the 14B model's tool choice is unreliable
  • Each app's bearer key reaches only its own knowledge base
  • Replies stream as server-sent events: token, sources, proposal

System parts

  • Cloudflare tunnel
  • Caddy key router
  • 2 FastAPI services
  • Index (SQLite FTS5 + vectors)
  • Local Ollama model

In operation

  • Qwen3 14B on one RTX 4080 with a 12k context window
  • Knowledge copy refreshes with a git pull every 5 minutes, then re-indexes changed files
  • Two apps, two separate knowledge bases; a mismatched app returns 400

Stack Ollama, FastAPI, SQLite FTS5, numpy, Caddy, Cloudflare Tunnel

PersonaSwarm (idea feedback panel) An MCP server that gives scored verdicts on an idea from a sample of 250 researched personas, plus an attack panel. In development

Problem. Early ideas get little diverse, critical feedback before money is spent.

  1. Idea submitted
  2. Sample across categories
  3. Persona agents judge
  4. Tally and attack score
  5. Synthesis saved
  • Red team is scored separately so attackers do not drag down the opinion mean
  • A region grid forces a third of each batch to be traditional or right-of-centre, because ungrided output drifted toward Western liberal professionals

System parts

  • MCP server
  • 250-persona vault
  • Red-team mode
  • Coverage audit
  • Skill front end

In operation

  • 250 personas: 51 researched figures, 140 everyday people on a region grid, 22 worldviews, 20 experts, 17 red team
  • A coverage command audits the spread and notes the North America and Western Europe skew

Stack Python 3.14, MCP 2.2, Markdown vault

Policy Impact (successor checker) Shows which entities under an authority now conflict, already comply, have a gap, or cite a changed policy section, with role-based access. In development

Problem. When a sector policy changes, every entity below it needs checking, and each reader may only see their own scope.

  1. Authority edits policy
  2. Chat front end
  3. Five-tool agent calls API
  4. Pipeline compares clauses
  5. Reviewer approves
  6. Signed Excel report
  • Database uses row-level security with an app role that cannot bypass it
  • Each signed link token gets its own key and purpose after a security review
  • A rebuild branch removes the large agent framework in favor of a small LangGraph core

System parts

  • Reverse proxy
  • Chat UI with sign-in
  • Agent with 5 tools
  • Policy API
  • Row-level-secured database
  • Review page

In operation

  • 61 tests on the LangGraph core and 29 on the policy API
  • Sealed-network trial ran clean for 53 minutes (spike marked partial)
  • Open WebUI integration passed 8 of 8 checks
  • Public repository

Stack FastAPI, LangGraph, Postgres 16 + pgvector (RLS), vLLM, TEI embeddings, Open WebUI, nginx, Docker

University guidance chatbots Two small advisers for a university community: a business-school advising chatbot and an AI-use answer app grounded in a draft ethics code. Prototype

Problem. People need quick answers grounded in official text, with human routing for anything binding.

  1. Student asks
  2. Find matching passages
  3. Model answers
  4. Binding questions to advisor
  • Knowledge base is Markdown; guardrails sit in the system prompt (no invented deadlines, crisis questions to hotlines)
  • Local similarity matching reduces API dependence over time

System parts

  • Business-school chatbot
  • AI-use answer app
  • Markdown knowledge folders
  • Answer cache

In operation

  • Chatbot: top ~8 chunks per question, 20 requests per 5 minutes per IP
  • AI-use app: similar questions are answered from a local cache instead of the API

Stack Next.js 16, Perplexity API, BM25, Node.js / Express, Anthropic SDK, TF-IDF

Corporate housing platform A rebuild of a legacy property-management system for a corporate-housing company, covering inventory, bookings, operations and finance with native iOS apps. Private demo

Problem. A dated property system could not meet modern operations and finance needs.

  1. Staff or guest acts
  2. Web or iOS app
  3. Validated, market-scoped
  4. Ledger and audit log
  5. Agent reads via MCP
  • Every input is parsed through one validator; ledger accounts are constants, never string literals
  • Audit log is append-only; illegal status jumps are rejected on the server
  • Arrival assistant uses a model when a key exists and an offline matcher otherwise

System parts

  • Next.js web app
  • 4 SwiftUI iOS apps
  • Postgres + Drizzle
  • Read-only MCP server
  • Two switchable interface skins
  • Arrival assistant

In operation

  • 38 commits in the first three weeks; migrations through 0018
  • Four SwiftUI apps: staff, client, partner and guest
  • Read-only MCP server with separate operations and finance API keys

Stack Next.js 15, Drizzle, Neon Postgres, Tailwind 4, SwiftUI, MCP, Anthropic SDK (optional)

Integrated farm operations platform One system for a farm's public site, shop, point of sale, back office, staff kiosk, customer tabs and two iOS apps, replacing a separate website and tools. In development

Problem. A farm ran its website, sales and staffing on disconnected tools.

  1. Customer or staff acts
  2. Site, POS or kiosk
  3. Server checks permissions
  4. Card payment or hold
  5. Ledger + reports
  • Built audit-ready from day one (SOC 2 / ISO 27001 mindset)
  • One ledger view handles revenue double-count traps; every new report reads it
  • The platform kernel imports no business code, enforced by a test

System parts

  • Public site and shop
  • POS
  • Back-office admin
  • Staff kiosk
  • Farm tabs
  • 2 iOS apps

In operation

  • 724 tests passing; 288 commits
  • Hand-numbered migrations through 097
  • Seven scheduled jobs
  • A $50 card hold when a tab opens, shipped

Stack Next.js 16, TypeScript, Supabase, Stripe Terminal, SwiftUI, Kotlin, Vercel

Little Consult (AI business analysis) Small businesses get a 10-section analysis report, a free health-check, weekly coach check-ins and a Business Pressure Index, on a paid subscription. Live

Problem. Small businesses cannot afford consultants.

  1. Owner enters business
  2. Research gathered
  3. Statistics engine computes
  4. Model writes narrative
  5. 10-section report
  • Deterministic statistics compute the numbers; the model only narrates them
  • Tier limits live in database functions, not in the app
  • Edge-function CORS locked to the production domain

System parts

  • Report engine
  • Health-check funnel
  • Pressure index and KPI series
  • Weekly check-ins
  • Stripe billing tiers
  • Admin tools

In operation

  • About 35 edge functions and 40+ migrations
  • 872 commits since the project began
  • Four Stripe tiers: free, standard, pro, enterprise; CI added

Stack Vite, React, TypeScript, Supabase (Deno edge functions), Stripe, Perplexity, Gemini, Vercel

Museum operations platform Admissions, ticketing, memberships, collections, retail, kiosk and visitor guide on one spine, with a legacy collections import. Private demo

Problem. Museum systems for tickets, collections and visitors were separate and aging.

  1. Visitor asks
  2. 17 guardrail layers
  3. Approved records quoted
  4. Volunteer review queue
  5. Staff-approved update
  • Answers are extractive: approved records are quoted with sources, and the generative layer ships off
  • Plan is an on-site server (Docker Compose, Postgres 17, nightly dump backups)
  • Web and native app read one data source; the export throws if staff-only fields leak

System parts

  • Visitor web app
  • Native iOS app with staff mode
  • Collections and records
  • Ticket and booking engine
  • Legacy-data importer
  • Admin dashboard

In operation

  • 292-case red-team bank and 17 guardrail layers decided before retrieval
  • Own reader for the legacy collections database format, with idempotent apply and rollback
  • 10 bundled serverless functions; go-live planned for 1 Jan 2027

Stack React 19, TypeScript, Vite, Postgres, Docker, Stripe, SwiftUI + SceneKit, three.js

Chocolate shipping and 3D box builder Prompt-set solutions for a chocolate business: thermal shipping rules from route weather, plus a 3D box builder where customers add a logo. Private demo

Problem. Chocolate melts in transit, and corporate buyers want to design custom boxes.

  1. Order or Shopify export
  2. Spec validated
  3. Weather and transit check
  4. Approval by team
  5. Pack and ship plan
  • 2D cavity grid stays the source of truth; the 3D view is only a renderer
  • Great-circle route sampling and business-day transit work offline
  • Self-made test fixtures hid real export formats, so tests now use the real Shopify export

System parts

  • Shared domain package
  • Offline ZIP geography
  • Shopify export ingest
  • 3D box builder (web)
  • iOS app (RealityKit)

In operation

  • 188 tests
  • 33,791 ZIP centroids from the 2023 Census gazetteer (824 kB, offline)
  • 31 flavors and five box sizes modeled

Stack Next.js 15, React Three Fiber, Neon, pnpm, TypeScript, RealityKit

Community business directory rebuild A hardened mobile-first rebuild of a community business, temple and events directory, seeded from recovered public data. In development

Problem. The original site's backend and domain were lost, with security gaps seen on the live site.

  1. Visitor searches
  2. Native or web app
  3. Search functions + RLS
  4. Moderator approves
  • Row-level security denies by default; privileged writes via edge functions
  • Moderation queue before anything is published

System parts

  • Native iOS (Swift)
  • Native Android (Kotlin)
  • Next.js web
  • Postgres/PostGIS schema
  • Seed scripts

In operation

  • Recovered 98 businesses, 7 events, 2 deals and 571 photo URLs; 53 of 98 geocoded
  • Three migrations: schema, RLS, search functions

Stack Swift, Kotlin, Next.js 14, Supabase, PostGIS

Daybook (clock in/out and tasks) Big clock in/out button, voice or typed work log, and tasks with reminders on web, iPhone and Android over one API. Live, sign-in

Problem. Tracking hours and tasks takes too many taps.

  1. Tap clock in
  2. App syncs to API
  3. Last write wins
  4. History and copy week
  • Records carry client IDs, update times and soft deletes for sync
  • Server has no task logic; repeats are created on the client

System parts

  • Next.js API
  • SwiftUI iOS app
  • Kotlin Android app
  • Shared API contract

In operation

  • Three clients over one API contract
  • Works without any AI key

Stack Next.js 16, Neon, SwiftUI, Kotlin / Compose, Room, WorkManager

Diabetes logging app An on-device iOS and Android app for logging glucose, food, insulin, activity and lab results, with no account. Prototype

Problem. People with diabetes need a private, simple log that does not give medical advice.

  1. Person logs reading
  2. On-device database
  3. Charts + low panel
  4. CSV export
  • No insulin-dose calculator, because that is a regulated device
  • CSV export neutralizes formula-injection cells

System parts

  • Expo app
  • On-device SQLite
  • Hand-drawn charts
  • CSV export

In operation

  • Versioned on-device migrations; one entries table
  • Charts use shapes and words as well as color

Stack Expo SDK 57, React Native, expo-sqlite, TypeScript

Farm operations platform (spec-driven) Multi-entity platform for inventory, point of sale, payroll, events, subscriptions, CRM and compliance, built strictly to a written specification. Prototype

Problem. Farm businesses with several legal entities need money and stock tracked exactly.

  1. Spec requirement ID
  2. Domain package code
  3. Row-level-secured API
  4. Stripe / CRM providers
  5. Traceability report
  • Money is never a float: integer big-number money type
  • Vendor SDKs may live only inside provider packages
  • Corrections are appended and versioned; nothing is silently overwritten

System parts

  • Domain package
  • Sync engine
  • Provider adapters
  • Pay engine
  • NestJS API

In operation

  • 59 commits, last ticket FRSI-57
  • Coverage gates: 95% on the domain package, 100% on the pay engine
  • CI: CodeQL, dependency audit, a database integration job, API-drift gate, traceability generator

Stack pnpm + Turborepo, NestJS 11, Drizzle, Postgres 16 (RLS), Stripe Connect, Expo

Free-tech magazine and directory An anonymous, non-commercial magazine and directory of free online tools with an admin editor. Live preview

Problem. Readers need a trustworthy list of free tools without ads.

  1. Editor writes post
  2. Admin saves to database
  3. Publish triggers build
  4. Static site
  • Markdown sanitized at save time; static CSP
  • Fonts trimmed from 236 KB to 78 KB

System parts

  • Admin editor
  • Static build
  • Newsletter
  • Search

In operation

  • Fits the free hosting plan: 12 functions, 10-second timeouts

Stack Neon, Python build, Vercel Blob, Resend, MiniSearch

Hometown Digital Helpers (local-first analytics) A local-first analytics app for restaurants and solo owners, with approval-gated access. Prototype

Problem. Small owners need simple analytics that keeps working offline.

  1. Owner uploads data
  2. Stored on device
  3. Snapshot sync
  4. Signed 30-day certificate
  • Read-only mode is one database middleware, not checks at 18 call sites
  • Passwords hashed with scrypt at 2^16 cost

System parts

  • Marketing site
  • Local-first app
  • Serverless auth and admin
  • Read-only mode

In operation

  • 7 serverless functions; 8-page marketing site
  • Approval issues a 30-day signed certificate re-issued at each online launch

Stack Vite, React, Dexie / IndexedDB, Neon, Vercel

Korean restaurant and market ordering platform English and Korean website with online ordering by Stripe Checkout, plus an owner app for orders, store info and staff. Private demo

Problem. Customers need to order online; owners need a simple back office.

  1. Customer orders
  2. Stripe Checkout
  3. Webhook, once only
  4. Owner app shows order
  5. Ready email, undoable
  • Money endpoints use idempotency keys; webhooks are verified
  • The 'It's ready' email goes through an outbox with a lease, so the owner can undo it
  • Moved from Supabase to Neon with a least-privilege database role

System parts

  • Bilingual public site
  • Online ordering
  • Owner app
  • Order outbox
  • Mobile apps (SwiftUI, Kotlin)

In operation

  • 31 database checks and 35 unit tests at phase 3
  • 47 Android tests and 29 payment checks
  • Four of five phases done; POS sync and launch remain

Stack Next.js 16, Neon Postgres, Stripe Checkout / Terminal, Square, Vercel Blob, SwiftUI, Kotlin

Lab Docs (contract and proposal builder) Document builder for service agreements, statements of work and capability statements with PDF, Word and email output. In development

Problem. Contracts drift between versions and nobody can prove which one was sent.

  1. Staff fill form
  2. Live preview
  3. Final version locked
  4. PDF, Word, email
  • Locking is enforced in the database, not the UI
  • Email-code sign-in with a rate limit

System parts

  • Form and preview
  • Version history
  • Roles: owner, staff, partner
  • PDF and Word export

In operation

  • Final versions locked by a database trigger plus a SHA-256 fingerprint
  • Partners see only their own records

Stack Next.js 16, better-auth, Postgres 17, react-pdf, docx

Members' club app A private members' club app with events and RSVPs, chat, forum, resources and AI helpers, rebuilt from a no-code app to a mobile and web platform. In development

Problem. A community outgrew its no-code app and needed a maintainable mobile product.

  1. Member acts
  2. Mobile or web app
  3. Backend checks rules
  4. AI helper replies
  5. Spend reserved first
  • AI spend is reserved before each model call
  • Auth library pinned past a one-time-code takeover advisory
  • Money is stored as integer cents

System parts

  • Expo mobile app
  • Next.js web and admin
  • Convex backend
  • AI helpers
  • SMS

In operation

  • First version: 1,019 commits (no-code origin); rebuild started
  • 177+ backend tests recorded for the rebuild
  • Phases 0–7 built in two days; production migration

Stack Expo SDK 57, Next.js, Convex, Better Auth, Claude, Twilio, pnpm + Turborepo

Pointed Here (local discovery) Events, dining and a review-ranked business directory for a metro area, with native apps, a web app and a moderation dashboard on one API. In development

Problem. Local events and businesses are scattered across social pages.

  1. Resident searches
  2. App or web
  3. API with map queries
  4. Moderation dashboard
  5. Nightly data jobs
  • Locally-owned is a filter, not a marker color
  • No safety score; review tags are shown instead
  • Invite-only sign-in until launch

System parts

  • iOS and Android app
  • Web app
  • Moderation dashboard
  • Fastify API
  • Job runner
  • PostGIS database

In operation

  • 1,131 businesses and 509 events in the datasets
  • About 160,600 Kansas places built from open map data; 347 job tests pass
  • Phases 1–2 of 7 done; first iOS build on TestFlight

Stack Next.js 16, Expo, Fastify 5, Prisma, Postgres 17 + PostGIS, Supabase Auth, pg-boss

Prediction-market app and smart contracts A trading frontend and Solidity contracts for binary prediction markets, live on a test network. Prototype

Problem. Prediction markets need on-chain pricing and a safe payout flow.

  1. Trader buys shares
  2. Frontend wallet call
  3. Contract AMM / hook
  4. Reward vault payout
  • Hook address must carry specific low bits, so a deployer mines a CREATE2 salt
  • Exact big-number balances are read at click time to avoid float drift

System parts

  • Trading frontend
  • Contracts
  • Pricing hook
  • Reward vault

In operation

  • 73 frontend commits and 18 contract commits in May 2026
  • Contracts deployed on a test network

Stack Next.js 15, viem, Hardhat, Solidity 0.8.24, Uniswap v4 hook

Venture and research-house sites Group site with a content admin, and a research-house site with a library, inquiry inbox and client portal. Live

Problem. Two ventures needed publishing, lead capture and client access on a small budget.

  1. Visitor or client
  2. Static pages
  3. Form with rate limit
  4. Inbox, portal, CMS
  • Strict CSP with no inline code, so styles are emitted as files
  • Contact form saves to the database first, then posts to a mail relay from the browser
  • Portal bootstrap refuses once any staff account exists

System parts

  • Group site with CMS
  • Research-house site
  • Library and portal
  • Contact archive

In operation

  • Research-house site: 186 commits in four weeks
  • Group site runs at the free hosting plan's 12-function cap

Stack Astro, Vite, React, Neon Postgres, Vercel, Resend

Brain (agent memory, hooks and MCP server) A long-term memory of typed notes exposed to Claude Code as an MCP server, with hooks that enforce rules and skills that capture lessons. Live, private

Problem. Coding agents repeat mistakes and lose context between sessions.

  1. Developer starts task
  2. Notes retrieved
  3. Agent works
  4. Hooks enforce rules
  5. Lesson saved and pushed
  • Rules that keep being broken become hooks, not text
  • A Stop hook pushes notes to git automatically
  • MCP tools are deferred, so adding servers costs little until used

System parts

  • Typed note vault
  • MCP server
  • Guardrail hooks
  • Capture skills
  • Benchmark harness

In operation

  • 720 commits
  • Launch context measured at 28k tokens
  • A benchmark harness tests whether notes and skills improve output

Stack Markdown / Obsidian, Python 3, MCP, git

Lookout and AegeTower (error tracking and ops cockpit) A Sentry-compatible error tracker for all projects with iOS and Android apps, plus a strict self-hosted open-source core for teams with sensitive data. Live, sign-in

Problem. One place was needed for errors and agent status across many projects without sending data to a third party.

  1. App error captured
  2. Scrub and group
  3. Alert thresholds
  4. Phone push
  5. Owner approves fix
  • Official Sentry SDKs work unchanged; secrets are scrubbed after Unicode normalization
  • Only an approve action can queue a runner job, enforced by a database constraint
  • AegeTower targets NIST 800-53 Rev 5 High, uses a pinned distroless image, and tests fail on any outbound fetch

System parts

  • Intake API
  • Web dashboard
  • iOS and Android apps
  • Cockpit device summaries
  • Approval queue
  • AegeTower self-hosted core

In operation

  • Live check listed 82 projects; 41 commits in two weeks
  • Each Mac pushes a roughly 35 KB summary every 60 seconds
  • Station routes added with 70 tests passing
  • Alerts on new issue, regression and counts of 10, 100, 1,000 and 10,000

Stack Next.js 16, Neon Postgres, Vercel, iOS (TestFlight), Android, Docker, APNs

Agent safety hooks (open source) Readable safety hooks and a status band for Claude Code, shared as open source. Shipped

Problem. Agent mistakes (bad writes, secrets, context blowups) need guard rails people can read.

  1. Agent proposes action
  2. Hook inspects
  3. Blocked or allowed
  4. Developer reviews
  • Guards are plain files you can read before installing
  • Redacted session snapshots in the blast-radius guard

System parts

  • Write guard
  • Context guard
  • Env-var guards
  • Cockpit mod
  • Example settings

In operation

  • Public repository
  • Hooks include write, context, model, Vercel env and git-author guards

Stack Python 3, TypeScript

Analyzer (monthly web presence reports) A monthly report scoring a client's website health, search, AI-answer visibility and public presence, behind an access code. Live, private

Problem. Clients cannot see how their site and presence compare against measurable checks.

  1. Slug given
  2. Crawl, speed, news, social
  3. Score with unmeasured excluded
  4. Report page
  • Unmeasured checks are excluded from scores and listed by who must act
  • Login-protected figures are out of scope by design

System parts

  • Collector
  • Scoring checks
  • Report renderer
  • Access-code site

In operation

  • First report scored 57 overall with 79% of checks measured
  • Collects crawl, sitemap, links, PageSpeed, screenshots and news

Stack Python (standard library), Chrome, Vercel middleware

Base and ship-check (client-job foundations) Reusable starters and a one-command pre-launch check covering accessibility, performance, links, SEO and security headers. Live, private

Problem. Each client site was re-deriving the same defaults and missing the same launch problems.

  1. Site or folder given
  2. Checks run in browser
  3. Report written
  4. Fixes by developer
  • Exit code 1 on any fail, so it works as a gate
  • Static starter build fails on broken links, low contrast and inline scripts

System parts

  • ship-check CLI
  • Static-site starter
  • Next.js starter
  • Launch gate

In operation

  • Checks axe at 390 and 1366 px in light and dark, Lighthouse mobile, link crawl, SEO, headers, copy tells
  • On first run the Next.js starter had 0 fails and 2 warnings
  • Found real issues on live sites and fixed its own false positives

Stack Node 26, Playwright, axe-core, Lighthouse 13, Python build

GameBuild (3D mobile game harness) A shareable kit that teaches a coding agent to build 3D mobile games and ship them to TestFlight and Google Play. In development

Problem. Shipping a mobile game needs many repeated setup and release steps.

  1. Developer picks engine
  2. CLI scaffolds project
  3. Agent builds game
  4. Release script uploads
  • Engine-agnostic contract so tracks plug in
  • App Store Connect token signed with system OpenSSL, no dependencies

System parts

  • 14-command CLI
  • Four engine tracks
  • 11-phase guide
  • Release scripts

In operation

  • Four tracks pass the test command
  • Handbook and PDF generated by a build script

Stack Bash, Swift, Expo, Godot, Android

Pocket Agent (message your agent) A tutorial for messaging your own Claude Code agent from your phone by Telegram or SMS. Shipped

Problem. Non-coders want to reach their coding agent away from the computer.

  1. Owner texts
  2. Bridge checks sender
  3. Agent runs the task
  4. Reply sent
  • Owner-only by captured ID; strangers get no reply
  • Message offset is committed before handling, so a crash never loops
  • SMS capped at helper power

System parts

  • Telegram bridge
  • SMS add-on
  • Plain-language guides

In operation

  • Python standard library only
  • Three power levels: chat, helper, full

Stack Python 3.9+, Telegram Bot API, Twilio, Claude Code

ShaleIT free browser tools Free tools that run entirely in the browser: QR codes, passphrases, image resizing and contrast checks. Live

Problem. People want simple tools that do not upload their data.

  1. Visitor opens tool
  2. Runs in browser
  3. File or code out
  • Image tool strips location data
  • Contrast tool explains the fix with undo

System parts

  • QR maker
  • Passphrase maker
  • Image resizer
  • Contrast checker

In operation

  • Four tools, nothing leaves the browser
  • MIT licensed, third-party credits listed

Stack HTML, JavaScript, Vercel

Business school strategy documents and dashboard A set of strategy documents and a three-track dashboard with simulators for a business school dean's transformation initiative. Shipped

Problem. A dean's initiative needed feasible, verified plans rather than advocacy.

  1. Source documents
  2. Research and verification
  3. Documents and dashboard
  • Final proposal limited to feasible moves
  • Dashboard keeps the old focus areas under a new hub structure

System parts

  • 14 strategy documents
  • 3-track dashboard
  • Simulators

In operation

  • 14 documents produced as Markdown, HTML and Word
  • Feasibility study used 12 research streams and 3 verification passes

Stack Markdown, Python converters, HTML dashboard

Kids' learning-game builders A free site where parents type words or numbers and get a link to a learning game, and a no-server kit for building phone games. Live

Problem. Parents and non-programmers want custom learning games without accounts or servers.

  1. Parent types content
  2. Browser builds game link
  3. Child plays
  • Game lives in the URL hash, so no server or accounts exist
  • No scores, timers or lives; wrong answers gently grey out

System parts

  • Game builder site
  • Paper Boat starter game
  • Guides
  • Automated tests

In operation

  • A 20-question quiz encodes to under 8 KB in the link
  • Starter game tests include a human-speed robot (median about 71 s survival)

Stack HTML / CSS / JS, GitHub Pages, GitHub Actions

Student team tools (content desk and 5K studio) A shared social-post desk for a student AI club and a no-accounts studio for a campus 5K's flyers, signs and bibs. Live, sign-in

Problem. Volunteer student teams need shared, simple tooling with approvals.

  1. Officer plans event
  2. Post plan generated
  3. Second officer approves
  4. PNG or PDF export
  • Approval needs a second person tied to the version they saw
  • Invite links store only a SHA-256 of the token

System parts

  • Content desk
  • Post workflow
  • 5K studio
  • Cleanup cron

In operation

  • Content desk: lockout after 5 tries per 15 minutes; integration test proves two simultaneous approvals leave one winner
  • 5K studio exports 288 dpi PDFs

Stack Next.js 16, Drizzle, Neon, Vercel Blob, jsPDF

010 TAG (live globe) A live 3D globe fed by keyless public feeds (flights, ships, quakes, satellites, weather, webcams) with replay, alert rules and a Claude agent. Live, access-gated

Problem. Many real-time public feeds are hard to see as one picture.

  1. Public feeds in
  2. Adapters + event bus
  3. Alert rules watch
  4. Agent answers over tools
  5. Analyst sees globe
  • Topology is config: in-memory in one process or NATS with split roles
  • Alert rules can be backtested on the recorded stream's clock
  • A Cloudflare Worker proxies a source that blocks datacenter IPs

System parts

  • Ingest adapters
  • Event bus
  • Historian (record/replay)
  • Alert rules (watchman)
  • Agent package
  • Desktop shell

In operation

  • 47 commits, 10 workspace packages
  • Desktop shell is about 6 MB
  • One container plus Caddy on any Ubuntu box; push to main deploys

Stack TypeScript, pnpm, Cesium, Postgres/Timescale, NATS, Tauri, Caddy

Browser 3D and game mini-builds Small interactive builds: a toddler dino game, a QR-code robot city, a vehicle walk-around, a kids' math arcade, a dress-up character system and a sales-day game. Mixed

Problem. Quick interactive demos to explore 3D and game ideas.

  1. Visitor interacts
  2. Scene logic
  3. 3D render
  • Shared dimensions object drives both geometry and on-screen callouts
  • One-file game with seeded replay for a fair contrast

System parts

  • Toddler dino game
  • Robot city QR
  • Vehicle walk-around
  • Math arcade
  • Dress-up (Unity)
  • One Busy Day game

In operation

  • Robot city: 46,932 box instances in four instanced meshes with a scannable QR
  • Math arcade is a first-person room with touch controls

Stack three.js, Unity, Blender, WebAudio

Explore WSU (1:1 campus game) A browser game of a university campus at true scale where you walk, drive or fly and talk to advisors grounded in the course catalog. Live preview

Problem. Prospective students find a campus easier to understand by exploring it.

  1. Player explores
  2. Streamed map tiles
  3. Advisor question menu
  4. Catalog answer
  • Everything pulled once from open data because a map vendor's terms forbid caching
  • Stayed in the browser instead of a game engine to save disk and installs

System parts

  • WebGPU renderer
  • Open-data terrain and buildings
  • Advisor characters
  • Python data tools

In operation

  • Core area 2.56 km wide in 10×10 tiles of 256 m
  • Crowd members spawn within 140 m and animate within 70 m

Stack three.js (WebGPU), TSL shaders, Python, laspy

Group ride push-to-talk app (pitch build) Riders in a group of 2 to 40 talk to everyone like a radio while their own music keeps playing, with missed clips replayed. Private demo

Problem. Group riders lose contact in dead zones and cannot talk over music.

  1. Rider presses talk
  2. One talker only
  3. Audio relayed live
  4. Push to offline riders
  5. Missed clips replay
  • Plain WebSocket relay instead of WebRTC, because the system push-to-talk framework controls audio
  • Native clients instead of Expo

System parts

  • WebSocket relay
  • iOS app
  • Android app
  • Clip store
  • Demo host

In operation

  • Groups of 2–40; relay of 20 ms audio frames
  • Live sockets re-check membership every 10 seconds
  • Demo costs about 25 cents a month idle

Stack Node 22, ws, SQLite, SwiftUI, Kotlin / Compose, Fly.io

ICT Streets (drivable metro map) A drivable 1:1 browser map of a ten-city metro area built from open map data. In development

Problem. Free-roam exploration of a real metro needed realistic roads without paid map tiles.

  1. Player drives
  2. Tiles load by distance
  3. Road, bridge, house geometry
  4. Rendered scene
  • Own geometry from open map data over paid photorealistic tiles
  • Bridge height depends on what it crosses (7.2 m over road or rail, 1.4 m over water)

System parts

  • Tile generator
  • Road and bridge builder
  • House filler
  • HUD with road signage

In operation

  • Ten cities; 500 m tiles
  • About 116,000 generated houses fill streets the map data leaves empty
  • Bridge ramps computed at a 5.5% slope

Stack three.js, Python (osmium), Poly Haven CC0

Shadow Protocol (FPS with persistent NPC memory) A Mac-native first-person shooter where NPCs remember across restarts and the boss adapts to your playstyle. Prototype

Problem. Game enemies rarely learn from the player across sessions.

  1. Player plays
  2. World memory read
  3. NPC behavior adapts
  4. Saved memory file
  • Memory is the centerpiece and saved apart from the save game

System parts

  • Campaign missions
  • Nanosuit mechanics
  • World-memory autoload
  • Adaptive boss

In operation

  • Two-mission campaign
  • Fully procedural: no asset files

Stack Godot 4.7, GDScript

Sri Lanka: Legend or Myth (Unity game) A third-person exploration game across five chapters that tags every discovery as record, legend, anomaly or field note. In development

Problem. Keeping history and legend visibly separate in an adventure game.

  1. Player explores
  2. Tagged discovery
  3. Chapter progress
  4. Rendered scene
  • URP, not HDRP, to run on a laptop-class GPU
  • A sacred-zone component enforces no fighting at sacred sites

System parts

  • 5 chapters
  • Character and animal pipeline
  • Respect-rule systems
  • Editor-driving MCP

In operation

  • About 330 EditMode tests
  • Five chapters from forest clearing to summit
  • CC0 and OFL assets only

Stack Unity 6, URP, Blender (headless), MCP for Unity

Sri Lankan 3D games (Sellam, Streets, board games) An iOS set of seven 3D games, a browser open-world game and playable 3D board games built around Sri Lankan themes. Live and TestFlight

Problem. Cultural games lacked polished, playable 3D versions.

  1. Player picks game
  2. Rules engine
  3. 3D scene
  4. Score or mission result
  • Board rules ported from the web build to the native one
  • Everything procedural, with all audio synthesized

System parts

  • Sellam iOS app (7 games)
  • Open-world browser game
  • 3D board-game site
  • Studio page

In operation

  • Seven games in the iOS set; builds on TestFlight from
  • Open world: 14 towns, 10 vehicle types, seven-mission story
  • A Playwright runner completes all seven missions as the regression test

Stack SwiftUI, RealityKit, three.js, WebAudio

Client website pipeline Fast, accessible client sites built from a shared static build with a launch gate that fails on unconfirmed facts, covering GuideForNurse, RevRepute, Revlun and 1-LK. Live and in progress

Problem. Small clients need quick, accessible, search-ready sites that never publish unverified facts.

  1. Client facts gathered
  2. Partials build
  3. Launch gate checks
  4. ship-check runs
  5. Site goes live
  • Unconfirmed facts are flagged and cannot ship
  • Case-study metrics come only from a measured metrics file

System parts

  • Static-site starter
  • Launch gate
  • ship-check
  • Four showcased client sites

In operation

  • Sign-off for showcase is confirmed in the vault for GuideForNurse, RevRepute, Revlun and 1-LK
  • Build fails on broken links, low contrast, inline scripts and em dashes
  • Pre-launch site stays noindex until a recorded sign-off flag flips

Stack Python build scripts, Static HTML, Vercel, Playwright, axe-core

Point It Here (agency site and client portal) Marketing site, brief questionnaire and client portal for a small-business web and software shop, with 38 landing pages in five languages. Live

Problem. Win and serve small-business clients with one site and portal.

  1. Visitor finds page
  2. Localized landing page
  3. Brief or lead form
  4. Portal work log
  • A page-generator check fails if generated pages drift
  • Mobile app talks to the same server actions through a bearer API

System parts

  • Marketing site
  • 38 landing pages
  • Client portal
  • Brief questionnaire
  • Expo mobile app
  • 42-design concept gallery

In operation

  • 111 commits; 56 tests
  • Five languages, including right-to-left Arabic
  • One daily scheduled job; CI proves migrations apply from scratch

Stack Next.js 15, React 19, Neon, Vercel Blob, Expo, Python generators

What I build with

All 114 technologies across the 54 platforms. The number is how many platforms use each one.

Models and serving

  • Claude / Anthropic SDK 3
  • Perplexity 3
  • Gemini 2
  • Open WebUI 2
  • Qwen3 2
  • TEI embeddings 2
  • vLLM 2
  • AWS Bedrock GovCloud 1
  • bge-small embeddings 1
  • IBM Granite 1
  • mlx-lm 1
  • Ollama 1

Agents and retrieval

  • MCP 6
  • Claude Code 2
  • LangGraph 2
  • pgvector 2
  • SQLite FTS5 2
  • BM25 1
  • Hermes Agent 1
  • MiniSearch 1
  • Pydantic AI 1
  • sqlite-vec 1
  • TF-IDF 1

Languages

  • Python 13
  • TypeScript 9
  • Kotlin 7
  • JavaScript 3
  • Swift 3
  • GDScript 1
  • Solidity 1

Web and app frameworks

  • Next.js 15
  • React 8
  • SwiftUI 8
  • Expo / React Native 7
  • Vite 7
  • FastAPI 5
  • Node.js / Express 3
  • Fastify 2
  • Jetpack Compose 2
  • Astro 1
  • Capacitor 1
  • NestJS 1
  • pydantic 1
  • shadcn/ui 1
  • SSE 1
  • Tailwind 1
  • TanStack Start 1
  • Tauri 1
  • VS Code extension 1

Data and queues

  • Neon 10
  • PostgreSQL 7
  • Supabase 7
  • SQLite 5
  • Drizzle 3
  • PostGIS 2
  • Prisma 2
  • BullMQ 1
  • Convex 1
  • IndexedDB / Dexie 1
  • NATS 1
  • pg-boss 1
  • Room 1
  • Timescale 1
  • WorkManager 1

Infrastructure

  • Vercel 8
  • pnpm / Turborepo 5
  • Docker 4
  • Vercel Blob 4
  • Caddy 2
  • GitHub Actions 2
  • nginx 2
  • Cloudflare Tunnel 1
  • Docker Compose 1
  • Fly.io 1
  • GitHub Pages 1
  • k3s 1
  • mTLS 1

Payments, auth and messaging

  • Stripe 5
  • Better Auth 3
  • Resend 2
  • Stripe Terminal 2
  • Twilio 2
  • APNs 1
  • Plaid 1
  • Square 1
  • Stripe Connect 1
  • Supabase Auth 1
  • Telegram Bot API 1
  • WebSockets 1

Testing and quality

  • Playwright 3
  • axe-core 2
  • Lighthouse 1

3D, games and media

  • three.js 5
  • Blender 2
  • Godot 2
  • RealityKit 2
  • Unity 2
  • WebAudio 2
  • Cesium 1
  • laspy 1
  • React Three Fiber 1
  • SceneKit 1
  • TSL shaders 1
  • URP 1

Documents, data tools and web3

  • jsPDF 2
  • BeautifulSoup 1
  • docx 1
  • Hardhat 1
  • httpx 1
  • numpy 1
  • openpyxl 1
  • react-pdf 1
  • Uniswap v4 1
  • viem 1

About

I'm based in Wichita, Kansas. I graduated from Wichita State University with a B.S. in mechanical engineering (cum laude, 2021, minor in mathematics), and I'm now studying management information systems there. Engineering school taught me the habit I still work by: draw the whole system before building any part of it.

Most of my work starts with a small business, a school or a regulated team that wants to use AI but can't afford for it to be wrong. My job is to find where the model helps, fence it in with code, and leave the final call with a person.

What I believe about systems

  • Build systems, not standalone products.
  • Keep a person in the loop for decisions that matter.
  • Design AI with emotional intelligence, for the people who use it.
  • Use modular infrastructure that scales.

Ventures I've started

  • Maison TergaDo group holding site
  • SigmaClava research house
  • My Agent Self
  • Evoterran
  • Sig X Tech
  • LetsEatHere
  • CraftForUs

Experience

  1. 4SSI

    • Co-founder and multi-agent systems architect2025 to 2026

    Co-founded a situational-intelligence platform that coordinates more than 1,700 AI agents inside human-governed workflows, with hard safety and operating limits.

  2. Certix

    • Systems strategy and innovation lead2025 to 2026

    Designed learning models and strategy that line up curriculum, technology and what employers need, then turned them into working operations.

  3. Cilumas

    • Co-founder and behavioral systems designer2025 to 2026

    Built a mental-reset platform for high-stress workplaces and took it from an internal tool to a public product.

  4. Smart Valley UAE

    • AI and systems strategy consultant2024 to 2026

    Designed frameworks for bringing AI and automation into business operations, across several regions and industries.

  5. NOX Foundation

    • Director of systems strategy and development2024 to 2026

    Led teams building education systems that connect curriculum, technology and job-ready skills.

  6. AidePersona

    • Founder and AI systems architect2024 to 2026

    Founded a personal-AI company built around user control: assistants that learn preferences while the person stays in charge.

  7. Maison TergaDo

    • Founder2026 to now
    • Founder and AI and systems architect2021 to 2026

    Spent five years designing the architecture, products and standards behind the company, from AI assistants and multi-agent systems to APIs, security and deployment. Now a non-operating founder while the team runs it.

  8. BotCalm

    • Technical strategy and systems architect2024 to 2026
    • Strategic systems and operations lead2021 to 2024

    Architected enterprise AI and automation systems and a high-throughput distributed infrastructure, after shaping the company's early strategy and operations.

Hiring a solutions architect? Let's talk.

I'm looking for solutions architect, AI solutions architect, solutions engineer and forward-deployed engineer roles. Email is quickest.

shane@tergado.com