The customer self-service portal is the end-user face of Manfi NetOps. It's used by the subscribers — residents, households, small businesses — who pay their internet bill every month. Getting the UX right for this audience required abandoning most conventional assumptions about user accounts.

The audience

ISP customers in Bangladesh include:

  • A retired teacher in Mirpur who calls the helpline every time her internet slows down
  • A garment factory owner in Gazipur who pays via bKash and needs a receipt for accounting
  • A university student who wants to check how much data he's used this month

None of them want to create a password. Most don't have email addresses registered with their ISP.

Passwordless OTP login

The auth flow:

  1. Customer visits the portal URL (or opens the installed PWA)
  2. Enters their phone number (the number registered with the ISP)
  3. Receives a 6-digit OTP via SMS
  4. Enters OTP → logged in

No email. No password. No "forgot password" flow. OTPs expire in 5 minutes and are one-time use.

On the backend, we generate a random 6-digit token, hash it with bcrypt, store it in the otp_verifications table with an expiry timestamp, and send the plain token via SMS. On verification, we compare the input against the hash and check expiry. Valid? Create a session.

What customers can do in the portal

  • View current package, speed, and next renewal date
  • See bandwidth usage graph for the current month
  • View all invoices (paid, unpaid, overdue)
  • Pay outstanding invoices via bKash, Nagad, or SSLCommerz
  • Download PDF receipt for any paid invoice
  • Submit a support ticket
  • Request a package upgrade
  • View field technician task history (installation date, technician name)

Progressive Web App

The portal is built as a PWA with a manifest.json and service worker. On Android, customers are prompted to "Add to Home Screen" on their second visit. On iOS, they can manually add it from Safari's share menu. The installed icon shows the ISP's logo — not Manfi's. It looks and feels like a native app from the ISP.

---

Mustafa Kamal Hossain

Mustafa Kamal Hossain

Founder & Principal Engineer at Manfi. Passionate about Laravel, SaaS architecture, and high-performance engineering.