Joseph Leporati

01 / 15 · Introduction

joseph@venabledove.comEmail

Joseph Leporati

Monroe, Louisiana

Full-stack engineer and technical program manager.

Software that holds up under real money, real time clocks and real crowds.

A pulse line drawn by a single beam of light.

Sixteen years building and running production software, most of it at Plondo Network: direct-sales platforms for 500K+ users, a live gameshow for 20K+ concurrent players, and payroll for 10K+ clients. Recently: five iPhone games, a Hue app on seven Apple surfaces, and a camera-based heart-rate SDK.

Email:

Selected work ↓

02 · Live on the App Store

VenableDove Games

Small games. Made all the way through.

A one-person iPhone studio. I opened it on June 29, 2026, and twenty-three days later it held seven games. Five of them are live on the App Store.

A Skyburst firework shell, drawn live. Click it to burst it early, the way the game plays.
  • 578 campaign levels
  • 808 tests
  • 6 languages on day one
  • 0 audio files
  • 341 commits

Every game splits into a pure, fully tested Swift engine and a thin SwiftUI and SpriteKit shell. Every one goes through the same pipeline: spec, test-driven core, shell, meta, services, scripted store capture, a TestFlight hard stop, and my sign-off. AI agents write much of the code under adversarial review, and the playbook tells them to check every agent claim against ground truth.

Determinism is the house discipline. Seeded randomness and a fixed 60 Hz timestep make each daily challenge identical worldwide and let recorded inputs replay exactly. All art is procedural and all audio is synthesized at runtime, so no game ships a single audio file.

The ad rules respect the player: no ads during play, no banners, no tracking prompt at launch, Remove Ads from day one, rewarded ads only when you ask, and never an ad after a daily challenge.

  • Emberline app icon

    Emberline: Block Puzzle

    8×8 block puzzle

    Clears catch fire. Fire spreads.

    Every cleared line seeds embers. Clear through one and its whole cross-line detonates, and the blasts cascade. Chain enough and the Inferno clears the board.

  • Doodlefort app icon

    Doodlefort: Castle Defense

    Real-time castle defense

    Grab. Fling. Splat. Hold the fort.

    You are the kid’s giant finger. Fling crayon invaders skyward and let gravity turn them into pencil shavings. No blood, ever.

  • Skyburst app icon

    Skyburst: Firework Duels

    Turn-based artillery

    Tap mid-flight to burst the shell.

    Six shells against a seeded wind, and online play with no server: phones swap only their inputs and replay them to identical boards.

  • Stillform app icon

    Stillform: Hue Bloom

    Calm color puzzle

    A gradient waiting to bloom.

    Swap tiles until the color flows edge to edge. 128 levels, no timer.

  • Tanglelight app icon

    Tanglelight

    Untangle logic puzzle

    Drag glowing pins until every crossing clears.

    48 knots, and every one is solvable by construction.

  • Flockaway

    One-thumb puzzle COMING SOON

    Tap a bird whose lane is clear.

    Its first design law: your first successful tap lands within five seconds of first launch.

From the games

Doodlefort: crayon stick-figure invaders approach a pencil-drawn castle on ruled notebook paper.
Doodlefort: Castle Defense
Skyburst: a crystal mortar aims across a night sky; the wind reads 2.3 east; six shell types below.
Skyburst: Firework Duels
Emberline: an 8×8 board with a full orange line and glowing embers; the Inferno meter reads Inferno ready.
Emberline: Block Puzzle
Stillform: a 4×4 grid of color tiles in blues, teals, violets and pinks, one move in.
Stillform: Hue Bloom
Tanglelight: yellow pins joined by red crossing threads and one clear cyan thread; ten crossings, par seven.
Tanglelight

03 · Live on iOS · Mac, tvOS and visionOS in resubmission

Command for Philips Hue

One Swift codebase, seven Apple surfaces, first written by seven agents at once.

One beam splits into seven and draws the CIE 1931 chromaticity diagram, the color space the Scene Creator answers in. Each point is one surface.

