A parenting support chat platform built on Twilio Flex
Parents message a qualified parenting coach for free, by webchat or WhatsApp. I was one of the developers who built and maintained the platform the coaches work in.
The service
A major UK children’s charity runs a free, confidential parenting support service for families with children up to the age of 19. Parents start a conversation from the charity’s website or on WhatsApp. They can write when they have a spare moment, step away and pick the conversation up later.
The coaches are qualified and experienced support workers, childminders, play practitioners and teachers. They offer practical advice and emotional support without judgement.
Parents bring everything from weaning and sleep to school avoidance, teenage behaviour and money worries. Some need one answer. Others come back for follow-up sessions with a coach over several weeks.
What coaches needed
A coach needs the whole picture before replying: who the parent is, what they talked about last time and what was agreed. Booked sessions, follow-ups and handovers between colleagues had to sit alongside the chat itself, not in separate tools.
The charity’s service leads set the rules for how conversations are handled, and the platform had to follow them for every message. Conversations that raise concern reach a safeguarding specialist.
Parents do not only write during opening hours. A message sent late at night or at the weekend is logged, and a coach picks it up and replies when the service opens. If the underlying chat platform drops a conversation, it is restored and returned to the coach who was handling it.
3,984 parents
had one-to-one coaching in 2025/26, 9% more than the year before, and 99% of those who rated it called it good or amazing.
- 40,000+ one-to-one chats since the service launched
Inside the coaches’ desk
Coaches work in a single desk. A new conversation arrives with the parent’s details and earlier contact already attached, so the coach can read the background before replying. Saved replies cover common questions, and links to other services help coaches point parents to local support.
Coaches can pass a conversation to a colleague with its history intact, book a follow-up session with the parent and set reminders. If a parent needs to move a booked session, they use a link that reopens the chat in the right place. Supervisors can join a live conversation to support a coach.
My role and the team
We built the platform for the charity as a small development team that started with two developers and grew to four.
I worked across the whole platform alongside the other developers: the coaches’ desk, the server behind it, the webchat parents use, the conversation flows, the link to the charity’s Salesforce records and the background jobs that keep everything in step.
One platform, two services
We built the platform so each service can switch on only the features it needs. The charity now runs a second service on it: a text and email helpline where coaches support young people aged 13 to 18 with their wellbeing, family and friendship worries.
The hard parts
The hardest problems were about keeping records complete and consistent. A conversation can run over days, pass between coaches and continue after a break, and the coach needs its full history every time they open it.
Every chat also has to land correctly in the charity’s Salesforce case records, which staff rely on long after the conversation ends. Much of our work went into keeping chat history intact, checking that data matched between the chat platform and Salesforce, and repairing the sync whenever either side changed.
Where it is now
The platform is live and runs the service every day. I am no longer maintaining it.
How it was built
The coaches’ desk is a Twilio Flex plugin written in React, organised into modules that each service can turn on or off. A Node.js server connects it to Twilio, Salesforce and the charity’s other systems. Background workers on Redis handle follow-ups, reminders, transcripts and health checks on live conversations.
Twilio Studio flows receive each incoming message, check whether the service is open and pass the conversation to the right queue through TaskRouter. Updates reach coaches’ screens in real time, so the desk shows what is happening without a refresh.
Built with: Twilio Flex, Studio, TaskRouter and Conversations, React, Node.js, Redis, Salesforce.
Running a service where every message matters?
Tell me what it does, who relies on it and what keeps you up at night about it. A few lines by email is enough. I reply within two working days.