Projects
Things I've built.

A mix of shipped products, working prototypes, and ideas I'm still chasing. Mostly around construction and operations.

Problem

Executives had no real-time view of the portfolio, and PMs lost days each month stitching reports together from systems that don't talk to each other.

Solution

Pulls project and org data from SharePoint, Acumatica CRM, and Dayforce into one place, with drill-down dashboards and a PM module for monthly health checks, cost forecasting, and EVM.

Tech Stack

GeminiClaudeNext.jsAmazon RDSAcumatica

Status

Live with internal teams. Runs the monthly project health checks, cost forecasting, and earned value reporting it was built for.

Opendoor FinOps AI Agents — finance automation dashboard

Problem

Finance teams burn hours every close on the same repetitive work: coding transactions, matching invoices, explaining variances, and answering the same policy questions.

Solution

Four agents split the busywork. A classifier codes journal entries against a 57-account chart, a reconciliation agent matches bank to GL and runs three-way invoice matches, a flux agent writes variance narratives, and a policy agent answers finance questions over live data.

Tech Stack

ClaudeFastAPINext.jsTypeScriptAgentic Workflows

Problem

Coding agents stall on ambiguous tickets, so people end up babysitting them instead of doing real work.

Solution

A daemon that refines Linear tickets by asking clarifying questions, dispatches work across Claude Code, Codex, and Gemini, and escalates only when it's genuinely stuck. It tracks cost per ticket, runs an automated PR self-review loop, and ships a Next.js dashboard for observability. Because refined tickets and plans live in Linear, executives get one place to query for project context.

Tech Stack

TypeScriptNode 20InkLinear SDKAnthropic SDKSQLiteNext.js

Status

In active development.

Opendoor Help Center — search and AI assistant

Problem

Support docs are easy to write and hard to navigate. People give up before they find the answer.

Solution

A help center built on Opendoor's design system: searchable articles, guided multi-step flows for common tasks, and a build-journey page that documents the design and engineering decisions behind it.

Tech Stack

Next.jsTypeScriptTailwind CSSDesign System

Problem

Crowdfunding leaves out people who can give time and skills but not cash, and coordinating volunteers by hand is messy.

Solution

Campaigns raise volunteer hours instead of dollars, with skill matching, hour goals, approvals, search and filters, and OAuth login.

Tech Stack

Next.js 15SupabaseTypeScriptTailwind CSSClaude AI
Cloud Computing Case Study — GenAI interaction log

Problem

AI can do real coursework, but most of the time you can't see how it got there, which makes accountability and academic integrity hard to defend.

Solution

A team of specialized AI agents that logs every interaction and ties each piece of work to evidence and a git commit, backed by a defined methodology and an ethics ledger.

Tech Stack

Custom AI AgentsClaudeCursorGoogle Cloud

Status

Finished the course with an A+. The agents and logging framework are built and operational, with commit-level traceability throughout.

Arabic Video Script Generator — extension UI on YouTube

Problem

Turning several English videos into an Egyptian Arabic script takes hours of research, synthesis, dialect translation, and formatting.

Solution

Queue videos right on YouTube, pull their transcripts, synthesize across five to ten sources, and generate a 10 to 12 minute Egyptian Arabic script straight into a formatted Google Doc, with metadata logged to Notion.

Tech Stack

GeminiClaudeGoogle Docs APINotion APIChrome Extension

Status

Works end to end, from collecting videos to the finished Google Doc. Cuts script writing from three or four hours down to a couple of minutes.

Problem

Putting out consistent AI content in Egyptian Arabic eats time: tracking trends, scripting, translating, and keeping the pipeline running.

Solution

Zero-infrastructure automation that watches AI sources and creators, scores story ideas with Gemini, writes scripts in English, then localizes them to Egyptian Arabic in RTL Google Docs. Orchestrated with GitHub Actions and managed through Notion.

Tech Stack

Gemini AIGitHub ActionsNotion APIYouTube Data APIGoogle Docs API

Status

Fully running, from trend scouting to script writing to Arabic localization. On a schedule, aiming for two to three videos a week within free-tier limits.

Home Builder Estimating Assistant — data flow diagram

Problem

Builders lose leads because estimates take too long, and accuracy swings with whoever is doing them and how busy they are.

Solution

Reads existing Excel templates and historical job costs, pulls in nearby comp data, and uses an LLM with a RAG layer to draft an estimate with line items and assumptions to review.

Tech Stack

RAGGeminiClaudeSupabaseWeb ScrapingExcel Automation

Status

Prototype in progress with mocked cost history and template ingestion.

Home Owner Client Dashboard — concept wireframe

Problem

Homeowners keep asking for updates, and builders waste time repeating themselves and scattering photos across texts and email.

Solution

A simple client portal where builders post milestones, schedule changes, and photos, while costs sync in from Sage Construction Management.

Tech Stack

Next.jsTypeScriptSage Construction APISupabaseFile Storage/CDN

Status

Prototype in progress with mocked data.

Have something you want built?

If you're working on something in construction, operations, or finance, I'd like to hear about it. Especially if you need someone who gets the domain as well as the code.