A visitor needs a destination
Current presence controls whether directions are justified.
A food truck moves. A shift changes. Someone still needs a good reason to make the trip.


Company product · product design, native software and backend architecture
Native product in development and release preparation. Availability follows current release evidence.
Native app captures: demonstration data, 17 September 2026. Workspace captures: isolated local data, 15 September 2026.Current presence controls whether directions are justified.
Actions follow actual ownership and organization capabilities.
Saved and pending are different states with different consequences.
Laff connects food-truck discovery with a record of what someone actually enjoyed. Its customer loop moves from a live map to a visit, a check-in, a reaction, a comparison and a social feed. The comparison is personal: which truck did you prefer? It builds a taste history through concrete choices rather than asking a customer to turn every meal into a public star rating.
For the operator, the corresponding job is practical: publish a truthful shift, keep the storefront useful and give a visitor a reason to return. The two experiences meet at the same real-world visit, but they should not look or behave like copies of each other. The native customer shell and operator world are deliberately different.
A truck profile can contain a valid coordinate without supporting a visit right now. The public visit state combines service status, publication validity and location freshness. The browser withdraws directions when the state expires, service pauses or a refresh cannot confirm the current publication. This behavior is expressed in source-backed public contracts, not left to the interpretation of a green badge.
The important design moment is often the change from known to uncertain. The page remains useful: a visitor can still understand the truck and why directions are unavailable. It does not carry on recommending an old location because the network failed. The interactive state model below lets you inspect that decision using an explicitly illustrative clock.
Serving now
Directions availableThe publication is current, service is active and the refresh is confirmed.
The example expires after 30 model seconds. This is an illustrative clock, not Laff's production freshness interval. No real truck or location is shown.
The customer app moves from discovery to a visit, a comparison and a reason to return. Its native map, feed, check-in, rewards and profile work in English and Arabic. The operator has a different job: keep service truthful, manage the menu and move the working day forward.
The browser workspace extends that operational side with orders, schedules, menu editing and a saved preparation notebook. A change belongs to a known truck and an authorized person. The interface distinguishes a pending request, a confirmed save and a stale revision, so the visible state stays connected to the work behind it.


The backend uses Firebase for authentication, data, storage and functions. Public pages consume a deliberate public projection rather than exposing an operator's complete record. Mutations belong to defined server contracts with role and ownership checks. The architecture needs to keep a customer visit, an operator's working state and public discovery related without making them the same permission boundary.
Development demonstrations also need their own data boundary. Laff has isolated development resources and explicit test principals rather than relying on a visual demo badge to make writes safe. The same principle applies to this company's public demonstrations: they explain selected behavior and do not grant access to private operator data.
The web workspace gives the operator a place to manage orders, menu changes, service settings and preparation. It uses the same product's ownership and backend contracts, with explicit pending, saved, stale and denied states.


The useful checks follow the journey and its failures. Can a customer understand a paused truck? Does a stale publication stop guiding a visit? Can an operator change the correct record while another organization's records remain inaccessible? Do Arabic, larger text and motion preferences preserve the same task? These questions connect code quality to a visible product outcome.
A successful local test is one piece of evidence. Device behavior, release configuration, live permissions and actual operator onboarding are separate checks. The case study therefore focuses on the implemented system and its design decisions. It does not invent adoption, repeat-visit uplift or business results to finish a conventional agency story.
Laff's working strategy is to make a local food-truck visit dependable before broadening coverage. That means measuring whether the public state matches service, whether operators maintain their shifts and whether invited customers find a reason to return. Those are proposed research questions and operating measures, not results already achieved.
The larger lesson is that a playful product can have serious contracts underneath it. The architecture gives the interface permission to be expressive because important states remain explicit. A company building operational software should be able to show both: the experience people enjoy and the boundaries that keep the experience honest.