← Blog Nyura Blog
Nona Banana launching a rocket — faster queries taking off

Under the Hood: Faster Queries & Better Accessibility

Database indexes, duplicate policy cleanup, and 25+ accessibility fixes make Nyura snappier and more inclusive.

March 21, 2026 2 min read Cyril Simonnet
PerformanceAccessibilityDatabaseInfrastructure

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.

Try Nyura for free

Available on iOS, Android, and web. No credit card required.

Get Started →