A successful internal system isn't the one that impresses at launch, but the one people still enjoy using two years later.
Most internal tools die slowly: they get slow, rigid, and end up worked around with spreadsheets.
To avoid that, I rely on three principles: clean data modeling, interfaces that respect users' time, and an architecture that can evolve without a rewrite.
Durability isn't a luxury. It's what makes a software investment keep paying off long after delivery.