Inspiration

Contractors often lose promising jobs for a simple reason: they are busy doing the work.

The idea became personal while my family was preparing for the birth of my fifth child, our daughter Molly, who arrived in early July 2026. We needed to finish our basement so I could move my office downstairs and turn the existing office into her room. Hiring contractors firsthand showed me how easily good opportunities can stall—not because either side lacks interest, but because busy people miss messages, lack key information, or cannot follow up at the right moment.

Building JobValve during that major change in our family made the project especially meaningful to me.

An inquiry may arrive while a contractor is driving, working on-site, or handling an emergency. The lead may be valuable and urgent, but the response is delayed, important details remain missing, and the opportunity quietly goes cold.

JobValve was built to help service businesses capture, qualify, and respond to leads. During OpenAI Build Week, I asked: what if AI could recognize when a promising lead was being neglected, determine what was blocking it, and prepare the best recovery action—without taking control away from the contractor?

That became JobValve Lead Rescue.

What it does

Lead Rescue identifies verified contractor inquiries that are becoming stale, incomplete, or at risk of being lost. It evaluates each opportunity using intake details, job category, urgency, estimated value, qualification answers, communication history, status, and timeline.

GPT-5.6 produces an explainable rescue plan with a priority score, estimated value and urgency, the likely reason the lead stalled, missing information, the next-best action, and a personalized customer follow-up draft.

The contractor can edit and approve the draft, snooze the opportunity, reject the recommendation, or refresh the analysis. Approving a draft never sends it automatically. It only stages the message for a separate, deliberate send action.

Every recommendation and owner decision is preserved in the lead’s audit trail.

How I built it

JobValve is a multi-tenant SaaS application built with ASP.NET Core, C#, PostgreSQL, Entity Framework Core, Azure Container Apps, Docker, Bootstrap, the Telegram Bot API, and the OpenAI API.

Before Build Week, JobValve already provided branded intake forms, email verification, AI-assisted classification, owner dashboards, qualification workflows, alerts, response drafting, reminders, and tenant-isolated storage.

During Build Week, I used Codex, orchestrated through OpenClaw, and GPT-5.6 to build Lead Rescue as a new end-to-end workflow. It detects stale leads, ranks rescue opportunities, assembles context from across the lead lifecycle, requests a structured recommendation from GPT-5.6, presents the analysis and editable response in the dashboard, requires human approval, and records the contractor’s decision.

This project was built through a human-directed AI engineering workflow. I provided the product direction, contractor workflow knowledge, architecture constraints, testing feedback, deployment decisions, and safety requirements. Codex performed much of the hands-on implementation: reading and modifying the ASP.NET Core codebase, tracing behavior across services and UI, implementing structured model prompts and safeguards, running builds, interpreting failures, preparing deployment steps, and updating project documentation. The result was not a one-shot generated app, but an iterative collaboration where AI accelerated engineering while I kept control over product judgment, data safety, and pilot readiness.

I maintained dated commits that clearly separate the pre-existing JobValve foundation from the Build Week work.

Challenges I ran into

The first challenge was defining a meaningful AI feature. JobValve already had reminders, qualification questions, and response drafting. Adding another message-generation button would not have been enough. Lead Rescue needed to become a complete decision-support workflow that detects risk, identifies what is blocking progress, recommends an action, explains why, and records the outcome.

The second challenge was giving GPT-5.6 enough context without overwhelming it. A strong recommendation depends on more than the original inquiry, so I combined structured intake data, qualification answers, communication history, timestamps, status changes, urgency, and value signals into a focused model request.

The third challenge was preserving human control. Customer communication affects a contractor’s reputation and revenue, so I deliberately separated AI analysis, owner approval, and message delivery. Lead Rescue cannot autonomously contact a customer.

Finally, I was deploying into a real, pilot-ready SaaS environment rather than an isolated prototype. I used additive changes, production backups, rollback-ready Azure revisions, and pre- and post-deployment checks to protect existing tenants, leads, credentials, uploaded images, and integrations.

Accomplishments that I'm proud of

Lead Rescue is part of a fully functional, production-hosted SaaS application—not a disconnected demo.

I built and deployed a coherent AI workflow that detects neglected opportunities, reasons across the complete lead history, explains its recommendation, prepares an editable response, preserves contractor control, and records the decision trail.

I also deployed the feature without wiping, reseeding, or damaging existing production customer data. The application’s current tenants, leads, authentication, uploaded images, PostgreSQL database, Telegram integration, and existing workflows remained intact.

Most importantly, Lead Rescue addresses a measurable business problem: contractors losing revenue because valuable inquiries do not receive timely follow-up.

What I learned

I learned that the most useful AI for small service businesses is not necessarily fully autonomous. Contractors need something that reduces cognitive load while preserving judgment, control, and accountability.

Explainability also matters. “Here is a draft” is less useful than explaining that a lead appears valuable and time-sensitive, identifying what information is missing, and recommending the lowest-friction way to obtain it.

I also learned how effectively Codex can work inside an established codebase. It helped trace behavior across application layers, implement a complete vertical feature, validate integrations, and safely prepare and execute a production deployment.

What's next for JobValve

Next, I plan to make Lead Rescue proactive while preserving its human-controlled design.

Future improvements include configurable stale-lead policies, timed snoozing with automatic queue return, contractor feedback that improves recommendations, Telegram-based review and approval, outcome tracking, and reporting that measures rescued leads and recovered revenue.

The goal is straightforward: help contractors recover valuable opportunities that would otherwise disappear—not by replacing the contractor, but by ensuring the right lead receives the right attention at the right time.

Built With

Share this project:

Updates