“Built by 7 parallel agents writing code simultaneously.”

  • 1 codebase
  • 450+ commits
  • 349 in the first month
  • ~44K lines of Swift
  • 101 tests
  • ~25 Hz light stream

The first real commit added 60 Swift files, 5,074 lines and 68 passing tests. It grew into a paid App Store app that runs on iPhone, iPad, Mac, Apple TV, Vision Pro, Apple Watch and widgets, and talks straight to the Hue Bridge over your local network.

  • AI Scene Creator. Describe a mood and Apple’s on-device model answers in CIE xy colors, brightness and motion. Nothing goes to the cloud.
  • Music-reactive lighting. Five-band beat detection streams light over DTLS at about 25 frames a second. Replace the $300 Sync Box with just your iPhone.
  • A real Mac app. A harsh App Store review called the first Mac version a cramped menu-bar port, so I rebuilt it as a proper window app, then audited all of tvOS for the Siri Remote.

Command is an independent app that works with Philips Hue. Philips Hue is a trademark of its owner; no affiliation is implied.

04 · Analysis engine in production · Client confidential

Pulse from pixels

Heart rate, breathing and stress from a phone camera. Wellness readings, not medical ones, and not one image leaves the phone.

A 30-second face scan becomes three averaged color numbers per frame: 6 to 15 KB for the whole scan, and no image ever leaves the phone.

66 bpm · confidence high · signal quality 0.94

Three color channels become one pulse. Press Simulate motion to see the engine withhold a reading it can’t stand behind, then recover. Synthesized in your browser; not a measurement.
  • 0.7 ms CPU per scan
  • 6–15 KB per scan
  • 3 numbers per frame
  • 0 images
  • 335 tests in 3 languages
  • 19 golden traces gate CI
  • 8 scan types

I wrote about 8,500 lines of research first, across nine documents and more than fifty papers. Then I built the pipeline into a health-and-wellness client’s app, a local-first wellness app, and finally an SDK for other apps. Native Swift, Kotlin and React Native code handles capture; an edge engine does the signal processing in about 0.7 ms of CPU.

Accuracy safeguards

  • The engine withholds any number it can’t stand behind. In the SDK’s design system, amber means the engine correctly refused to guess.
  • A result’s confidence can never exceed the quality of the signal it came from.
  • Nineteen golden traces gate CI. If any output number moves, the build fails unless the engine version is bumped.
  • Tests fill padding bytes with poison values to prove the sampler never reads them.
  • Skin-tone fairness is built in: channel weights shift toward red for darker skin, where melanin absorbs green.
  • More in Lessons from production.

05 · In production since 2012 · Client confidential

Direct-sales and commission platforms

Fourteen years of the commission engines behind 500K+ users. Kept alive in production, then rebuilt from scratch.

Commissions flowing up a genealogy tree, the way my AWS Stack Visualizer shows live traffic.
  • 500K+ users on the direct-sales platforms I’ve designed and run since 2012
  • 99.9% uptime on revenue-critical systems that pay out real commissions
  • faster at p90 after I tracked down and ended a production outage, then led the performance fixes that followed
  • of dashboard abandons eliminated, from 449 every six hours to zero
  • 30 days to rebuild the back office as a serverless, white-label, multi-tenant platform: 1,000+ commits
  • 1,595 tests in the first 11 days of a new multi-tenant commerce and commission platform

Since 2012 I’ve run the back office that tracks sales, genealogy trees and payouts for a family of direct-sales brands. When a production outage pinned response times at 11 seconds, I traced the root cause and ended it, then led the performance work that cut p90 latency by 47%, brought worst-case responses under 6 seconds, eliminated dashboard abandons and identified $1,400 to $2,100 a month in infrastructure savings. I also put a priority-queued Lambda and SQS layer in front of the webhooks.

