Maguru
Lead Full-Stack Developer, then Frontend Technical Lead
Over eight years at Maguru I moved from lead full-stack developer to technical lead, taking the company's core web platform, its call routing product, and a two-app mobile line through successive rebuilds as the business and the stack both grew up.
- React
- React Native
- React Flow
- AngularJS
- Angular
- Ionic
- TypeScript
- PHP
- MariaDB
Context
The challenge
The company needed its ageing AngularJS/Ionic web and mobile stack replaced with something that could support a growing, configurable call-routing product used directly by non-technical business customers, and two production mobile apps that had outgrown Ionic, without a parallel team big enough to build and maintain two stacks at once.
Delivery
What I built
- As Lead Full-Stack Developer, I led frontend development of the company's core web platform in AngularJS and Angular, launched its mobile product line with two cross-platform Ionic apps (Maguru Mobile CRM and My Craftsman), and owned the PHP and MariaDB CMS platform behind it.
- As Frontend Technical Lead, I built the custom graph-based editor behind the company's call routing platform, using React and React Flow, with configurable nodes, conditional logic, and a business rule execution engine that let non-technical staff build call handling scenarios visually.
- I led the migration from Ionic to React Native, completed in 2019, and then led development of both mobile applications on the new stack: Maguru Mobile CRM for craftsmen businesses and My Craftsman (Mine Håndværkere) for their customers.
- I developed a native iOS caller ID application in Objective-C, solving real-time server-to-device contact synchronisation without manual contact creation on the handset.
Result
Outcome
The call routing platform serves over 200 business clients, processing thousands of calls a day across Denmark for more than 30,000 end users. Both React Native apps shipped to the App Store and remained in production through the Ionic-to-React Native migration.