Skip to content
Ruby Foundry

SamplesDemo project

Lead follow-up

Every inquiry answered within a minute.

For: A small landscaping company.

Build on topWorkflow automationIn the works

Live demo coming soon. The demo is built and working; the screenshots on this page are from it, with made-up data.

Before

Before: an inbox with six unread “New submission from your website” emails up to 5 days old, a customer's “Hi, just checking you got my message?”, and the line “Last month: 23 inquiries. Average first reply: 2 days. 7 never got one.”
Open full size: Before: Each inquiry was one more email. Average first reply: 2 days.

Each inquiry was one more email. Average first reply: 2 days.

After

After: “Thanks, Dana” on the quote form, then what just happened: Rosa got a text with Dana's name, job and phone number, Dana got a friendly email, and a second email waits for Thursday at 4:00 PM in case nobody hears back.
Open full size: After: The owner gets a text and the customer an email, the moment the form is sent.

The owner gets a text and the customer an email, the moment the form is sent.

The problem

Quillback Landscapes is a four-person landscaping company. The owner, Rosa, does every quote herself, between jobs.

  • Each inquiry from the website arrives as one more email: “New submission from your website.”
  • Rosa reads them in the evening, between quotes and invoices. Some slip down the list.
  • Customers write a second time (“Hi, just checking you got my message?”), and by then some have called someone else.

Last month: 23 inquiries. Average first reply: 2 days. 7 never got one.

In this trade, whoever answers first usually gets the job. The business doesn’t need a new system. It needs every inquiry answered within a minute, and a reminder for the ones that go quiet.

How we approached it

We build on top of the website form the business already has, and we’d run it as a one-week project, about three days of work:

  • Day 1: how inquiries arrive, and what to say. We look at where inquiries come from today and write the text and the two emails with the owner, word for word. “Rosa will call you by the end of the next business day” is a promise, so the owner picks it.
  • Day 2: the build. Connect the website form, the one list of leads with four statuses, the automatic text and email, and the 2-day nudge that cancels itself when the customer replies or the owner changes the lead’s status.
  • Day 3: test and hand over. Test inquiries from the live site, two guides, and a handover where the owner watches the first text arrive on their own phone.

One rule held throughout: keep it small. No sales pipeline, no AI. One list, three messages, and nothing ever sent twice.

For the demo, Quillback, Rosa, and every customer are made up, and nothing is really sent: every text and email lands in the app’s Outbox.

What it does

  1. The form the business already has

    A customer asks for a quote on the business's website, as before. The form checks each answer and explains any problem in a plain sentence.

  2. One list of leads

    Every lead, newest first, with its status (New, Replied, Booked, Lost) and its next step. On top: “Last 7 days: 10 leads, every one answered within a minute.”

  3. A nudge, once, only if needed

    If a lead is still New after 2 days, the customer gets a short second email offering a free 20-minute visit. A reply, or any change of status, cancels it.

  4. The Outbox

    Every text and email, exactly as sent, each linked to its lead. In the demo, nothing leaves the app.

Technology used

Technology used in Lead follow-up
Next.js and TypeScriptThe business's quote form, the owner's list, and the server code behind them, in one widely known framework.
PostgreSQLLeads, their timelines, and every message. It also works out what's due, so a restart never loses a message.
ZodOne set of rules for the website form and the incoming inquiries, with a plain sentence for every problem: “Enter an email like dana@example.com.”
A webhook endpointWhere an existing website form (Squarespace, Wix, WordPress) sends each inquiry.
An in-app timerChecks every 15 seconds for anything due, such as a 2-day nudge. No separate scheduling service.
An OutboxEvery text and email, exactly as sent, and never twice. Switching on real texting (for example Twilio) and email (for example Resend) is one small, contained change.
Automated testsChecks on every message's wording, on the nudge going at exactly 2 days and only once, on two senders running at the same moment, plus a robot that sends the form and works the list in a browser.

Built to be handed over

Every project ends with two short guides, written for people rather than machines. The owner's guide explains, in plain words, how to run the software day to day. The engineer onboarding guide lets any developer you hire later find their way around the code, the hosting, and the data in an afternoon. You keep the code, so you are never stuck with us.

For this project, the owner's guide includes lines like this:

“Change the lead's status to anything other than New. That's all.”

What a project like this looks like

Scope

  • Your website's form connected, with one list of leads
  • A text to you and an email to the customer within a minute, worded with you
  • One follow-up email 2 days later, cancelled when they reply
  • An owner's guide and an engineer onboarding guide

From first call to finish

  1. A free 30-minute call
  2. A written, fixed quote
  3. A kickoff call within a week of signing
  4. 1 week of building, with a written update each week
  5. Launch and handover
  6. 30 days of fixes included

Typical total

about $2,500

Your own quote is written for your project and fixed before we start.