In 2026 I led two ground-up rebuilds with Claude as co-engineer: a serverless, white-label, multi-tenant back office (1,000+ commits in 30 days) and a multi-tenant commerce and commission platform (430+ commits and 1,595 tests in 11 days).

  • Money is integer cents or NUMERIC strings, never floats, in an append-only double-entry ledger.
  • Golden-master tests keep commission output byte-identical.
  • Tenant isolation is proven, not assumed. A probe showed that search_path doesn’t isolate tenants, so the design moved to a Postgres role per tenant with SET LOCAL ROLE in every transaction.
  • Comp plans are pluggable: unilevel, binary, forced matrix, matching, generation, pool share and fast-start.
  • A demo run: 2,000 members, 7,214 commissions.

06 · Production pilot · Client confidential

Citation-first AI for city government

AI that drafts city agendas from a city’s own records, and cites every claim.

Lead engineer and top contributor, working alongside the founder, since August 2026.

A claim traced back through its citation chain. Select any link to break it: a claim without a complete chain is never shown.
  • 500+ commits since August 12
  • 1,401 backend tests at handoff
  • 18 + 11 punch-list items shipped

The product prepares agendas, staff reports and council packets for cities, counties and boards, and every AI claim traces back to a page of a real document. I audited the infrastructure and rebuilt it in a new AWS account with Terraform and gated deploys, built the staff admin portal on its own trust boundary with an audited view-as, fixed ingestion and retrieval, and shipped a pilot customer’s full punch list to production: 18 Tier 1 and 11 Tier 2 items.

  • Hybrid retrieval: BM25 and vector search, fused with Reciprocal Rank Fusion and reranked to the top five.
  • Every result carries a citation chain (chunk, document, page, meeting, body), a High, Medium or Low confidence, and a verification pass.
  • Documents are chunked by agenda item, not by token window. Scans below 0.85 OCR confidence go to a human.
  • It ships an MCP server and a CLI.

07 · Web live · Coming to the App Store

In The Book Club

A social reading app for iPhone, web and an edge API, from a blank repo to App Store submission in a month.

“Sell insight and personalisation. Never sell access.”

Twelve spines; one comes off the shelf.
  • 727 commits in 30 days
  • 121 in one day
  • ~86K lines of TypeScript
  • 559 + 776 API and mobile tests
  • 43 D1 migrations
  • 22 design specs

Shelves, goals, reviews, clubs, buddy reads, a yearly Wrapped and encrypted direct messages, at parity across app, web and API, running entirely on Cloudflare. A Paper & Spotlight redesign collapsed seven themes into one editorial base.

  • DMs are encrypted at rest. A moderator sees a message only when it’s reported, every access is audit-logged, and a missing key makes the send fail loudly, so plaintext is never stored.
  • Photograph a shelf and Claude vision finds the books, under a quota so heavy use can never cost more than a subscription earns.
  • Goodreads import is free, on purpose: it’s the biggest lever for winning readers.
  • The site is readable by AI agents: llms.txt, /agents.md and markdown content negotiation.

08 · How I work

Running AI agents like an engineering org.

About 48% of my 8,492 commits are co-authored with Claude, delivered through specs, written ledgers, adversarial review and a human gate before production.

The agent org: work flows up through review and waits at the approval gate. Approve a release to ship it to production.
  • 12 agent roles
  • 4,059 co-authored commits
  • 3,688 subagent transcripts in six weeks
  • ~669 subagents from one session
  • 80 / 52 / 28 Kotlin files, tests and commits in one day

For Command I ran development as an agent organization with twelve roles. A lead agent only delegates; an engineering lead manages engineer, reviewer, QA, release and designer agents, and a marketing lead manages social and support. New roles and every release need my approval.

The Android port ran as subagent-driven development. A controller agent kept a written ledger, dispatched implementers into parallel git worktrees, sent every task through spec and quality review, and predicted a merge conflict before it happened: 80 Kotlin files, 52 tests and 28 commits in one day.

  • Agents hand each other INTERFACE FACTS (downstream must use these).
  • A reviewer agent re-derived the NOAA sunrise formula and matched the test to the second.
  • Every agent claim is checked against ground truth before it counts as done.

