In the UAE, things like cancelling a phone contract or requesting a plan change are not done with a phone call alone - the operator wants a formal written request letter, in a specific format, with specific lines. Get the format wrong and the request quietly bounces.
I kept rewriting the same letter for friends and family, so I turned it into a small tool.
https://telecomdeskuae.com/noc.html
How it works
The core is a small template engine, not a form-to-PDF converter:
- Audience template (personal vs business) restructures the letter skeleton
- Subject templates (cancellation, billing dispute, extra charges, name/email change, VAT, downgrade, upgrade, transfer) each swap in their own ask, justification line and closing
- The date stamp and a 30-day validity line are added automatically at build time
- Account-number validation follows each operator's real formats (the
6.xxxxxxdot format on one side, 7-or-10-digit rules on the other) - these are the details that make back-office staff reject letters - Everything renders live in a preview pane as you type
Privacy model
Letters contain personal data, so the tool is fully client-side: no database, no accounts, no storage. The page works offline after first load. Output is plain text - copy or download.
What I learned
- Formatting is the product. Plain text, but line order and whitespace are exactly what the processing team expects. It took longer to match the formats than to build anything else.
- Validation prevents more pain than generation. Most rejected letters fail before writing even starts - wrong account format, missing registered email.
- One non-obvious domain rule matters most: letters are only accepted when sent from the email address registered on the account. That reminder is built into the page.
If you work with UAE telecom workflows, the formats themselves might be the interesting part - they are a nice little case study in why institutions standardize on rigid text.
Feedback welcome - especially from anyone who has automated similar document generation.


