ServiceBot team · WorkWave / IFS · Field-service SaaS
A self-serve storefront built to enterprise scale
ServiceBot is WorkWave's online self-serve storefront for field-service businesses: a homeowner picks a service, gets an instant quote, pays, and the order lands in the CRM with no office staff in the loop. WorkWave is a large, established company. The work was to develop and improve ServiceBot to the enterprise tier that scale demands. I was the first person from the Sri Lankan engineering team to work on it. Across the engagement: UX improvements, significant performance gains, new features, a new product (Service Express), integrations across the WorkWave suite, a TypeScript migration, codebase hardening, a WordPress plugin, and product collaboration with the WorkWave product owner.
Role
ServiceBot team engineer
Domain
Field-service SaaS
New product shipped
Service Express (v2)
Suite integrations
PestPac, Real Green, Service Assistant, Sales Center
Real screenshot · pick a service → instant quote → purchase
The business problem
A capable product that needed to operate at WorkWave's scale
ServiceBot already worked: a homeowner could pick a service, get a quote, and pay without calling anyone. But WorkWave is a large, established company, and the product had to match that. Pages were slow. The notification system didn't isolate failures. There was no simplified express version for customers who needed a faster path. The product sat outside the rest of the WorkWave suite rather than working with it. The codebase carried risks that needed to be closed at the code level. Each of these was a real constraint on the product's ceiling.
What I did
UX, performance, new products, integrations, architecture, and product input
The engagement covered the full stack of what it takes to bring a product to enterprise tier: user-facing improvements, a significant new product, deep integrations, architectural work, codebase modernisation and hardening, and product collaboration with the WorkWave product owner.
1 · UX improvements
Optimized user flows and cleaned up the experience across the storefront. On a self-serve product, friction in the flow is a lost order. The improvements were made to the flows themselves, not just the visuals.
Real screenshot · optimized quote and purchase flow
2 · Performance engineering
The flagship page went from roughly 60 seconds to about 2: a ~30x improvement. The same approach rolled across the app. On a self-serve storefront, load time isn't a vanity metric. It's the gap between a prospect buying at 2am and bouncing before the quote renders.
~60s vs ~2s · ~30x improvement
3 · Service Express
I built Service Express: a new, simplified form version of the ServiceBot storefront. It's a distinct product, not a reskin. Where the full ServiceBot flow is configurable and logic-driven, Service Express is stripped back for customers who need a faster path to live. Shipped within the engagement.
Real screenshot · simplified self-serve storefront form
4 · WorkWave suite integrations
I integrated ServiceBot with PestPac, Real Green, Service Assistant, and Sales Center. These are real WorkWave products, each serving a different segment of the field-service market. Before, ServiceBot was a standalone tool. After, it was part of the wider WorkWave suite and orders flowed into each CRM directly.
ServiceBot connected to PestPac, Real Green, Service Assistant, Sales Center
5 · Notification fan-out
I re-architected the notification system as fan-out: one event triggers independent notification consumers, each processing its own delivery without blocking the others. A new WorkWave integration can be added without touching the core. One slow consumer cannot take the rest down.
One event → multiple independent, isolated consumers
6 · TypeScript migration and codebase hardening
I migrated legacy code to TypeScript with modern syntax and type guards. Alongside that, I hardened the codebase itself: safer patterns, explicit guards, and closing specific weak points in the code. Low-level work that changes what the codebase will and won't accept going forward.
Legacy codebase modernised with type guards and safer patterns
7 · WordPress plugin
I built the v2 WordPress plugin that let customers deploy Service Express directly on their own WordPress site. Deployment went from a custom integration project to "add it to your site." For a customer base that largely runs on WordPress, this changed what going live actually costs.
Real screenshot · v2 self-serve distribution
8 · Product input
The team was given real freedom to contribute to product direction, not just execute a spec. We worked with Wendy Powell-Buck (Product Owner, WorkWave) on what the product needed to be at enterprise tier: where the roadmap and the architecture were going to conflict, and what decisions had to be made before they became expensive to undo. That's the difference between a contractor and a team with ownership.
Contributing to product direction with the WorkWave product owner
The outcome
A broader, faster, sturdier product
V2 shipped
Service Express: a new simplified storefront, designed and shipped as a distinct product within the engagement.
4 integrations
ServiceBot wired into PestPac, Real Green, Service Assistant, and Sales Center. A standalone tool became part of the WorkWave suite.
~30x
Flagship page rebuilt from ~60s to ~2s. On a self-serve funnel, load time is the salesperson.
Isolated
Notification system re-architected as fan-out. A new integration adds without touching the core; one slow consumer can't take the rest down.
From the product owner
"He articulates complex architectural decisions in business terms without oversimplification. An engineer who understands both the technical and strategic dimensions of product development."
Built with
- Notification fan-out
- Performance engineering
- TypeScript migration
- WordPress plugin
- Service Express
- PestPac integration
- Real Green integration
- Service Assistant integration
- Sales Center integration
Got a product that works but strains under its own weight?
Slow pages, brittle integrations, a foundation that fights every new feature.