Versa Asset Management
The system Versa runs its telecom and radio business on. It tracks every device, SIM card and licence, holds the client and sales records, and runs the service desk, with a web app on top of fifteen backend services. Built as part of the Versa team.
Highlights
Every device, SIM and licence in one place
The asset catalogue records each radio and device with its service history. SIM cards, radio licences, IP radio subscriptions and warranties each have their own module, linked back to the client that holds them.
Sales, from first contact to contract
Accounts move through opportunity stages to a quotation and a contract, with renewals and termination handled on the contract itself. Forecast, won-and-lost and sales-performance reports come from the same records.
A service desk built for field work
Tickets arrive through channels and move through stages against service-level targets. Field reports, radio coverage tests and user training are filed against a ticket and approved before it closes.
Access decided per module
Each user holds a role with permissions set module by module, so a distributor, a client and a Versa engineer each see only their part of the same system.
Fifteen services behind one web app
Each area — assets, clients, licences, SIM cards, service requests and the rest — is its own NestJS service with its own database, connected by Kafka and deployed to Kubernetes.
Everything it does
- Asset catalogue with each device's service history and bulk import
- Directories for products, distributors, clients, customer contacts and detachments
- SIM card monitoring with a dashboard
- Radio licensing records, renewal history and regulator memorandum orders
- IP radio subscriptions
- Warranty tracking
- Sales pipeline with accounts, opportunities, stages and quotation templates
- Contracts with renewals, termination and attachments
- Sales reports — forecast, won and lost, sales performance and weekly reports
- Customer feedback and satisfaction scores
- Service desk with tickets, channels, stages, service-level targets and departments
- Field reports, radio coverage tests and user training, each with an approval step
- Repair requests and a knowledge base
- Roles, preset roles and per-module permissions
- Live notifications and user presence
- Activity logs and usage analytics
- English and Tagalog interface
Specifications
- Role
- Backend developer on the Versa team
- Platform
- Web app
- Frontend
- Next.js with Ant Design and Redux Toolkit
- Backend
- Fifteen NestJS services, MongoDB and Kafka
- Hosting
- Kubernetes on AWS, with separate dev, staging, UAT and production environments
- Sign-in
- AWS Cognito with role-based access
- Languages
- English and Tagalog
- Stack
- Next.jsTypeScriptAnt DesignRedux ToolkitNestJSMongoDBKafkaAWS