That sounds cool. Sounds like you need to filter your data by a field {an array} by checking for overlapping items in the [query array] (or single item) and bring that back into your app.
I wouldn’t do any filtering in app if you plan your users to have internet at least the majority of the time. this is slow and inefficient in most cases when you are filtering rows and rows of data. Sorting is an even harder task. You can do both using the airtable API.
I would make queries based on user input and fill up the local table with the data returned. I have an example of doing this with xano and the data grid viewer in this project.
I haven’t hooked up my airtable filter example above to a DVL but that would be super easy by using a table. deleting it each time you get new data, then filling with new data rows. That plus optimizing images will be key!