Zamara
Zamara's mobile apps and events portal, the .NET GraphQL API under them, and the C# integration into the group's Dynamics ERP.
- Client
- Zamara Kenya
- Role
- Mobile Engineer & UI/UX Designer
- Period
- Apr 2023 — Jan 2024
- Links
- zamaragroup.com
.NET + GraphQL
API layer built
Microsoft Dynamics
C# ERP integration
microservices
led the architecture redesign
Figma to shipped
designed and built the UI
Problem
Zamara is a pensions and actuarial group working across Africa. The business data lived in Microsoft Dynamics; everything customer-facing was React and WordPress. They wanted mobile apps and an events portal with booking, ticketing, and notifications — and none of it could ship without an API layer over the ERP first. The existing apps also had to keep running while the new ones were built. I joined in April 2023 doing both the engineering and the design.
Approach
I built the API layer first: a .NET GraphQL server with REST endpoints, used by both the mobile apps and the web portals. One schema meant each client could ask for the shape it needed instead of us writing an endpoint per screen. Behind it I wrote the C# integration with Dynamics, so the ERP stayed the source of truth and no client ever touched it directly.
The apps are React Native with Expo, one codebase for both platforms. The events portal is Next.js. I designed every screen in Figma before building it — I held both roles, so the mockups and the shipped UI came from the same hands. Partway through I proposed moving the architecture to microservices with a Docker CI/CD pipeline on Azure Repos, and led that work while keeping the old React and WordPress apps alive.
The ERP stayed the source of truth. No client ever touched it directly.
Outcome
By January 2024 the apps and the portal both ran on the API layer I built, with the Dynamics integration behind it. The microservices proposal was accepted and I led the redesign. I drew the Figma frames, wrote the GraphQL resolvers, and wrote the C# that reaches Dynamics. Zamara does not publish user numbers, so none appear here.