codeforboston / maple

MAPLE makes it easy for anyone to view and submit testimony to the Massachusetts Legislature about the bills that will shape our future.

Home Page:https://mapletestimony.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feasibility Test: Multi-Level InstantSearch Facet

Mephistic opened this issue · comments

Problem

For our LLM Tagging feature, we'd like to be able to filter on both tags and sub-tags in our Bill/Testimony Search, wherein a tag can have any number of sub-tags. This is effectively a two-layer hierarchy of tags. There can only be one layer of nesting (so a sub-tag cannot have further sub-tags).

e.g. a tag might be Environmental with sub-tags of Solar Power and Air Pollution. Environmental, Solar Power, and Air Pollution are all tags that should be filters for Bills/Testimonies, but any search for Environmental should include results for Solar Power and Air Pollution.

We believe that the UI for a feature like this may be difficult because so much of our search UX runs through Algolia/InstantSearch components that we import, but don't fully control. In order to determine whether it's worth investing resources in this, we should do a feasibility test - wherein we try to build out this component with our InstantSearch UX components to see how feasible it actually is. We should put a hard timebox of a week or two on this, but I fully expect this to be the trickiest part of the LLM UX, so let's keep that in mind.

Success Criteria

  • Attempt to create a multi-level facet component that operates like the designs for Tags + Sub-tags in the linked Figma
  • Report on that attempt
    • If it looks feasible, we can expand this work into the LLM epic
    • If it does not look feasible, we can rework the design to fit better with our existing UX stack.

Related Links