← Back to Home

The tools I build to make media work repeatable.

Production pipelines, active web builds, and side experiments. I use Remotion for programmatic video, Playwright for e2e validation, Zod for schema-enforced data flow, and Next.js for architecture builds.

Media Production

Production Pipelines

Remotion / React / Zod / GSAP

Genera Reels

Turned a manual, isolated reel-editing process into a company-wide programmatic pipeline. Anyone can instantly generate localized, branded reels without opening Premiere Pro — driven by a Zod schema data-flow with typed render contracts at every stage.

Genera Reels: campaign builder interface with project selection, media upload, copy fields, and reel type controls

Remotion / TypeScript / React

High Functioning Graphics

A Remotion + Lottie engine that generates transparent, broadcast-quality lower-thirds, chapter cards, fact callouts, and CTAs for podcast guests — rendered per guest from structured episode data. Replaces per-episode After Effects render queues with render-ready output from a data input.

A broadcast lower-third overlay rendered by the High Functioning Graphics engine, floating over a podcast set with a cyan accent bar and placeholder name and role

Tauri 2 / Rust / React / TypeScript

HF Prompt Foundry

A native desktop app that turns a raw episode transcript into clip-ready prompts through a structured 7-step workflow — transcript import, analysis, prompt build, review, export. Tauri 2 shell, React + Zustand UI, ported from a working Python build.

HF Prompt Foundry concept cover: a five-step workflow from Transcript to Export with the Prompt step active, and a seven-dot progress rail

Next.js / Remotion / TypeScript

Fastlisting

A Next.js and Remotion integration that takes real estate photo arrays and automatically renders them into dynamic, motion-graphics video tours ready for MLS listings and social distribution. Reduces listing media turnaround from hours to minutes.

Remotion composition schema for Fastlisting automated real estate video tour pipeline

React / Remotion / Zod

Dehumidifier Ad Engine

A React utility and Remotion pipeline that calculates environmental inputs (sq ft, dampness level, basement temperature) and automatically renders targeted product video ads for the user's specific conditions. Input flows through a typed Zod schema into the render composition.

Calc My Dehumidifier brand mark — the product identity for the automated ad engine
Web Architecture

Web Builds

Next.js 14 / Tailwind / TypeScript

BAS Web Starter

Full site rebuild for an FAA-licensed drone photography and real estate media company based in Peabody, MA. Structured for fast iteration with Next.js 14 server components, Tailwind CSS, and TypeScript — featuring a video showreel, modular portfolio gallery, and optimized asset delivery.

Architecture pipeline and project planning diagram for BAS Web Starter

React / Vite / PostHog

Deposit Letter

Client-side utility for landlords to generate itemized security deposit deduction letters. Dynamic line items, live calculation totals, and browser-native print-to-PDF — fully client-side with no server dependency. Live at depositletter.com.

JavaScript: buildLetter function summing deposit deductions, computing the refund due, and exporting through the browser print engine

Client Site · Family Business

Britten Woodworking

Site for my dad's hand-crafted woodworking business in Massachusetts — plus the short-form social video below, produced from a JSON-driven Remotion reel engine (vertical + square templates). A real client engagement, designed around the product and the contact path.

Logic & Utilities

Utilities

React / Algorithms / Regex

Keep7 — MTG Probability Simulator

Opening-hand math is annoying to do by feel. This client-side math lab runs combinatorial analysis so players can stress-test deck consistency in seconds instead of guessing their odds.

TypeScript: normalizeCards parser splitting MTG deck list text into typed Card objects

React / Reducers / State Machines

Blackjack State Machine

A reducer-driven game engine that models turn flow, bets, splits, and outcome resolution without state drift or hidden transitions. Built to enforce explicit state rules and eliminate edge-case bugs common in imperative game logic.

TypeScript gameReducer: PLAYER_HIT case with state guard and bust detection

React / Zod

Dehumidifier Sizing Calculator

Environmental input calculator that takes square footage, dampness level, basement temperature, and drainage setup to determine the correct dehumidifier capacity. Zod-validated inputs with instant output.

Calc My Dehumidifier: square footage, moisture level, basement temperature, and drainage setup input interface

Need someone to build the tooling around your media work?