Food franchisor·2025
A franchise operations platform built around each store
Franchise records, audits, royalties, and day-to-day store operations were spread across separate files and processes. We brought them into one platform.
- Sector
- Food and Beverage, Franchising
- My role
- Led the architecture and full-stack delivery of the core platform.
- Stack
- Laravel, Vue.js, Inertia, Tailwind, SQL, queued jobs, Excel workbook processing, S3 and local file storage
In 2025, I led the build of an operations platform for a food franchisor with stores across multiple locations. The job was to bring the records and processes around each franchisee and store into one system, from the initial application through audits and renewal.
The information was there, but it was scattered
Head office had franchisee details, store records, compliance documents, reviews, and reports spread across different files and processes. A franchisee might operate several stores, which made it even harder to follow changes or work out what needed attention at branch level.
We could not solve that with a directory and a collection of forms. The useful unit of work was the store: its documents, dates, reviews, ratings, and operational history all needed to stay together.
Building around franchisees and their stores
I designed the core model around two connected records: the franchisee and the stores they operate. The franchise application establishes the franchisee, then each branch gets its own operational record for the rest of its lifecycle.
Important changes are kept as dated history instead of silently replacing the previous value. This matters when someone needs to know what was true at the time of an audit or follow up on a change made months earlier.
The platform gives each team a view of the same underlying information, with access limited by role and assignment. Documents, activity, and operational details stay with the relevant franchisee or store rather than ending up in another side process.
Moving the repetitive work out of spreadsheets
Imports and exports can take long enough that they should not hold up a browser request, so they run as queued jobs and report the outcome when processing finishes. Dates and store changes also feed reminders, dashboards, and reports, giving teams a clearer list of what needs attention.
Royalty processing was one of the more fragile workflows. It depended on Excel macros, so I moved the calculation into queued application jobs. The platform validates the source files, runs the calculations, generates the royalty workbooks, and records what happened in each batch. Excel is still part of the output because it is useful to the team; it is no longer where the business logic lives.
Audits with the evidence left attached
I also built a resumable review workflow covering five areas of store operations. Auditors can save progress, answer each question, leave remarks, and attach captioned photos. The platform then calculates the scores for each area and the overall review.
The score is only useful if someone can see how it was reached, so the answers and photos remain part of the store's review history.
Where it landed
By the end of the initial build, the franchisor had one place for franchisee and store records, documents, audits, reminders, reporting, imports, and royalty processing. New operational workflows now have an existing store record and history to build on instead of starting in another file.
I led the work from the initial architecture through full-stack delivery.