Ordering a pickup in this trade starts with a phone call and ends with an invoice handwritten in the truck cab and a ring binder at home. We built a system in which the customer sees the tank level, the date, the payment status and every document, so they stop calling to ask when somebody is coming. The customer side took 40 hours, the sensor integration another 20, because it was built on the same system as the dispatcher panel and the driver app.
Tidly is an in-house RapidLogic project, a two-sided platform connecting homeowners with waste collection companies. We have already described the marketplace, where an order is created, the dispatcher panel, where the company plans its working day, and the driver app that travels in the truck cab. This entry covers the window through which the customer looks at that same set of data.
The split between the marketplace and the customer app works differently than intuition suggests. The marketplace is one of the front ends for placing an order, not a separate product. The customer signs in with the same account, sees the order in the app once it is placed, and returns to the marketplace when they tap the order button inside the app. From the user’s point of view this is one place, which once serves to buy the service and for the rest of the time to keep an eye on it.
The app exists in two forms: a panel in the browser and an application installed on a phone from a link. The feature set in both is identical, because this part of the system is simple enough that splitting it made no sense. The desktop version was added for people who prefer to deal with it at a desk.
Companies you can deal with online make up between one and five percent of this trade. They read messages, take bank transfers and answer outside working hours. The remaining ninety five percent have to be called and asked for a date.
That is where something starts that no feature list captures. The line is busy, so you leave your number and wait for a call back. You work from home or have meetings in your calendar, yet you have to stay by the phone, because there is no telling when somebody will ring. When it finally happens, the voice on the other end tells you there is no time right now.
Two loose ends are left after the pickup. The invoice is sometimes handwritten in the truck cab, while the contract that the tank owner is legally required to hold arrives only once they ask for it themselves. Both end up in a ring binder on a shelf, and during an inspection both have to be taken off that shelf.
We designed the system around the questions customers ask over the phone. Each of them got its own place on the screen, which is what stops it from being a reason to call.
The first screen after signing in answers the question that matters most in this service. A bar shows how full the tank is, below it sits the date of the last reading and the predicted moment the tank fills up. Further down are the three most recent orders with amounts and statuses, and at the bottom an order button that takes the customer to the marketplace.
This is where the point of the whole platform becomes visible. The tank owner stops guessing when to call, because the information is in front of them.
The dashboard answers the question customers used to reach for the phone with: how long until the next pickup.
The customer chooses where the number on the dashboard comes from: the sensor in the tank or the pickup history.
Tank level can be shown in two ways and we built both. The real sensor is an integration with a physical device in the tank that exposes an open API. The platform reads the liquid level from it, so the bar on the dashboard shows the actual state. That part was built and tested on a working tank.
The virtual sensor answers the fact that most people have no device in their tank and have no intention of buying one. The algorithm takes the average number of days between previous emptyings, checks how many days have passed since the last pickup, divides one by the other and turns the result into a percentage. The longer a customer uses the platform, the more accurate that estimate becomes, because the history grows.
The second option is commercially more interesting than the first. Value that normally requires buying hardware is produced here from data the system already holds.
The order view gathers everything that used to live in the memory of both sides after a phone call. At the top the ordered service with tank capacity, extras and the total. Below it the customer and billing details, the service address with approach notes, the details of the company that took the job, and the service status with the payment method and payment state.
Personal details, billing data, address and tank specifics are entered once, in settings. With every following order the system fills them in itself, which removes both the retyping and the company’s questions about things already covered during the previous pickup.
One order in full: service, billing details, address with notes, company, plus payment and completion status.
The list of all orders has filters by date range and status, a search box and a result counter. Every row carries the service, the company, the order date, the delivery date, the amount and the status. This is exactly the set of information that previously had to be reconstructed from receipts in a binder.
One more thing was meant to stand here: an export of the pickup list to a spreadsheet or a PDF, useful during a municipal inspection. That feature was never built, which we cover below.
History with filters and a search box. The same view works on a phone, in a vertical layout.
The settings screen is the most candid part of this entry, because it says on its own where the working part ends. The active items are user details, billing details, address and the liquid sensor. Below them sit three greyed out: automatic pickup, notifications and other settings.
That is what a project stopped on purpose looks like, rather than one abandoned. The foundation those three items were meant to stand on is ready, while the move itself waited for a signal that the product would catch on.
Three greyed out items are the list of things we did not build, stated by the interface itself.
The biggest gap between what the product page promises and what actually stands in the system concerns automation. The sensor reading works, while everything meant to happen once a threshold is crossed was planned and postponed.
How far the testing went. Accounts were created by family and friends, and between a handful and a dozen people placed an order through the marketplace. The sensor integration was verified on a working tank. There was no rollout at a company with paying customers, because the commercial development of Tidly was paused, which we cover in the marketplace case study.
The customer application was built alongside the rest of the platform, on a data model designed once. Below is the course of this part of the work.
We have no results from a rollout at a paying carrier and we are not going to invent any. What we do have is a measured amount of work, a working device reading and a working algorithm, and that is enough to show what it costs to move a customer from the phone into a system.
The same situation repeats everywhere a service is performed at the customer’s place, returns on a cycle and leaves a document behind. Waste collection, rubble and scrap removal, oversized transport, mini excavator work, medical waste pickup. In each of those trades the customer calls with the same question, and the company answers the same call for the hundredth time that month.
The conclusion for an owner is not about features, though. The system removes work nobody measures, because it is spread across dozens and even hundreds of short conversations. Once the date, the status and the invoice are visible without asking, the phone only rings when something unusual happens.
The second conclusion is about cost. A fourth view onto the same data closed in sixty hours, because the data model was designed once and serves all four. Today we would build it faster still, with the AI-assisted engineering we show in the Fortress and Invoice Automation case studies.
The mere thought of picking up the phone to order a septic tank pickup turns my stomach. You call, the line is busy, you leave your number and wait for a call back, and then you hear there is no time right now. We built a system in which I see the tank level, the date and the invoice, so I do not have to call anybody.
A system with job status, history and documents removes dozens and even hundreds of short conversations a month from a company. In Tidly we built it in sixty hours, on a data model that already existed. A free digital audit will show what such a system could look like for you.
Book a free digital audit