OpsROI
A multi-tenant SaaS operations platform for service businesses, providing organization management, role-based access, workflows, billing, credits, integrations and operational visibility.
- My role
- Backend Developer / Team Leader
- Timeframe
- 2025–present
- Team
- Cross-functional development team at Octopi Digital LLC

Overview
OpsROI is a multi-tenant SaaS platform that service businesses use to run their operations: organizations and agencies, role-based access, workflows, billing, credits and integrations.
As backend developer and team leader, I work on the APIs and business logic for multi-tenancy and access control, Stripe billing, webhook-driven workflows and production deployment.
The problem
Each organization and agency needs its own access rules and billing. Payments can arrive through several paths, including agency routing, direct charges, credits, top-ups and refunds, and older organizations still carry legacy states. All of it has to stay correct and consistent.
My role
What I did
- Developed backend APIs and business logic for a multi-tenant organization, agency and role-based access-control system.
- Implemented and maintained Stripe-based agency billing, direct-charge flows, credits and top-up functionality.
- Built and maintained payment, invoice, refund and credit-related business logic.
- Developed integrations and webhook-driven backend workflows for reliable asynchronous processing.
- Worked on production deployment, server configuration, debugging and performance/stability issues.
- Collaborated across frontend and backend layers to deliver complete SaaS functionality.
What the wider team did
- The React frontend, UI/UX and product features.
- Other application areas, integrated with the backend APIs.
Technical approach
A React/Vite frontend calls an Express/Node.js API backed by MongoDB through Mongoose. Requests pass through organization, agency and role-based access rules before the business logic runs.
Stripe payment and webhook handlers update billing records, and credit and top-up services maintain organization balances. In production, the application services run under PM2 behind Nginx.
Architecture and integrations
Text version of the diagram
A React/Vite frontend calls an Express/Node.js API backed by MongoDB. Organization, agency and role-based access rules sit in front of the business logic. Billing services handle credits, top-ups and refunds, and Stripe webhooks update billing records.
- React / Vite frontend → Express / Node.js API: REST
- Express / Node.js API → Organizations & RBAC
- Express / Node.js API → MongoDB
- Organizations & RBAC → Billing services
- Billing services → MongoDB: balances
- Stripe → Billing services: webhooks
Challenges and solutions
Consolidating billing logic
Challenge: Billing involved multiple payment paths, agency routing, credits, top-ups, refunds and legacy organization states.
Solution: The payment logic was consolidated around shared business rules, with a clearer separation between collected amounts, refunds and credit usage.
Outcome
- Production SaaS platform with multi-tenant operations, billing, payment integrations and automated business workflows.
Technology stack
- Node.js
- Express.js
- TypeScript
- MongoDB
- Mongoose
- React
- Vite
- Redux Toolkit
- RTK Query
- Stripe
- Webhooks
- Git
- GitHub
- Linux VPS
- PM2
- Nginx