The pattern I wrote for Plondo

  1. Issue
  2. @claude
  3. branch
  4. CI
  5. preview
  6. human gate
  7. production

Only a human merges to production.

09 · Other builds

Other builds.

Shipped, in development, or in research.

onemilllionpixels

BUILT · NOT LAUNCHED

The Million Dollar Homepage, rebuilt on the edge in one day.

A million pixels in 5×5 blocks: $25 minimum, $1 a pixel, $1,000,000 for the page. One database row per block, so nothing can be sold twice: the database decides, not application code. Moderation fails closed.

  • 7 commits
  • 105 tests
  • 40,000 blocks

Hometown hockey ticketing

IN DEVELOPMENT

Multi-tenant ticketing for a minor-league hockey club: seat maps, wallets, gate scanners and resale.

Entry codes are short-lived Ed25519 signatures that admit exactly once. Weaken the tenant guard and exactly four negative-control tests must fail. Adding a second club means adding a row.

  • 39 ADRs in five days
  • 7 apps and 9 packages
  • 112 test files

Seat arcs drawn by the beam. Each ticket admits exactly once.

Plondex

LIVE

Geofenced time clocks with face matching. No more buddy punching.

Clock in on your phone inside a geofence, with a photo matched to your base image; walk out of the fence and you’re clocked out. In production since 2019.

  • ~750 + 150 commits
  • 2019 since
  • ~53K lines of JavaScript

Bluetooth interoperability research

R&D

Reverse-engineered a low-cost health band’s Bluetooth protocol.

Research on devices I own. After authenticating with the band’s default password, I mapped 13 features from its command set and decoded six live vitals, validated against an Apple Watch. Documented opcodes only, no fuzzing, and the firmware was left untouched.

  • 13 features
  • 6 vitals
  • 9 tools
An authentication packet written in seven-segment strokes.

Mari

PROTOTYPE

A 2D character sheet turned into a rigged 3D hero, entirely on a MacBook GPU.

Local image-to-3D on Apple Silicon, then a 1,155-line headless Blender script that decimates, rigs, skins, adds facial shapes and animates. Known limitation: the generator fused the arms to the apron, so the animations keep them close to the body.

  • 40,216 triangles
  • 21 joints
  • 8 morph targets
  • 4 clips

10 · Commit history

8,492 commits since 2019.

Every day I committed, December 2019 to September 2026. Drag across the chart, or focus it and use the arrow keys.

BEFORE 2019 PARTIAL RECORD

2026-08-05 · 178 COMMITS · PEAK DAY

Each stroke is one day. 717 active days of 2,487. Heights use a square-root scale so quiet years stay visible; the time axis is split into four spans.
  1. : Founded CheapOh! Network, a penny-auction platform with real-time bidding and payments: 25K+ registered users.
  2. : Joined Plondo Network as Full Stack Developer / Technical Program Manager. Still there.
  3. : Created the VenableDove organization.
  4. : Plondex, the earliest project in this record.
  5. : White-label venue apps begin, later shipped to both stores.
  6. : newPlondex, the second generation.
  7. : Took over production operations of a legacy direct-sales back office and dockerized it.
  8. : A route optimizer with a genetic algorithm, 88 commits in nine days.
  9. : The longest streak, 26 days.
  10. : The camera vital-signs engine begins.
  11. : A book-club podcast platform with a browser studio, 53 commits in three days.
  12. : Command for Philips Hue, first built by seven parallel agents.
  13. : The back-office rebuild, 1,000+ commits in 30 days.
  14. : VenableDove Games founded.
  15. : Five games live on the App Store.
  16. : The busiest day, 178 commits.
  17. : The busiest month, 1,394 commits: In The Book Club, civic AI from August 12, and onemilllionpixels on August 23.
  18. : Hometown hockey ticketing, 39 ADRs in five days.

