Skip to content
Higher Education

How a University Cut Its Email Bill by 90% — and What Else We Shipped While Doing It

Lorestan University cut its annual email bill from roughly $70,000 to under $4,000 by migrating 10,000 mailboxes to a self-hosted Stalwart server. That project shipped alongside twelve other products, all through the same zero-downtime deploy pipeline — real commit numbers, no survey data.

H
Hamze Zare Nasiri
September 16, 2026
How a University Cut Its Email Bill by 90% — and What Else We Shipped While Doing It

What $66,000 a year actually buys

Lorestan University ran its email on IceWarp, paying roughly $70,000 a year for 10,000 mailboxes. We migrated the whole thing to a self-hosted Stalwart mail server. Same mailbox count, same users, annual cost now under $4,000. That's the number this piece is actually about — the rest is context for how a small team pulls off a migration that size.

Thirteen products, three people, one shared host

That project ran alongside build-and-deploy work on twelve other products: a helpdesk tool, a standards-compliance app, a CMS, a bioinformatics database, a couple of Telegram bots, a few internal tools. Most of those are small — a bot with one job, an internal dashboard nobody outside the team touches. Two are not: Fidar MES, which tracks steel fabrication quality and part-by-part traceability for a manufacturing client, and the Lorestan mail system itself, which 10,000 real people depend on every day. Those two get the same deploy discipline as everything else, plus more: Fidar MES ships with 113 automated tests covering things like offline shop-floor sync and QC records, because a bug in that chain isn't the kind of thing you want to find out about later.

The boring part that makes the rest possible

The deploy pipeline is the same for all thirteen products, and it's probably the least glamorous part of this: every production deploy is blue-green — a second container comes up, gets healthchecked, and only then does it replace the old one. If the healthcheck never goes green, the script deletes the new container and leaves the old one running. No maintenance windows, no "deployed but broken" state.

Code ships through the pipeline. Content doesn't have to.

We found that out the useful way two weeks ago, when a template turned out to be silently dropping the call-to-action block on twelve published articles — a null config field with no fallback. Fixing code would've meant a deploy. Fixing content didn't: the site pulls article data from Mongo on a 30-second poll, so patching those twelve records was the whole fix. No deploy, no redeploy, live in half a minute.


The number, again

Since January, that pipeline has taken close to 1,600 commits across 15 repositories into production. Velocity isn't the goal here; it's just what comes out the other end when 3 people build 13 things on one shared host, with no room for a bad deploy to take everything down.

Read the Full Case Study

Full technical breakdown of the Lorestan University email migration — architecture, timeline, and cost numbers.

View Case Study

Share This Article