Case study · MVP and SaaS development
OpsVanta: one platform for the whole revenue lifecycle at IST Networks
An internal ERP built solo with Lovable and Claude Code on Lovable Cloud, running sales, projects, tickets, collections, finance and AI insights in one place.

- Client
- IST Networks
- Role
- Solo developer, working directly with the CEO
- Timeline
- – (8 months)
- Stack
IST Networks is a customer experience technology partner working across the Middle East and EMEA, and part of Teleperformance. From June 2025 to January 2026 I worked directly with its CEO to build OpsVanta, an internal platform that runs the company’s revenue lifecycle: from a sales opportunity, through quote, contract and project delivery, to invoicing, collection and financial reporting. I built the first version on my own, and today almost everyone at the company works in it, across many different roles.
It is a good answer to the question founders ask me most: can an AI-built app be a serious production system? OpsVanta was built in Lovable, with Claude Code for the harder parts, and it runs the day-to-day operations of a multi-country business.
The problem
Professional services firms like IST Networks typically run this lifecycle across separate tools: a CRM, a project tool, invoicing, and Excel files emailed between teams. The result is familiar:
- no single source of truth for revenue
- sales data that never reaches the delivery team
- collections tracked in spreadsheet chase lists and payments matched by hand
- project profitability that only shows up after the project closes
- a financial plan that is written once a year and rarely updated
OpsVanta’s goal was to make every dollar traceable from pipeline opportunity to bank reconciliation, across several countries and currencies, with each role seeing only what it needs.
- database tables, every one with row-level security
- 120
- server-side edge functions
- 20+
- React components
- 200+
- user roles, configurable at runtime
- 7
- AI features inside everyday workflows
- 7
What I built
From requirement to running project
The core of OpsVanta is one workflow that used to live in inboxes and spreadsheets. A new requirement becomes a lead. The lead is emailed to the people whose role it concerns, and they review and approve it in the platform. Once the deal is closed, it moves straight into the running projects, where the team works on a Kanban board: tickets created inside the project, each with a deadline and an owner, whether that’s a developer or a project manager.
Requirement
A new project or request comes in
Lead
The requirement becomes a lead in the pipeline
Email to the right role
Sent through Resend to whoever reviews it
Approved and won
Reviewed in the platform, deal closed
Running project
Kanban board, tickets, deadlines, owners
Holding that together is the notification system, the most intricate part of the build. Events such as a new lead, an approval, a new ticket, a deadline coming up or an overdue invoice decide who gets told, in the app and by email, based on their role. Every email goes out through Resend.
Revenue and finance
A revenue dashboard that pulls the whole business into one view: gross revenue, vendor cost, net revenue, unbilled revenue and invoiced revenue, broken down by month, country and customer. Above the charts, an AI insight ribbon calls out what matters this week, and every chart carries a short AI-written explanation, so nobody has to write the weekly report by hand.
Sales pipeline
A Kanban pipeline covering the full opportunity lifecycle, from qualification to committed, with a probability on each stage. Leaders see total and weighted pipeline value, pipeline health and stale deals at a glance, filter by manager, stage, deal and country, save their own views, and export. Opportunities flow into quotes, with AI help writing line item descriptions and quotes generated as PDFs in the browser.
Projects and delivery
Each project carries its money with it: quote value, vendor cost, net revenue, man days, resource cost from approved timesheets, and remaining budget. Financial milestones are created straight from the quote, and the project has its tasks, estimates, members, timesheets, approvals, vendor purchase orders, files and activity in one place, plus an incentive policy and calculator for project managers.
Collections
A personal workspace for each collector with an action queue and commission visibility, a leaderboard and performance view for the collection manager, and AI-generated collection advice tailored to each collector’s portfolio. Overdue invoices are detected on a schedule, so nothing waits for someone to notice.
Planning
A three-year financial plan with revenue and EBITDA projections. Finance can build scenarios, clone and compare them, and tune revenue recognition weights, pipeline assumptions and fiscal year assumptions, all tied to real pipeline data and exportable for board presentations.
How it’s built
I built OpsVanta in Lovable with its AI agent. For the parts that needed more control, I exported the code through GitHub, worked on it with Claude Code (Opus), and synced it back into Lovable, so the project never left the platform the team uses. The back end runs on Lovable Cloud, which is Supabase underneath: the database, authentication, file storage and every edge function live there. Anything privileged runs server-side in those functions, email goes out through Resend, and in-app AI calls go through the Lovable AI Gateway to Google Gemini and OpenAI GPT models.
React app
TypeScript, Tailwind, TanStack Query, role-filtered navigation
Lovable Cloud
Supabase: auth, PostgreSQL with 120 tables, all with row-level security
Edge functions
Admin actions, schedules, finance logic, notifications
Resend
Role-based emails for leads, approvals and tickets
AI gateway
Gemini and GPT for insights, advice and drafting
The decisions that matter most:
- Security in the database, not the browser. Row-level security on all 120 tables means that even someone bypassing the interface cannot read or change data their role doesn’t allow. Roles live in their own table so a user can’t promote themselves, and the admin key never leaves the server.
- Permissions and navigation stored as data. Admins change what each role can see, and even the sidebar menu, without a code deployment.
- Nothing important is ever hard-deleted. Soft deletes keep the audit trail, so a removed invoice can still be matched to a payment months later.
- Onboarding from Excel. Bulk imports for invoices, organisations, opportunities, users and vendors, with column mapping, fuzzy name matching and validation before anything is saved.
Build log
Started with the CEO
Began working directly with IST Networks’ CEO, as the only developer, to replace spreadsheet-driven operations with one platform.
Module by module
Built out sales, contracting, projects, finance, collections, support and planning on one shared data model, with roles, permissions and row-level security from the start.
Workflow and notifications
Built the requirement-to-project workflow, role-based approvals, project Kanban boards and tickets, and the notification system behind them, with email through Resend.
The AI layer
Added AI where people were writing or analysing by hand: weekly financial insights, chart explanations, collection advice, quote descriptions, sales material summaries and organisation data enrichment.
Wrapped up
Finished my engagement and handed over the platform in production, in use by almost everyone at the company.
What this project shows
- AI-built does not have to mean prototype. Lovable and Claude Code for speed, with the security and data model a finance system needs, and a GitHub round trip that keeps Lovable and hand-tuned code in sync.
- One developer, a company-wide system. Built solo, now used across the whole team and its many roles.
- Internal tools that replace spreadsheets. Pipeline, projects, collections and planning on one data model instead of files emailed between teams.
- AI where it saves time. Insights, advice and drafting built into the workflows people already use, not a chatbot on the side.
If your team runs on spreadsheets and disconnected tools, or you have a Lovable app that needs to become a system like this, let’s talk about your project.




