kvsoftware

BITD Dashboard

The operations dashboard for a Jakarta internet provider, and the ISPs it hosts

A landing site plus admin and customer portals for BITD, an internet provider in the Jakarta area. Staff manage customers, packages, invoices, and support tickets, and provision subscribers straight onto MikroTik routers over RADIUS. The same platform hosts other ISPs as tenants, each with its own branded landing site.

BITD is an internet provider in the Jakarta area. The BITD Dashboard is the platform it runs on: customers, packages, invoices, support tickets, and subscribers provisioned straight onto its routers. The same platform hosts other ISPs as tenants, each with its own branded site.

Customers
100+
Team
2 people
Running since
May 2026

What it does

Landing site

Each ISP's public site, with its own branding.

Admin portal

Customers, packages, invoices, and support tickets for staff.

Customer portal

The subscribers' side of the platform.
The BITD admin dashboard: a sidebar of sections, quick actions, counts of clients, invoices, and tickets, and the platform's billing status
The admin dashboard: quick actions, client and invoice counts, and billing status at a glance.

From the dashboard to the router

Staff create the customer in the dashboard and the platform does the rest, over RADIUS, straight onto the MikroTik routers.

  1. Admin portal

    Staff create the customer and pick a package.

  2. Backend

    NestJS, with PostgreSQL and Redis.

  3. RADIUS

    Authenticates the subscriber and applies the package.

  4. MikroTik

    The subscriber is online.

Provisioning a subscriber, with no router config by hand.

One platform, many ISPs

Every ISP on the platform runs on its own. When a new one joins, a spawner on the VPS sets up a fresh instance for it, with its own branded landing site, kept apart from every other tenant.

  1. New ISP

    Signs up to the platform.

  2. Spawner

    Runs on the VPS and builds the tenant.

  3. Its own instance

    Separate from every other ISP.

  4. Branded site

    Live under the ISP's own name.

How a new tenant comes to life.

Building that spawner has been the hardest part so far.

My part

On a team of two, I own the backend and the system it runs on, hosted on BITD's own VPS.

Back to the work