Overview
Influmojo is a cross-platform marketplace connecting brands and influencers.
The product required multiple clients — web and mobile — to operate on top of a shared backend while supporting real-time communication and multi-step campaign workflows.
Full-Stack Architecture
The system follows a shared backend architecture:
Next.js Web Client
React Native Mobile Client
↓
Node.js Backend / APIs
↓
Prisma
↓
PostgreSQL
This allowed the web and mobile applications to share business logic and data models rather than implementing separate backend systems.
Marketplace Workflows
A marketplace contains significantly more state than a conventional content application.
Campaigns move through different stages involving:
- Campaign creation
- Proposals
- Negotiation
- Collaboration
- Deliverables
- Completion
The backend therefore acts as the source of truth for these workflows.
Real-Time Communication
Socket.IO was used to implement real-time communication between participants.
Real-time communication is particularly useful in marketplace scenarios because users should not have to refresh the application to discover new messages or collaboration events.
The frontend maintains live communication while the backend controls message persistence and business logic.
Authentication & Authorization
The platform incorporates JWT and OAuth-based authentication.
Authentication answers:
Who is the user?
Authorization answers:
What is this user allowed to do?
Keeping these concerns separate is important in marketplace systems where brands, influencers, and other users have different capabilities.
Database Design
Prisma and PostgreSQL provide the persistence layer.
The relational model represents relationships between:
- Users
- Brands
- Influencers
- Campaigns
- Proposals
- Messages
- Deliverables
The database design therefore becomes an important part of enforcing consistency across marketplace workflows.
Mobile Engineering
React Native allowed the product to extend the same marketplace experience to mobile while communicating with the shared backend.
The challenge was maintaining consistent business behavior across platforms while allowing each client to follow platform-appropriate UX patterns.
Frontend Engineering
The web application uses Next.js and React with reusable components and structured application state.
The frontend consumes backend APIs rather than embedding business logic that should belong to the server.
This separation makes the application easier to maintain as the product evolves.
Engineering Takeaway
Influmojo gave me experience working on a system where web, mobile, backend APIs, real-time communication, authentication, databases, and business workflows all have to work together.
It reinforced the importance of designing contracts between system components rather than treating frontend and backend as completely independent pieces.
