Credit Go is a digital platform designed to strengthen local commerce through a unified customer loyalty and credit system. Users earn credits when they spend in affiliated stores, which can later be redeemed in the same network — promoting collaboration between small businesses.
The main challenge was to design a seamless, scalable ecosystem that connects users, merchants, and administrators in real time. Each role required different access levels, dynamic content, and synchronization between two separate mobile applications — all while maintaining security and performance.
We structured the project as a monorepo with two independent Expo apps (user-app and merchant-app),
sharing a common shared/ package for UI components, constants, hooks, and i18n resources.
The backend, built in Laravel 12, exposes secure RESTful APIs managed by Sanctum tokens.
Using Atomic Design, we developed reusable visual components and implemented an internationalization system (Spanish, English, and Chinese). The backend was optimized with migrations, seeders, and relationship models (Users, Merchants, Coupons, CreditTransactions, Conditions). We also built a custom HTTP layer and AuthContext for persistent login sessions across devices.
One of the main difficulties was synchronizing authentication between users, merchants, and admins using different API routes. We solved it by creating specific Sanctum guards and a token-based middleware layer.
Another major challenge was maintaining code consistency across two apps. We implemented a shared library that centralizes UI, logic, and language resources, ensuring faster iterations and visual consistency.
The result is a modern, maintainable ecosystem where users can easily accumulate and redeem credits, and merchants can track engagement through their dashboard. The modular architecture allows rapid feature expansion and new integrations (QR scanning, Apple Wallet, push notifications).