Christopher Diuyan
Full-stack Product Engineer · Mobile · Systems Architecture
Full-stack product engineer with strong mobile experience, building reliable products across Flutter, React Native, web, and backend systems. I turn ambiguous requirements into tested, production-ready software.
01
Selected work
A personal product built end to end, followed by professional systems across banking, payments, and asset operations.
2024-current
Card Issuing Mobile App
Role
Demonstrates
- Flutter
- Dart
- Parse Server
- Hive
- Firebase
- Bloc
2023-2024
E-Wallet Mobile Banking System
Role
Demonstrates
- Java
- Spring Boot
- Ionic
- Angular
- TypeScript
- Docker
2022-2023
Assets Tracking System
Role
Demonstrates
- C#
- ASP.NET
- SQL Server
- Ionic
- Google Cloud Platform
2021
Quotation System
Role
Demonstrates
- Angular
- TypeScript
- Azure DevOps
- Postman
02
What I can help build
Three areas of work, each supported by professional systems or the Viahe case study.
Full-stack product engineering
Turning unclear requirements into working products across interfaces, APIs, data, and deployment.
Viahe · mobile banking · asset tracking
Mobile engineering
Building cross-platform applications with deliberate state management, offline behavior, platform awareness, and real-device validation.
Flutter · React Native · Ionic · Android and iOS delivery
Architecture and reliability
Defining system boundaries, failure behavior, data ownership, and testable business rules for operational and regulated domains.
Card issuing · mobile banking · Viahe decision records
03
Experience
Professional systems across card issuing, mobile banking, and asset operations.
2024-current
Card Issuing Mobile App
A cardholder application for a card issuing platform, shipped to Android and iOS: transaction history, card management, and the bonus points earned on eligible purchases.
Building the Flutter client and the data layer behind it against a Parse Server backend. The codebase is organized feature by feature, with the business rules kept independent of the framework so every cardholder action has one owner, state held outside the UI, and failures returned as values rather than thrown. Transaction history and points are cached on the device so the app still reads when the network does not, and the rules, the data layer and the state logic are covered by unit tests against mocks.
Stack
- Flutter
- Dart
- Parse Server
- Hive
- Firebase
- Bloc
- GetIt
2023-2024
E-Wallet Mobile Banking System
A mobile banking application covering bill payments, bank transfers, transaction monitoring and card security.
Worked across the mobile client and the backend services behind it, on an Ionic and Angular front end talking to Java Spring Boot services deployed as containerized microservices.
Stack
- Java
- Spring Boot
- Ionic
- Angular
- TypeScript
- Docker
2022-2023
Assets Tracking System (Web)
A web application monitoring assets across multiple countries in Africa, with reporting for the teams responsible for them.
Worked in a cross-functional team on new features, defect resolution and performance improvements across an ASP.NET and C# application backed by SQL Server.
Stack
- C#
- ASP.NET
- .NET Core
- SQL Server
- Entity Framework
2022
Assets Tracking System (Mobile)
The mobile counterpart to the tracking platform: asset monitoring and tracking in the field, shipped to both Android and iOS.
Built the mobile application from a single Ionic codebase targeting both platforms, deployed on Google Cloud Platform, applying design patterns and SOLID principles and covering behavior with unit tests.
Stack
- Ionic
- TypeScript
- Google Cloud Platform
- Android
- iOS
2021
Quotation System
A web-based quote generator producing document and Excel exports for sales workflows.
Built the Angular and TypeScript front end, worked through Azure DevOps for source control and pipelines, and verified API behavior with Postman. Covered the logic with unit tests using mocks and stubs, alongside acceptance testing.
Stack
- Angular
- TypeScript
- Azure DevOps
- Postman
04
How I work
Four habits that connect product decisions to software that can be understood, tested, and trusted.
- 01
Clarify the requirement
Most of what looks like an implementation problem is a requirement that was never fully decided. Finding that out early is cheaper than finding it out in review.
- 02
Design for failure states
A failure that misleads someone into relying on something broken is worse than one that is blunt and obvious. The direction of failure is part of the design.
- 03
Keep business rules testable
A rule that lives in a hook is a rule nothing proves. Pure logic belongs where it can be tested; device state, clocks and networks belong outside it.
- 04
Verify on real devices
Tests prove defined behavior, but they do not reproduce every device state. The most costly Viahe bug was found on a physical device, not by an existing test.
These principles are backed by Viahe's engineering decision records, including the options rejected and the costs accepted.
Read the engineering decisions05
About
I work across the product and engineering boundary, turning unclear requirements into software with deliberate behavior, boundaries, and failure states.
My experience spans mobile, web, and backend systems in banking, payments, and asset operations. I am strongest when a product needs both hands-on delivery and careful technical judgment.
06
Curriculum vitae
A focused record of my professional experience, education, technologies, and certificates.
The downloadable CV is generated from the same verified career content as this portfolio and formatted for quick review.
07
Contact
I am most useful on product work that combines mobile or full-stack delivery with requirements that still need to be clarified.
Open to full-time product engineering roles, freelance work, and contract engagements.