I updated Spernakit v2 to version 2.5.0. I ran ten quality audits against everything built so far and fixed the issues identified. Each audit had its own specialty - one for security, one for code organization, one for performance, one for the database layer, and six more. Every one of them found something the other nine had missed. The database pass checked things the security pass hadn’t looked at. Every finding became a tracked improvement, and I verified every improvement before moving on.

The audit-and-fix rhythm is strangely satisfying to me. Run an audit, get a list of findings, work through them, verify each one, move to the next category. Replacing magic numbers, standardizing error responses, and removing dead code isn’t glamorous, but it makes me more comfortable trusting the template with production work.

One concrete result on February 17: the JWT expiry in the shipped configuration was still 24 hours, while the defaults and schema expected 15 minutes. The cookie lifetime had drifted with it. I aligned the configuration, example, and documentation. A second pass found health-status helpers copied between two components and extracted the shared implementation. Those are the kinds of findings I mean: a configuration disagreement and duplicated code, each with a change I could check.

Along the way, I also added a command palette, five color themes, the ability to switch layouts between sidebar and top-bar modes, a bug reporting dialog, and optimistic UI patterns that make the interface feel instant. I put all of that through the audits too, of course.