Live · estimated · accumulating now
0,000.00 ≈ hrs
hours of administrative work eliminated by automations I've built.
RFI
0 processed
SUB
0 filed
IR
0 dispatched
NCR
0 cleared
Carlos Reynoso. Construction manager and software builder.
Las Vegas, NV
Const. × Software
Since 2014

I write software
that runs the job.

I work as a construction manager on large commercial projects in Las Vegas. The systems shown above run in the background while I do that work. They draft RFIs, file submittals, schedule inspections, and clear non-conformance reports. They run overnight and on weekends and they don't care that I went home.

I studied architecture before I studied construction management, and then I worked in design before I switched sides to general contracting. Most of what I build now comes from those years of producing the documents myself. When you've spent enough time drawing details that later become RFIs, you start seeing the same friction over and over, and at some point it stops being acceptable to keep solving it by hand.

I'm always interested in conversations with people working on construction automation, document intelligence, or agent systems for any industry where the paperwork is the bottleneck. The contact section is at the bottom of the page.

01

NCR Tracker a dashboard that reads its own mail.

Field inspectors email non-conformance reports in. The system reads the email, pulls the fields out, attaches the photos, and posts it to a kanban grouped by area. Status moves with a drag. The team pulls it up during weekly OAC meetings instead of building a spreadsheet from scratch.

FastAPIAirtablen8nDockerCaddyVPS
+
Architecture
DigitalOcean VPS · Docker · Caddy (HTTPS + basic auth) Inspector email + photos SMTP→HTTPS n8n webhook + parse LLM extract Claude API structured JSON Airtable NCR table FastAPI kanban + drag-to-status Browser team dashboard
02

RFI Author half an hour to two minutes.

Most RFIs start the same way: a subcontractor sends a marked-up PDF, somebody on the GC side spends half an hour translating it into a formal question, attaching the sheet references, and matching the team's house style. This tool reads the PDF, picks out the sheet IDs, the grid lines, the discipline, and writes the first draft. The engineer edits instead of authors.

Claude APIPDF.jsVanilla JSPrompt eng.
+
Architecture
Browser Upload PDF sub markup PDF.js text + metadata Sheet · Grid · Discipline prompt payload Backend (private host) Claude API house-style prompt draft RFI Engineer edits
03

ACC Outbound moving documents end to end.

Submittals, RFIs, and inspections all live in Autodesk Construction Cloud. The web interface is fine for entering one record at a time, but the project generates hundreds. The pipeline takes the engineer's entry, pushes the record into Vista on the accounting side through a macro template, files the PDF to Egnyte, and updates the trackers. Everything stays inside the tools the team already uses.

PythonPowerShellVBARESTpypdf
+
Architecture
ACC Build engineer enters record scheduled poll Python orchestrator fetch new · dedupe VBA macro → Vista import PowerShell → Egnyte (Z:) Tracker update Excel + Airtable + pypdf · rename · merge
04

Vorsa AI an inspector that never sleeps.

An in-progress SaaS for safety managers running multi-site portfolios. The product looks at jobsite photos, flags violations against OSHA and the company's own safety program, and writes the audit. The pitch is that a safety manager covering twelve projects can't physically walk all of them every week, but the project teams can take photos, and the system can do the rest.

Next.jsSupabaseStripeVision LLMs
+
Architecture
Field photo phone capture Next.js client upload + UI Supabase auth · storage · DB photo Vision LLM OSHA + program rules findings Safety manager dashboard Stripe billing
05

Cross-Industry Automation wherever the bottleneck is.

The same pattern shows up everywhere. Somebody spends three hours a week reading documents and typing the contents into a spreadsheet. In this case it was a marketing team reading competitor mailers in the casino industry. The CLI does the reading, the structuring, and the spreadsheet in one command. Construction is where I work, but the work is portable.

PythonClickClaude APIopenpyxl
+
Architecture
PDF mailers input folder Python CLI (Click) pip-installable per PDF Claude API structured offers JSON openpyxl .xlsx
06

Daily Digest 8 a.m., every morning.

Project leadership wanted a daily look at what was moving across the active scopes. The tool reads a synced Excel file overnight, filters down to the relevant projects, formats an HTML email, and sends it through Outlook before the office opens. The Monday status meeting got noticeably shorter the week it went live.

PythonOutlook COMPandasTask Sched.
+
Architecture
Project data feed SharePoint Excel Task Scheduler cron @ 08:00 Python · Pandas filter · format HTML Outlook COM dispatch Leadership inboxes
/01

Work that moved the needle.

The systems worth keeping are the ones that show up in the numbers the owner reads. Schedules that hold. RFIs that close on time. Non-conformances resolved before they reach the monthly report.

/02

The domain is the work.

I drew details before I managed projects, and I managed projects before I wrote a line of Python for either. The tools work because I know what an RFI actually is, why a submittal cycle stalls, what a non-conformance looks like before it gets logged. Generic AI doesn't know which thirty minutes matter.

/03

How information moves.

A team runs on ACC, Procore, Vista, Egnyte, SharePoint, Outlook, Excel. That's where information lives, but it rarely moves between them well. My work redesigns the flow. An RFI tool that shifts authoring from the engineer to a reviewer. A dashboard that changes when the team actually talks about non-conformances. A digest that puts the right numbers in front of leadership before Monday's meeting starts. Same platforms; better decisions.

Let's talk.

carlosreynoso96@gmail.com