AyeFace Merchant Dashboard
Built the rewards, referrals, store, and advertisement modules for AyeFace's merchant platform. React on top, Node.js, Firebase, and Kafka underneath.
About
AyeFace is a consumer-facing merchant platform where I shipped four core modules end-to-end: rewards, referrals, store management, and an advertisement system. The ad system was the most architecturally interesting piece — it needed to support two distinct ad types (in-app banners and outreach campaigns) with separate billing models and performance dashboards, all within the same data model. The biggest challenge was cross-module consistency. Reward points earned from a purchase needed to instantly reflect in the referral dashboard and the store wallet. I solved this with an event-driven architecture using Apache Kafka: each module published domain events, and downstream consumers updated their own state independently. This decoupled the modules while keeping data eventually consistent at sub-second latency. On the frontend, I built the merchant dashboard in React with role-based views — store owners saw different analytics than regional managers. Firebase Cloud Messaging handled push notifications for referral conversions and ad performance alerts. The biggest lesson was how much Kafka simplifies adding new modules later: onboarding a fifth module required zero changes to the existing four.
Features
- Rewards, referrals, store, and advertisement modules built end-to-end
- Advertisement system supporting both in-app and outreach ad types
- Push notifications integrated via Firebase Cloud Messaging
- Event-driven backend with Apache Kafka for cross-module messaging
- Database design and modeling for multi-merchant tenancy
- ReactJS merchant dashboard with role-based views and analytics
Tech stack
Screenshots


