LawnGuru · Service booking · Conversational UI
Turning a drop-off-prone Typeform into a conversation that books the job.
LawnGuru's Yard Clean Up form bundled cleanup, mulch install, and weeding into a single Typeform. The work was to break that apart into a chat flow that asks only what the chosen service needs, and to establish which components the chat actually required.

Challenge
One form served several services at once, so every customer waded through questions that did not apply to their order. Photos sat at the end of the flow and were the single biggest source of drop-off, which meant the highest-value input was also the one most likely to be abandoned.
Approach
I containerised the questions into one set per service, so the chat loads only the set for what the customer added, one service at a time. Shared questions like timing, photos, and notes for the pro are asked once regardless of how many services are stacked. Photos became skippable by design, with post-booking automation prompting for them rather than blocking the order.
Outcome
A component audit across all seven services showed roughly 80% of every flow reduces to six reusable chat primitives. Only two custom components were needed: a mulch colour and type swatch selector, and a shared photo attach control with upload progress. Most orders are a single service on standard components, and stacked orders simply repeat the same primitives one service at a time.







More work
Read case study
Automated Design System
A fully automated design system built with Figma MCP and Claude Code: Figma tokens turned into multi-platform libraries, production-ready React components, and living documentation.
Read case study
Fumis Solutions
A connected product experience shaped around clarity, system thinking, and practical daily use.