Under the Hood: Faster Queries & Better Accessibility
Database indexes, duplicate policy cleanup, and 25+ accessibility fixes make Nyura snappier and more inclusive.
Why Your App Felt Slow (And How We Fixed It)
Our monitoring flagged 7 database queries taking 5-10 seconds each. That's an eternity when you just want to check your tasks or glance at your travel plans. The root cause? Missing indexes on key columns and duplicate security policies that were evaluating twice per row.
We added 4 targeted indexes on subtasks, company_invitations, pm_time_entries, and pending_tasks. We also discovered and removed 4 duplicate Row Level Security policies on the subtasks table — each one was forcing PostgreSQL to call an auth function twice per row instead of once. These queries should now be sub-second instead of 5-10 seconds.
Every Button Now Speaks to Screen Readers
We found 25+ icon-only buttons across the app — buttons with just a trash can icon, a pencil, or a plus sign — that had no accessible label. If you use a screen reader, these buttons were effectively invisible: they'd announce as just "button" with no context. Every single one now has a proper aria-label that tells screen readers exactly what the button does.
Smarter Error Tracking for Email Processing
When Nyura processes your emails to extract tasks, occasionally the AI extraction can fail — a timeout, a rate limit, or a parsing issue. Previously, these failures returned a 500 error to the caller but weren't logged anywhere we could see them. They were effectively silent failures. Now every extraction error is captured in our error monitoring dashboard with the specific error code, the email subject, and the user context. This means we can proactively spot patterns and fix issues before they affect you.