Skip to content
Ben Pritchard
← All work

[PLACEHOLDER] Example AI Project

[PLACEHOLDER] A messaging assistant that answers enquiries, qualifies leads and logs them.

Year
2026
Role
[PLACEHOLDER] Solo — design, build, deploy
Status
Live
Stack
  • Python
  • FastAPI
  • Twilio
  • PostgreSQL
  • Claude
Assistant
  1. Customer: [PLACEHOLDER] Hi, can you quote for a new boiler?
  2. Assistant: [PLACEHOLDER] Happy to help. What's the postcode, and is it a replacement or a new install?
  3. Customer: [PLACEHOLDER] RG21, replacing a 15-year-old combi.
  4. Assistant: [PLACEHOLDER] Thanks. I've logged that and the engineer will call you today with a quote.

The problem

[PLACEHOLDER] Describe the problem in two or three sentences: who had it, what it cost them, and why existing tools didn't solve it.

[PLACEHOLDER] of enquiries arrived out of hours
[PLACEHOLDER] 42%
[PLACEHOLDER] median first response
[PLACEHOLDER] 3 min
[PLACEHOLDER] extra staff cost
[PLACEHOLDER] £0

Constraints

  • [PLACEHOLDER] A constraint about budget or running cost.
  • [PLACEHOLDER] A constraint about the users and the channel they already use.
  • [PLACEHOLDER] A constraint about data, privacy or compliance.

Approach & architecture

[PLACEHOLDER] Explain the overall shape of the system and how a message flows through it.

[PLACEHOLDER] Message flow

[PLACEHOLDER] A paragraph about the most interesting technical detail, with a code sample:

# [PLACEHOLDER] example code
async def handle_message(message: InboundMessage) -> Reply:
    lead = await leads.get_or_create(message.sender)
    reply = await assistant.respond(lead.history, message.text)
    await leads.append(lead.id, message, reply)
    return reply
[PLACEHOLDER] The lead dashboard showing recent enquiries
[PLACEHOLDER] The lead dashboard, where every conversation is logged.

Key decisions

[PLACEHOLDER] A second decision, explained in prose. Inline code looks like assistant.respond().

Assistant
  1. Customer: [PLACEHOLDER] There's water coming through the ceiling!
  2. Assistant: [PLACEHOLDER] That sounds urgent. Turn off the stopcock if you can. I'm alerting the engineer now.
  3. Assistant: [PLACEHOLDER] They'll call you within 10 minutes.

Outcome

[PLACEHOLDER] What changed for the client, in concrete numbers where possible.

What I'd do differently

[PLACEHOLDER] One or two honest reflections.