
Get the latest updates and exclusive content by subscribing to my newsletter.

CheckCheck is a cross-platform application designed to help individuals and businesses verify the regularity of bank checks in real time. Built as both a web application and a mobile app, it connects directly to banking APIs to validate check information and flag potential irregularities before they become financial problems.
As a Software Engineer at PCA, I was responsible for designing and building both the React web interface and the React Native mobile application, integrating them with the bank's verification API to deliver instant, accurate check validation.
Check fraud remains a significant problem in the Moroccan banking sector. Businesses and individuals routinely accept checks without a reliable way to verify their validity upfront. The traditional process involved:
PCA needed a solution that would allow users to verify checks instantly from any device — whether at a point of sale, in an office, or on the go — with real-time feedback from the banking system.
We built CheckCheck as a dual-platform solution to maximize accessibility:
Both platforms shared a common codebase for business logic where possible, reducing development time and ensuring consistent behavior across web and mobile. The architecture included:
A key technical challenge was handling the bank API's response latency. Check verification queries sometimes took 3-5 seconds, which felt unacceptably slow for users. I implemented an optimistic UI pattern with progressive feedback — showing validation hints as the user typed (format checks, digit verification) while the full bank API response loaded in the background. This made the experience feel near-instant even when the backend was slow.
As a Software Engineer at PCA, I owned the entire frontend across both platforms — from UI design through to production deployment.
My key contributions included:
CheckCheck delivered a meaningful improvement in check verification efficiency for its users:
The project demonstrated how a well-designed cross-platform solution can digitize a traditionally manual financial process, reducing friction and risk for businesses that handle check payments regularly.
CheckCheck transformed an opaque, manual banking process into an accessible digital tool. By building on React and React Native with shared business logic, we delivered a consistent experience across web and mobile while keeping the development timeline tight. The progressive validation pattern proved especially valuable — it created a sense of responsiveness that built user confidence in the verification results.