11 · By the numbers

By the numbers.

Hover a figure to see it on the commit record.

The full commit record, 2019 to 2026.
  • shipping production software, 14+ of them at Plondo Network
  • users on direct-sales platforms I designed and run, at 99.9% uptime
  • concurrent players on a live gameshow platform I built
  • clients running payroll and time & attendance on software I built
  • commits across 30 repositories, 5,760 of them in 2026
  • co-authored with Claude: 4,059 commits, all from 2025 and 2026
  • commits in one day, August 5, 2026
  • the longest streak, October 20 – November 14, 2025
  • iPhone games built; 5 live, 578 levels, 808 tests
  • faster p90 latency on a production platform, with dashboard abandons eliminated entirely
  • of CPU to turn a 30-second camera scan into heart rate, breathing and stress, from just 6–15 KB of data
  • lines of tracked code I work in, vendored and generated code excluded

Tracked lines by language, approximate: TypeScript ~1.67M · Python ~164K · JavaScript ~143K · SQL ~120K · Swift ~118K · PHP ~48K · Kotlin ~7.7K.

Also: 717 active days, 56 GitHub Actions workflows, 22 Wrangler configs, 47 Terraform files and 19 app bundle IDs.

12 · Lessons from production

Lessons from production.

What broke, what caused it, and what changed as a result.

Lessons from production: issue, cause and change
IssueCauseChange
The heart-rate engine reported exactly double.A frozen camera clock.Frames with frozen timestamps are now rejected by name.
A pulse that correlated 0.067 with a chest strap.An iOS fallback faked color from brightness, so the engine was measuring floating-point rounding noise.Found, explained and fixed.
Hand-typed test fixtures drifted: 240 × 0.12 = 28.799999999999997.IEEE 754 floating point.Fixtures are generated, never hand-typed, and Swift and Kotlin assert them exactly.
A game rule shipped with no effect.The test suite showed it was behaviorally inert.Rewritten on day three.
A test harness that could not fail.Tests that could pass no matter what.Negative controls: weaken the rule and exactly four tests must fail.
An App Store reviewer called the Mac app a cramped menu-bar port.It was a port, not a Mac app.Rebuilt as a real window app, then audited all of tvOS for the Siri Remote.
A 401 storm in production.Traced live from wrangler tail.Fixed, then encoded as a permanent invariant with tests.
AI agents reported unfinished work as done.Accepting agent reports without verification.Every agent claim is checked against ground truth.

13 · Tools and experiments

Tools and experiments.

Smaller builds, tools and experiments.

Tools and experiments: what each one is and what it is built with
NameWhat it isBuilt with
FloatyA MacBook notch companion that signals when a Claude Code session needs attention.Swift, AppKit, local LLM, Claude Code hooks
AIMemoryFully local long-term memory and a code graph, injected into every Claude Code session.Python, MCP, Qdrant, Neo4j, tree-sitter
AI Project MapA knowledge graph of 26 projects, 1,247 nodes and 7,418 edges, that agents consult before cross-project edits.Python, SQLite, hand-rolled force layout
PlondoLLMA 12-module course I wrote for myself, from derivatives to a GPT trained from scratch on my Mac.Python, PyTorch (MPS), Jupyter
FunnelBotChat your way to a published, lead-capturing landing funnel. 226 commits in 10 days.TanStack Start, Claude tool use, SSE
Studio CommandMission control for a portfolio of indie games, with a live event feed.FastAPI, DuckDB, Streamlit, Docker
VDGKit and the Game Center provisionerA shared game SDK with protocol-plus-Noop services, and a 1,082-line Ruby tool that provisions achievements through the App Store Connect API.Swift, Ruby, Fastlane
venabledove.gamesA storefront that tests its own content contract and shows only real screenshots.Static HTML, Cloudflare Pages, Playwright
AWS Stack VisualizerA live canvas where packets move between production resources in proportion to real traffic.Canvas, CloudWatch
Perf-audit LambdaWrites p50 to p99 latency reports every six hours.Python, CloudWatch Logs Insights
Thirteen ways to build the hub13 complete site directions for a Monroe health-food store founded in 1976, in one day.HTML, CSS, Cloudflare Pages
Browser podcast studioA recording studio in a browser tab for a book-club podcast: live mic meter, takes, transcripts and chapters.Cloudflare Stream WebRTC, Workers AI
Route optimizerGarbage-truck routing by genetic algorithm and simulated annealing, written in PHP.PHP 8, CodeIgniter 4
Edge strangler gatewayAn edge CMS that owns a few endpoints of a legacy API and proxies the other 100+.Hono, Cloudflare D1, R2, KV
Prala platform infraInfra, deploy and edge owner on a team-built product, including a share-link edge worker targeting under 80 ms at P95.Supabase, Cloudflare Workers, GitHub Actions
rPPG research compendium8,500 lines and 50+ papers on reading vitals from a camera, written before any code.Research, DSP

