Red Center Studio
Back to Work Rebuild case study / Fleet pre-start checks

PreStart: a fleet check app rebuilt from Bubble® as code you own.

PreStart started as an app built on Bubble. The studio rebuilt it as code on Cloudflare Workers from a written spec of the original, kept its pages and rules, tightened the workflows that needed it, and released it as a free Lite edition and a paid Pro edition.

What it does
Daily vehicle checks and a workshop defect queue
First built on
Bubble
Rebuilt on
Cloudflare Workers, D1 and R2
Editions
Lite (free, MIT licence) and Pro ($149 USD, paid once)
In short

PreStart is a daily vehicle pre-start check and defect workflow for small fleets, first built by Red Center Studio on Bubble and published as a Bubble template. The rebuild is one Cloudflare Worker with a D1 database, private R2 photo storage and Better Auth sign-in, written in TypeScript, with every permission checked on the server and tests that run in the Workers runtime. PreStart Lite is free and open source, and PreStart Pro is $149 USD, paid once. Both run in the owner's own Cloudflare account.

The PreStart Pro demo sign-in page for a sample business, with one-click demo sign-in as Admin, Workshop or Driver.
The PreStart Pro demo sign-in page for a sample business, with one-click demo sign-in as Admin, Workshop or Driver.
Before

What it was on Bubble.

PreStart was first built on Bubble, where it is also published as an app template. Drivers submitted daily checks with odometer readings and photos, defects were logged by severity, and workshop staff worked the defect queue and managed vehicles.

The rebuild started from a written spec taken from the Bubble app's test version. It maps the app's six data types, eleven pages, privacy rules and backend workflows to their code equivalents, and lists every place where the code version should behave differently.

In the Bubble appIn the code version
Six data typesD1 tables designed from them. Each check now stores one row per checklist item instead of a single failed items text field, so history shows exactly what was ticked.
Privacy rules and page redirectsOne permission module on the server, checked on every request and never only by hiding buttons.
Built-in users and a password reset pageBetter Auth on D1: email and password sign-in, email confirmation and password reset.
A Claim this app buttonThe first account on a fresh install becomes the Admin, new sign-ups wait for approval, and the last admin cannot be removed.
A shared menu elementOne top menu on every signed-in page, showing only the links a role allows.
A backend workflow that wiped the demoA demo mode with a nightly reset by Cron Trigger.
Tightened in the rebuild

Workflow rules made stricter.

The written spec noted where the original workflows could be stricter. Each is built into the code version, whose tests cover every permission rule and business rule.

Back in service only when safe

Marking a defect fixed returns the vehicle to service only when no other open or in-progress critical defect remains on it.

Saved together or not at all

A check, its results, its defect and the vehicle update are saved in one database batch on the server.

Odometer readings checked

A reading lower than the last one needs confirming and is flagged in history.

Off road means off road

Checks on off-road vehicles are rejected on the server, not only hidden from the list.

One settings record

Business settings are created once by a migration, so they cannot be duplicated.

Report a problem anyway

A driver can raise a defect even when every checklist item passed.

Now

What PreStart does today.

Pass, Fail or N/A on a phone

Drivers pick the vehicle, enter the odometer and mark each item. A failed item asks what is wrong, how serious it is, and takes up to 3 photos.

Clear next steps

Minor: safe to drive, the workshop is told. Major: do not drive until a supervisor or the workshop says it is safe. Critical: the vehicle goes off road.

Ready-made checklists

Car, ute or 4WD, truck, trailer, forklift and plant, grouped into sections like Tyres, Lights and Brakes.

Defect queue

Critical faults first. The workshop starts work, adds notes and marks things fixed. Picking a vehicle shows its known faults.

Fleet and history

Odometer, rego and service due dates, and every check filtered by vehicle, driver, date and result.

Roles and private photos

Driver, Workshop and Admin. Photos are shrunk on the phone, stored in a private R2 bucket and shown only to people allowed to see them.

Pro adds QR code stickers per vehicle, instant email on critical faults, rego and service reminders, CSV export and printable check reports, checks that save offline and send when signal returns, region settings, checklists per vehicle type, a driver declaration with signature, engine hours and fuel, a Today board, a missed-check email, an optional location stamp, and defect assignment with fix-by dates.

How it is built

The stack.

Runtime
One Cloudflare Worker serves the pages, forms and photos.
Framework
Hono with server-rendered JSX, TypeScript in strict mode, Tailwind CSS, and Zod validation on the server.
Database
Cloudflare D1 with Drizzle ORM and migrations applied on deploy.
Files
A private Cloudflare R2 bucket. Photos are streamed by the Worker after a permission check.
Sign-in
Better Auth on D1, with a rate limit on sign-in attempts.
Email and schedules
Cloudflare Email Sending, and Cron Triggers for the demo reset and, in Pro, the reminders and missed-check emails.

Tests

Unit tests run inside the real Workers runtime against a real local D1 database and cover every permission rule and every business rule. End-to-end tests drive a real browser at desktop and phone sizes, and the Pro tests include offline checks.

For the owner

What changed for the owner.

  • The app runs in the owner's own Cloudflare account. Checks, defects and settings sit in their D1 database and photos in their private R2 bucket, and Red Center Studio does not host their copy.
  • There is no monthly fee to Red Center Studio. Lite is free under the MIT licence, and Pro is $149 USD, paid once. Cloudflare's free plans for Workers, D1 and R2 cover a typical small fleet.
  • The code is readable and theirs to change: every caption lives in one labels file and every permission rule in one module.
  • Pro is built on the open-source Lite edition, and fixes to Lite are merged into Pro.

Start free: PreStart Lite on GitHub. Daily vehicle pre-start checks and a defect workflow for small fleets, on Cloudflare Workers. MIT licence.

Your app

Want your own app rebuilt as code you own?

The same move is a service: your app ported to your own Cloudflare account, with a fixed quote before work starts.

Service 06

No-Code App Porting

Your app is built on Bubble® or a similar no-code platform and it has outgrown it, or you want to own the code. The studio ports it to your own Cloudflare account, or moves only the heavy parts and leaves the rest where it is. Every port starts with a paid assessment and a fixed quote.

Price
From $2,999 USD
Timeline
6 to 12 weeks for a full port
See No-code app porting
Service

App Rescue and Move to Cloudflare

Built an app with Lovable, Bolt, Emergent, v0 or Replit, or on Bubble? Start with an audit (or a triage for a Bubble app), rescue it where it is, or move it to Cloudflare as code you own. A lead machine only works when sign-in works, search engines can find the pages and the data is protected, so those come first.

Price
From $299 USD, in three steps
Timeline
Audit usually 3 to 5 business days; rescue and move timelines are set in your quote
See app rescue and move to Cloudflare
Service 01

Custom Platform and SaaS Builds

Web apps, SaaS products, client portals, marketplaces, booking systems and internal tools. Senior, agency-quality work, delivered faster and at lower cost than an agency, by the person who builds it.

Price
From $2,500 USD
Timeline
4 to 12 weeks
See Custom platforms and SaaS