Marked as helpful by the asker
Promise.all makes them parallel, not fewer. You need joins: one query with select('*, customer(name), items(count)') instead of one query per row. Ask Bolt: 'Rewrite the dashboard loader as ONE Supabase query using foreign-table selects. Show me the query first.' Then check the network tab: 40 should become 1.