14 · Experience

Experience.

Roles

  • Plondo Network · Full Stack Developer / Technical Program Manager · March 2012 – present

    • Direct-sales software for 500K+ users at 99.9% uptime.
    • A live gameshow platform for 20K+ concurrent users.
    • Payroll and time & attendance for 10K+ clients.
    • Led React Native mobile. Mentored 4–5 PMs and developers. Cut production defects 25% and raised sprint velocity 30% over 12 months.
  • Civic AI company (client confidential) · Lead engineer and top contributor, working alongside the founder · August 2026 – present

  • VenableDove Games · Founder and sole developer · June 2026 – present

  • CheapOh! Network · Founder · 2010 – 2012

    Real-time penny auctions; 25K+ registered users.

Education

  • Louisiana Delta Community College · AAS, Business & IT
  • University of Louisiana at Monroe · Two semesters of Computer Science

Capabilities

  1. Native Apple, out to the edges. Swift 6, SwiftUI, SpriteKit, GameKit, StoreKit 2, WidgetKit, App Intents, visionOS, tvOS, on-device Foundation Models, Network.framework DTLS.
  2. Cross-platform mobile at release cadence. React Native and Expo, EAS Build and OTA, Fastlane, Kotlin and Jetpack Compose, App Review negotiation.
  3. Edge-first cloud. Cloudflare Workers, D1, R2, Durable Objects and Queues; AWS CDK, Lambda, ECS Fargate and SQS; Terraform; GitHub Actions with OIDC and no long-lived keys.
  4. Money-critical, multi-tenant backends. Double-entry ledgers, integer-cent math, idempotency keys, Postgres RLS and role-per-tenant isolation, commission engines, Stripe Connect payouts.
  5. Applied AI engineering. Hybrid retrieval with citations and confidence, tool use and forced structured output, vision moderation that fails closed, MCP servers, local LLMs, and a GPT built from scratch.
  6. AI-orchestrated delivery. Parallel agents, subagent development in git worktrees, adversarial review, guardrail scripts and handoff docs.
  7. Signal processing and hardware. rPPG, Butterworth and FFT, HRV, CIE-Lab color science, BLE GATT reverse engineering, DTLS light streaming.
  8. Game systems and procedural content. Deterministic fixed-step simulation, seeded generators solvable by construction, runtime-synthesized audio.
  9. Technical program management. Specs, ADRs (39 in one repository), runbooks, and incident reports with before-and-after numbers; mentored 4–5 PMs and developers.
  10. Product, monetization and launch. Pricing geometry, quota-versus-revenue reasoning, player-respecting ad rules, ASO in 8–9 locales, store asset pipelines.

Stack

PHP, JavaScript, TypeScript, Swift, Kotlin, React, React Native, MySQL, Postgres, MongoDB, NGINX, AWS, Azure, Git.

Interests: Indie game development, scalable architecture, mobile apps, AI tools.

15 · Contact

Contact.

Write an email

Based in Monroe, Louisiana. Central Time.

Index