Better Error Messages
Bad error messages are a hidden cost that compounds across every user on a platform. "Something went wrong" tells you nothing. "Error: 500" tells you less. These messages force users to either guess, ask for help, or give up.
We did a systematic review of error messages across the platform and improved them significantly.
Before and After
The most common failure before the update: a validation error that said "Invalid value" with no additional context. Which field? What was expected? What did the user provide that was wrong?
After: "The issue date must be today or in the past. The value you entered is in the future." The user knows exactly what's wrong and what a valid value looks like.
A workflow that failed with "Execution failed" now reports: "Could not send email — the recipient address field is empty on this record. Add an email address to the contact before triggering this workflow."
Categories of Improvement
Validation errors. Every validation failure now identifies the specific field, what constraint was violated, and what a valid value looks like.
Missing relation errors. When a record can't proceed because a required related record is missing or invalid, the error names the missing relation and suggests how to fix it.
Workflow errors. Failed workflow steps report which step failed, why, and what condition or data issue caused the failure.
Permission errors. Instead of generic "access denied," users see what they were trying to do and why it was blocked (status of the record, their role, the specific rule that prevented the action).
Why This Is User-Facing Quality
Error messages are often treated as an afterthought — something for developers, not users. But in a business platform, non-technical users encounter errors regularly. A clear message is the difference between a user fixing the issue themselves and a support ticket.
Clear errors produce self-sufficient users. Self-sufficient users produce less support overhead and better outcomes for everyone.
When something goes wrong, the platform should help you fix it.