Service-ownership automation
Go · PostgreSQL · Azure Communication ServicesProblem
In a large organization, the person who provisions a service eventually leaves — and the service keeps running with no accountable owner. That's unclaimed spend and a compliance gap, and the existing fix was a manual weekly export-and-mail-merge campaign costing 7–8 hours a week.
Approach
Built a Go CLI that treats a PostgreSQL contact database — queried live via PostgREST — as the source of truth instead of a spreadsheet snapshot. It resolves recipients by contact tier and dispatches templated notifications through Azure Communication Services from a single command.
Result
Cut an estimated 390 hours/year of manual preparation and dispatch to roughly 250, and turned an easily-skipped campaign into a repeatable, on-demand mechanism.