Skip to content

Tagging and Organization System

This directory contains individual user stories related to tag creation, tag application to various entities, and tag-based search and filtering.

The tagging system enables hosts to organize recipes, products, events, and bar setups using flexible tags. Tags can be categorized by type (occasion, season, flavor, technique, difficulty, style, custom) and used for filtering, searching, and organizing content.

✅ Implemented Stories (1) - Moved to completed/ directory

Section titled “✅ Implemented Stories (1) - Moved to completed/ directory”

Note: The implemented tagging story has been moved to ../completed/ directory.

Priority: Low
Status: ✅ Implemented (December 2025 / January 2026)

Add tags to products in inventory for organization beyond category. Products can be filtered by tags on the Products list screen using the ProductFilters component.

Implementation: TagSelector component, ProductFilters integration, tag display on product detail screen.


Priority: Medium
Status: ⚠️ Partially Implemented (January 2025)

Backend tagging system is complete (database, schemas, context), but tag management screens in the frontend are not yet fully implemented. UI components exist but tag creation/editing UI may be incomplete.

Implementation: Backend complete, UI components exist, management screens needed.

See: Tagging System Implementation


Priority: Medium
Status: ⚠️ Partially Implemented (January 2026)

TagFilter component exists with AND/OR logic, and products can be filtered by tags. Cross-entity search, saved searches, and grouped results are not yet implemented.

Implementation: Products filtering complete, cross-entity search needed.


Priority: Low
Status: ⚠️ Partially Implemented (January 2025)

Backend bulk operations exist (bulk_tag_entities, bulk_untag_entities), but frontend UI for bulk selection and operations is not yet implemented.

Implementation: Backend functions complete, UI needed.


Priority: Medium
Status: ⏳ Not Yet Implemented

Add tags to recipes. Requires Recipe entity in backend with tagging associations.

Dependencies: Recipe entity in backend, tagging associations, GraphQL schema


Priority: Low
Status: ⏳ Not Yet Implemented

Add tags to events for organizing event history. Requires Event entity in backend with tagging associations.

Dependencies: Event entity in backend, tagging associations, GraphQL schema


Priority: Low
Status: ⏳ Not Yet Implemented

Add tags to bar setup configurations for reuse. Requires BarSetup entity in backend with tagging associations.

Dependencies: BarSetup entity in backend, tagging associations, GraphQL schema


Priority: Medium
Status: ⏳ Not Yet Implemented

Filter recipes by tags when building a menu. Requires recipe tagging to be implemented first.

Dependencies: Tag Recipes (Story 5), menu building screen


Priority: Low
Status: ⏳ Not Yet Implemented

Auto-suggest tags based on recipe characteristics (ingredients, method, flavor, complexity). Requires recipe tagging and analysis features.

Dependencies: Tag Recipes (Story 5), recipe analysis features


Priority: Low
Status: ⏳ Not Yet Implemented

View analytics about tag usage including most/least used tags, distributions, and gaps. Backend utilities exist but dashboard UI is needed.

Dependencies: Multiple entity types with tags, analytics dashboard UI


Implemented: 1 of 10 stories (10%)
Partially Implemented: 3 of 10 stories (30%)
Planned: 6 of 10 stories (60%)

High Priority (0 stories):
None - all stories are Medium or Low priority

Medium Priority (4 stories):

  • ⚠️ Create Custom Tags (partial)
  • ⚠️ Search by Tags (partial)
  • ⏳ Tag Recipes
  • ⏳ Filter Menu by Tags

Low Priority (6 stories):

  • ✅ Tag Products (implemented)
  • ⚠️ Bulk Tag Management (partial)
  • ⏳ Tag Events
  • ⏳ Tag Bar Setups
  • ⏳ Auto-Suggest Tags
  • ⏳ View Tag Analytics

Backend System:

  • ✅ Database schema (tags and taggables tables)
  • ✅ Elixir schemas with validations
  • ✅ Well.Tagging context with CRUD operations
  • ✅ 7 tag types supported (occasion, season, flavor, technique, difficulty, style, custom)
  • ✅ Bulk operations available

Frontend Components:

  • ✅ TagBadge component
  • ✅ TagList component
  • ✅ TagPicker component
  • ✅ TagFilter component (with AND/OR logic)
  • ✅ TagSelector component (for products)
  • ✅ Tag utility functions

Entity Integration:

  • ✅ Products: Fully integrated with filtering
  • ⏳ Recipes: Not yet integrated (entities don’t exist in backend)
  • ⏳ Events: Not yet integrated (entities don’t exist in backend)
  • ⏳ BarSetups: Not yet integrated (entities don’t exist in backend)

Current System:

  • Products use older product-tags system with PREDEFINED_TAGS
  • New backend tagging system is ready but not yet connected to entities
  • Tag filtering works for products via ProductFilters component

See: Tagging System Implementation for complete details.



  1. For Product Organization: Use Story 1 to tag and filter products
  2. For Tag Creation: Use Story 2 to create custom tags (when management screens are available)
  3. For Searching: Use Story 3 to search across entities by tags (when cross-entity search is implemented)
  4. For Menu Building: Use Story 8 to filter recipes by tags when building menus (when recipe tagging is implemented)
  5. For Bulk Operations: Use Story 10 to efficiently organize large collections (when UI is implemented)

The tagging system foundation is in place:

  • ✅ Backend infrastructure complete
  • ✅ UI components ready
  • ✅ Products integrated
  • ⏳ Entity associations needed (recipes, events, bar setups)
  • ⏳ GraphQL integration needed
  • ⏳ Management screens needed
  • ⏳ Analytics dashboard needed
  • ⏳ Auto-suggestion algorithm needed

Once entities are created in the backend and GraphQL is set up, the tagging system can be fully integrated across all entity types.