From Manual Billing to Scalable Operations
Client
Devicethread
Year
2026
devicethread is an IoT-based hospitality SaaS platform connecting smart hotel devices, locks, monitors, and thermostats to a central system that operators use to run properties at scale. As the customer base grew across countries, its subscription billing was still running on spreadsheets and email.
Scope of Work
A spreadsheet-and-email payment process was quietly capping how fast devicethread could grow.
I spent the first two weeks with the Account team understanding how the spreadsheet-and-email workflow actually broke down day to day, audited the existing Stripe link approach, and researched how platforms like Chargebee and Recurly structure subscription UX for reference, not as competitors, but as pattern libraries.
TL;DR
devicethread’s Account team managed billing across spreadsheets, emails, and scattered payment links with no single source of truth. I designed a unified subscription system split between admins and customers, with key edge cases handled up front.
Context & Problem
The Account team ran billing across three disconnected tools, with no shared source of truth. Every new country added more manual overhead; the process itself had become the ceiling on growth.
The billing process worked, until the business started to scale.
Payment status lived in spreadsheets, was manually updated, and was prone to constant errors.
Payment chases, approvals, and receipts were handled entirely by hand, one by one.
One-off Stripe links per customer, with no central view of who paid what.
Business Goal
Every new country meant more manual overhead for the Account team, and customers had no self-serve way to check their own payment status. The business couldn't expand faster than its ops team could keep up.
Approach & Constraints
The challenge wasn't just replacing spreadsheets with a dashboard. Subscription pricing depended on the property, billing setup, and the mix of IoT devices each hotel managed. I designed the system around these dependencies while also planning for the harder part: helping existing users understand and adopt a completely new way of managing payments.
Designing a billing system around a complex IoT product, and the people using it.
The Account team needed control across properties; customers needed a simple path to activate, pay, and manage their subscriptions. I kept these experiences separate and designed the supporting communication layer- emails and a knowledge base- to help users transition to the new system.
Split the experience by job, not by feature.
Subscription costs depended on properties, billing rules, and the mix of IoT devices each hotel managed.
The system had to work within devicethread’s existing navigation, permissions, data model, and Stripe integration.
Moving users from a familiar manual process to self-serve required follow-ups, educational emails, and a video knowledge base.
Research & Exploration
I spent the first two weeks with the Account team understanding how the spreadsheet-and-email workflow actually broke down day to day, audited the existing Stripe link approach, and researched how platforms like Chargebee and Recurly structure subscription UX for reference, not as competitors, but as pattern libraries.
Split the system by job-to-be-done, not by shared components.
The Account team needed speed and control across many properties; property managers needed clarity and self-serve activation on their own account. Merging them into one dashboard would have compromised both jobs, so we deliberately kept them separate.
Exploring solutions
Three principles, clarity, transparency, control, compound into a system users trust enough to self-serve.
Distinct admin and customer experiences, each built for its own job, not shared parts.
All 8 failure states, from payment fails to cancellation, were designed before the happy path shipped.
Discounts show both the current price and the future full price in one view.
Collaboration
The PM set the business rules, the Account team lived the daily pain, engineering shaped what was feasible.
95% Design Ownership
Every screen, flow, and edge case
3 Stakeholder Groups
PM, Engineering, Account team
HandoffPM defined what had to be true: plans, discounts, permissions, not the UI itself.
Consulted in discovery, then validated designs mid-flight as the primary internal users.
Worked within Stripe's API limits, deferring select features after a Week 6 review.
Outcomes
The platform replaced a manual, three-system process with one self-serve system built to scale, unblocking global expansion that manual reconciliation had been quietly capping.
900+
Rooms managed on the platform
30+
Hotels live on the system
5+
Countries reached at launch
8
Edge states planned upfront
Estimated 4–8 hours/week saved per Account team member on manual reconciliation, internal estimate, not formally measured.
Learnings
Edge cases aren't polish, they're the product.
Designing failure states upfront prevented costly patches after launch.
Merging admin and customer views would have weakened both experiences.
Showing future pricing upfront trades short-term friction for long-term confidence.








