CheckCheck
Mobile/Web solution to verify the regularity of bank checks
Cette étude de cas n'a pas encore été traduite — elle est affichée dans sa langue d'origine.

- Client
- PCA (Company)
- Besoin du client
- Cross-platform(Mobile and Web application) tool designed to assist individuals and companies in verifying the regularity of bank checks.
- Secteur
- Banks, Finance
- Siège social
- Casablanca, Morocco
- Durée du projet
- 4 mois (mars — juil. 2021)
Overview
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.
The Challenge
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:
- Calling the bank manually to verify check details — time-consuming and error-prone
- No way to check regularity outside of banking hours
- No digital tool accessible on mobile devices for on-the-spot verification
- Businesses discovering bounced checks only after depositing them, causing cash flow disruptions
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.
Technical Approach
We built CheckCheck as a dual-platform solution to maximize accessibility:
- React web application for desktop users in office environments — banks, accounting firms, and businesses
- React Native mobile app for on-the-go verification — merchants, field agents, and individuals
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:
- React with TypeScript for the web application
- React Native for iOS and Android mobile apps
- RESTful API integration with the bank's check verification system
- Real-time validation feedback with progressive input assistance
- Git for version control and JIRA for sprint-based project management
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.
My Role
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:
- Designing and building the React web application with responsive layouts for desktop and tablet use
- Developing the React Native mobile app with native-feeling interactions on both iOS and Android
- Integrating the bank's check verification API with proper error handling and retry logic
- Implementing the progressive validation UX pattern that provides real-time feedback during input
- Building a verification history feature so users could track and reference previous checks
- Working within an Agile/Scrum framework with 2-week sprints managed in JIRA
Impact and Results
CheckCheck delivered a meaningful improvement in check verification efficiency for its users:
- Reduced check verification time from minutes (phone calls) to under 10 seconds per check
- Cross-platform availability ensured users could verify checks from any device, anytime
- Progressive input validation reduced user errors and improved the accuracy of verification requests
- The verification history feature became one of the most-used functions, allowing businesses to maintain audit trails
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.
Outcome
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.
Galerie — 01 / 10







