Screenshot of the iliadbusiness subscription flow

iliadbusiness is the software platform Iliad Italia uses to sell and manage its phone plans for VAT-registered businesses.

Iliad is one of the largest mobile operators in Italy and runs its own network infrastructure.

The platform handles all the main processes: signup, orders, payments, billing, logistics, activations, number portability.

On the development team, I mostly worked on the backend and core processes. I acted as a technical reference for almost every process and operational integration.

After launch, I took on the role of "Software Engineering Manager" for Iliad, formalizing the tech lead position I already had on the project.

Signup process

Signup is the first delicate part: it collects the customer's data, creates the first order, and completes the first payment. It needs to feel simple for the person buying, but solid enough to handle all the real-world cases that show up when you sell a phone service to a business.

The visible part was designed together with the UX/UI lead, then implemented by the front-end team. My work here was to provide the APIs and make sure every step left the system in a coherent state, even when something did not take the most convenient path.

iliadbusiness - signup
web signup, where the first order is placed

The flow includes practical touches like address autocomplete and a fixed cart that summarizes what is being purchased.

Signup does not only live on the website. iliadbusiness offers can also be purchased from simboxes distributed across the whole country, and that had to be accounted for: same product, different channel, different constraints.

iliad corner at the Fiordaliso shopping center
iliad corner at the Fiordaliso shopping center in Rozzano (Milan)

On the website, for example, personal documents are uploaded later from the Personal Area.

On a simbox, instead, the flow also includes scanning the required documents and issuing the SIM and receipt. Shortly afterwards, the SIM is activated without asking anything else from the customer.

The payment systems I integrated cover the main cases:

  • SEPA mandate, from website and simbox
  • Card with 3DS authentication, from website
  • Card with Ingenico POS, from simbox

Personal Area

After signup, the customer enters the Personal Area. This is where they do what they expect from this kind of service: activate SIMs delivered to their address, check usage, download invoices, and manage lines.

iliadbusiness - Personal Area homepage
Personal Area homepage

There are also less standard features, built for actual business use and not just to copy a consumer customer area with a few labels changed:

  • every month, customers receive a summary of expenses and invoices
  • SIMs can be suspended when they are not being used, avoiding billing
  • SIMs can be organized into groups for shared management
iliadbusiness - sample monthly summary
excerpt from a sample monthly summary

Main challenges

The hard part was not just "building a form" or "saving an order". It was making a public product, internal processes, legacy systems, external providers, and different sales channels fit together.

An iliadbusiness order crosses many boundaries: data validation, document generation, shipment or SIM release, optional number portability... Some steps are synchronous; others arrive through queues/async flows or delayed "operational" responses. We designed the system so that every event was traceable, repeatable, and recoverable when something stopped halfway through or failed.

Scaling problems also had to be handled pragmatically. There was no point in optimizing everything in the abstract, but we also could not forget that, after an advertising campaign for example, sharp traffic spikes are not unusual.

Because this is a business service, the system could not be as rigid as a purely self-service product. When a customer gets stuck, someone needs to be able to intervene: correct a data point, retry a step, and so on. That is why many technical choices were also operational choices: readable states, explicit actions, and manual procedures designed as part of the product.