Self-Service Portal – Unified Experience for HOT Customers

05/19/2025
2 minute read

Goal

This project focused on upgrading and refactoring HOT’s legacy self-service portal – Self-Service Zone (VPN required). The objective was to modernize the system by unifying backend services, CMS-driven content, and a responsive frontend.

Key Milestones

  1. Designed and implemented a service abstraction layer to expose structured data from internal systems, enabling integration with the newly built backend.
  2. Built a new content management back office using Umbraco, based on detailed specification documents. Collaborated with system implementers to streamline the CMS usage.
  3. Leveraged Umbraco CMS in a headless setup, feeding dynamic content to the frontend application.
  4. Translated design mockups into a dynamic, responsive Angular 10 UI, following Material Design principles.

Technologies Used

  • Database: SQL Server
  • Backend: .NET Framework 4.8, .NET Core 3.1, SOAP, RESTful APIs
  • Frontend: Angular 10, JavaScript, jQuery, CSS3
  • CMS: Umbraco 8 (Headless)

Project Highlights & Challenges

Umbraco Back Office Design

The original specification was created by non-technical stakeholders unfamiliar with Umbraco, resulting in:

  • Excessive abstraction layers within the CMS
  • Inefficient data structures that deeply nested required elements

Solution

  • Collaborated with the design team to revise and simplify the CMS specifications.
  • Integrated an open-source NuGet package to improve and flatten data retrieval from Umbraco’s headless API.

Integration with CRM & Billing Systems

The backend relied on multiple internal systems, but:

  • Access to data was restricted due to infosec and role-based limitations.
  • Some existing services were incompatible with the new architecture.

Solution

  • Rewrote parts of the services from scratch in .NET Core, ensuring compliance with security policies.
  • Refactored business logic to align with modern service boundaries and authentication constraints.

This project was a deep dive into bridging enterprise legacy systems with modern web architecture. It also required balancing CMS flexibility, security concerns, and frontend usability—all while collaborating across teams with competing priorities.

An error has occurred. This application may no longer respond until reloaded. Reload x