Skip to content

named production case

AiudApp: technical ownership across operations, field work and customer tracking.

What began as a request for customer tracking became a full product takeover: replacing Tookan and Bubble, redesigning the Flutter field app, introducing owned routing infrastructure and continuing as the technical owner of the live ecosystem.

  • named client case
  • ≈60,000 tasks per month
  • Tookan + Bubble → Next.js
  • ongoing partnership

the original condition

Growth required control the builders could not provide.

Founder Andres Bocanegra initially asked for a Bubble customer tracking app. At the time, central dispatch lived in Tookan, some client dashboards lived in Bubble, field workers used an outdated Flutter app and Xano powered the backend. Discovery showed that another Bubble surface would preserve the same fragmentation. Rebranding, redesigning and owning the product stack created the stronger foundation for growth.

three connected product surfaces

One operational system, not three disconnected projects.

The operations team, field workers and customers each saw a different interface, but their workflows shared data, task state and business consequences. Treating any surface as a standalone development job would have left the ownership gap in place.

Operations portal

A custom Next.js application replaced Tookan as the central dispatch surface, giving AiudApp direct control over the workflows, interface, releases and continued development of its core operation.

Field-worker app

The existing Flutter app was redesigned around the new brand and its flows were optimized. Observed backend requests fell from 192.3 to 81.8 per active user-hour, a 57.5% reduction.

Customer tracking

The request that started the engagement became a separate Next.js customer-tracking application. Client dashboards were also migrated from Bubble into their own Next.js application.

measured production results

An owned platform operating at meaningful scale.

tasks per month
≈60,000
Current operating volume, and growing.
backend requests per active user-hour
−57.5%
From 192.3 to 81.8 in the observed Fleet app comparison.
Tookan-to-Next.js migration
6 months
Followed by more than a year of continued work that is still ongoing.

what was actually done

Replace the constraints, retain what still worked.

  1. 01

    Replace Tookan with owned dispatch

    Design and build a custom Next.js operations portal instead of continuing to place AiudApp's central workflow inside a third-party dispatch product.

  2. 02

    Move the Bubble dashboards

    Replace client-specific Bubble dashboards with a separate Next.js application while retaining Xano as the shared backend.

  3. 03

    Build customer tracking properly

    Turn the original customer-tracking request into its own Next.js application, designed as part of the complete AiudApp product rather than another isolated Bubble surface.

  4. 04

    Redesign and reduce mobile workload

    Bring the Flutter Fleet app into the new brand, improve its flows and reduce the number of backend requests required for each active field user.

  5. 05

    Own the routing infrastructure

    Deploy a self-hosted Valhalla routing server to reduce dependence on paid Google routing while keeping infrastructure and deployment under direct technical ownership.

the outcome

A six-month migration became ongoing technical ownership.

Replacing Tookan with the custom dispatch application took six months. Work across the rest of the ecosystem continued for the following year and is still ongoing. AiudApp gained a platform it could properly grow, while architecture, product, releases and infrastructure remained under consistent technical ownership.

“I really hope my competitors don’t find out about you lol.”
Andres Bocanegra, founder of AiudApp

what this case does not claim

Named work, without invented performance theater.

  • No unverified cost-saving amount, uptime figure or revenue result is attached to this case.
  • The request reduction compares observed per-user rates: 2,500 requests across 13 users against 900 requests across 11 users in equivalent one-hour periods.
  • The monthly task count is an approximate current operating volume and will change as the product grows.
  • It does not claim that every no-code or AI-built product should be migrated.

Your product does not need to look like AiudApp. The ownership gap needs to be real.

Apply when users, payments, customer data or important operations already depend on the product and nobody senior owns the complete production path.