You can do rpc. I just build up the query in a js loop of a selected filters array [{column,filtertype,val})] and do query = query.filtertype(column, val) using a switch statement on filtertype. I start query with let query=supabase.from('table'), then execute the finished query with {data,error} = await.query.