Building a Multi-Role PRM Platform with Next.js and Supabase

Partner Logic PRM is a private Partner Relationship Management platform developed for AmpleLogic to improve collaboration with global resellers, referral partners, and full-cycle partners.
The company previously relied heavily on manual processes to manage partner onboarding, deal registrations, commissions, invoices, agreements, marketing funds, training resources, and performance tracking.
I designed and developed the complete application independently, using Next.js for the frontend and application architecture and Supabase for authentication, database management, storage, and secure access control.
The completed system centralizes partner operations, automates repetitive administrative tasks, and provides each user type with a dedicated workflow based on its responsibilities and commission structure.
The business problem
AmpleLogic works with multiple partner types, each following a different business model.
A reseller may manage its own sales pipeline and earn one commission percentage, while a referral partner may only introduce leads and receive a different percentage. A full-cycle partner may handle the entire sales process and therefore require broader platform access, additional workflow stages, and a separate commission model.
Managing these differences manually created several challenges:
Partner information was distributed across multiple processes.
Deal progress was difficult to monitor consistently.
Commission calculations differed by partner type.
Invoices required repetitive manual preparation.
Partner onboarding involved several disconnected steps.
Administrators needed separate methods to track agreements, funds, performance, and support requests.
Partners lacked one centralized place to monitor their activities.
The objective was to replace these disconnected processes with one secure, role-based system.
My role
I was solely responsible for the design and development of the platform.
My work included:
Planning the application architecture
Designing the database structure
Creating the user interface
Implementing Supabase authentication
Developing role-based authorization
Building separate dashboards and workflows
Creating deal-registration functionality
Implementing commission and percentage logic
Automating invoice generation
Developing onboarding and agreement workflows
Building MDF-management features
Creating training and resource sections
Implementing support-ticket functionality
Configuring security controls
Deploying and completing the production application
Because this is private company software, the internal dashboards, source code, database structure, and business data cannot be shared publicly.
User roles
The platform supports four primary user roles:
Administrator
Administrators manage the overall platform, including:
Partner accounts
Deal registrations
Partner types and tiers
Commission percentages
Agreements
Invoices
MDF requests
Training resources
Support tickets
Partner performance
Platform activity
Reseller partner
Resellers can register and manage deals, track pipeline activity, access relevant resources, monitor commission information, and manage their assigned partner program.
Referral partner
Referral partners follow a simplified workflow focused on submitting and monitoring referred opportunities. Their access, commission rules, and deal responsibilities differ from those of resellers and full-cycle partners.
Full-cycle partner
Full-cycle partners manage a wider portion of the sales process. Their workflow includes broader deal responsibilities, additional stages, and a different commission structure.
The main technical challenge
The most difficult part of the project was not creating separate dashboards. It was ensuring that every role followed its own business rules while still operating within one consistent system.
Each partner type required differences in:
Commission percentages
Deal stages
Required information
Dashboard metrics
Available actions
Approval processes
Invoice calculations
Program benefits
Onboarding requirements
Resource access
Creating entirely separate systems for every role would have caused duplicated code and made future maintenance difficult.
At the same time, forcing all roles through one identical workflow would not have matched the company’s actual business processes.
I therefore designed the platform around a shared core system with role-specific rules layered on top.
Role-based workflow architecture
The application first identifies the authenticated user and retrieves their assigned role and partner configuration.
Based on that information, it determines:
Which dashboard the user can access
Which navigation items are visible
Which records can be viewed or modified
Which deal stages are applicable
Which commission percentage should be used
Which forms and actions are available
Which approval workflow should apply
This allowed the system to remain centralized while providing a different experience for each role.
Instead of hard-coding the complete logic separately across multiple pages, shared components and reusable business rules were used wherever possible.
Role-specific behavior was then applied through configuration, authorization checks, and controlled conditional rendering.
Key features delivered
Partner dashboards
Each partner receives a dedicated dashboard displaying information relevant to their role.
Depending on the account type, dashboards can include:
Registered deals
Pipeline value
Current deal stages
Commission information
Partner-program status
MDF requests
Agreement status
Training progress
Support activity
Performance indicators
Administrators receive a broader overview across all partner accounts and platform activity.
Deal registration and tracking
Partners can register opportunities directly through the platform rather than relying on disconnected emails or spreadsheets.
The deal workflow includes:
Deal submission
Partner-type validation
Administrative review
Status updates
Pipeline progression
Commission tracking
Approval states
Activity history
The available workflow and responsibilities vary according to the partner role.
Tiered partner programs
The application supports structured partner tiers, including Silver, Gold, and higher program levels.
Partner tiers can influence:
Available benefits
Resources
Commission settings
Program visibility
Eligibility conditions
Performance expectations
This provides the company with a scalable foundation for managing different partner relationships.
Commission and percentage management
Commission logic is one of the most important parts of the platform.
Different partner types can have different percentage structures based on their contribution to a deal.
The system applies the relevant commission rules according to:
Partner role
Deal details
Workflow status
Administrative settings
Approved values
This reduces the risk of inconsistent calculations and avoids repeatedly calculating partner earnings manually.
Automated invoice generation
The platform automates invoice preparation for eligible partner transactions.
Instead of manually collecting deal information and calculating percentages for every invoice, the application uses stored deal and commission data to prepare the required information.
This helps reduce:
Repetitive administration
Calculation errors
Missing information
Delays in partner payments
Inconsistent invoice formatting
The automated workflow also keeps invoices connected to the relevant partner and deal records.
MDF management
Partners can submit requests for Market Development Funds through the platform.
The workflow supports:
Request submission
Campaign details
Requested amounts
Administrative review
Approval or rejection
Status tracking
Return-on-investment information
This gives both partners and administrators a centralized history of marketing-fund activity.
Agreement and onboarding workflow
The platform includes a structured onboarding process for new partners.
This covers:
Account registration
Role assignment
Agreement handling
Secure digital acceptance
Credential access
Guided onboarding steps
Initial resource access
The objective was to reduce manual coordination and help partners begin using the platform more quickly.
Training and resource hub
Partners receive access to a centralized collection of:
Sales materials
Product information
Training content
Knowledge-base articles
Partner documentation
Enablement resources
Access can be controlled according to the partner’s role, tier, or program.
Performance insights
The platform provides analytics and activity information for monitoring partner performance.
Depending on role and access level, this can include:
Revenue and pipeline values
Deal activity
Partner engagement
Program progress
MDF performance
Support activity
Partner satisfaction indicators
These dashboards help replace fragmented reporting with a centralized view of partner operations.
Support-ticket system
A built-in support system allows partners to request assistance directly through the platform.
Partners can create and monitor tickets, while administrators or partner-success representatives can manage responses and ticket status.
This keeps support conversations connected to the relevant partner account.
Technology stack
Next.js
Next.js was used to create the application interface and organize the platform into maintainable, reusable modules.
It supported:
Structured routing
Reusable dashboard components
Role-based rendering
Server-side application logic
Responsive interfaces
Scalable project organization
Supabase
Supabase was used as the core backend platform for:
Authentication
PostgreSQL database management
User profiles
Role and permission data
Partner records
Deal information
Commission configuration
Invoice records
Support tickets
Secure data access
Supabase provided a practical foundation for creating a secure multi-role application without requiring a separate backend infrastructure for every feature.
PostgreSQL
The relational database structure was important because partner accounts, deals, commissions, invoices, agreements, MDF requests, and support tickets are closely connected.
A relational model helped preserve consistency between these records and made it possible to build structured administrative reporting.
Security and compliance
Because the platform contains private business, partner, deal, and financial information, security was treated as a core requirement.
The system was developed to support enterprise security expectations, including:
Secure authentication
Role-based access controls
Restricted record visibility
Protected administrative functionality
Controlled partner data access
GDPR-ready data handling
SOC 2-aligned security requirements
Reliable production availability
Users can only access the areas and records permitted for their assigned role.
The application was also designed around a 99.9% uptime requirement and production-ready operational support.
Results
The completed platform replaced several manual and disconnected processes with one centralized system.
The main outcomes included:
Reduced manual administrative work
Automated invoice preparation
More consistent commission calculations
Centralized partner onboarding
Structured deal-registration workflows
Role-specific partner dashboards
Improved visibility into partner pipelines
Centralized agreement management
Easier MDF tracking
Consolidated training resources
Integrated partner-support workflows
Better control over partner data and access
The application is now complete and is used internally by the company as private software.
What I learned
This project strengthened my understanding of how to translate complex business rules into a maintainable software architecture.
The most important lesson was that role-based systems require more than hiding or showing interface elements. Authorization, data access, calculations, workflows, approvals, and reporting must all follow the same role-specific rules.
I also learned the importance of separating shared platform logic from partner-specific configuration. This made it possible to support multiple partner models without creating four unrelated applications.
The project also gave me practical experience in:
Designing multi-role SaaS architecture
Modelling complex relational data
Building secure authorization workflows
Automating financial processes
Converting manual operations into structured software
Developing a complete business platform independently
Project availability
Partner Logic PRM is private company software, so internal dashboards, business data, and source code cannot be published.
A publicly accessible deployment is available, but access is restricted to the authentication screen:
Live application: partnerlogic-prm.vercel.app
Conclusion
Partner Logic PRM was developed to solve a complex operational problem: managing several partner types with different responsibilities, workflows, percentages, and access requirements within one platform.
By combining Next.js, Supabase, PostgreSQL, and a configurable role-based architecture, I created a system that centralizes partner operations, automates repetitive tasks, and gives both administrators and partners a more structured way to manage their work.