Boost Content Discovery: Topic Filters For Fysi Podcast
Hey guys! So, the Fysi podcast website needs a serious upgrade to help physiotherapists find the content they're actually looking for. Right now, it's like searching for a needle in a haystack. Let's dive into how we can fix this with a topic filtering system that will make everyone's lives easier and boost digital engagement.
Problem Statement
Currently, physiotherapists visiting the Fysi podcast website face some real challenges when it comes to discovering content that's relevant to their specific interests. It's like being thrown into a library without a card catalog! This creates friction in the user experience and ultimately reduces how much people use the site. Right now, users are stuck with these less-than-ideal options:
- Scrolling through all episodes chronologically: Imagine having to scroll through hundreds of episodes just to find one that talks about, say, sports injuries. Ain't nobody got time for that!
- Using text search (which requires knowing exact keywords): This only works if you know exactly what you're looking for, which isn't always the case. Plus, it's a pain if you don't know the specific terminology used in the podcast.
- Leaving the site if they can't quickly find relevant topics: This is the worst-case scenario. If users can't find what they need quickly, they're likely to bounce and never come back. We want to avoid this at all costs.
Proposed Solution
Alright, so here's the plan: we're going to implement a comprehensive topic-based filtering and categorization system to make content discovery super intuitive and engaging. Think of it like creating a well-organized library where everything is easy to find. Here’s how we’ll break it down:
Phase 1: Sanity CMS Topic Infrastructure
First, we need to get our backend in order. This involves setting up the right infrastructure in Sanity CMS to handle topics and categories. This is crucial for organizing and tagging our content effectively.
-
Create Topic/Category Schema in Sanity
- Add a
categoriesfield to the episode schema (as an array of strings or references). This will allow us to tag each episode with one or more relevant topics. - Define standard topics relevant to physiotherapy. We need a consistent set of categories that cover all the key areas of interest. Here are some examples:
- Musculoskeletal disorders
- Sports injuries
- Neurological rehabilitation
- Geriatric care
- Pediatric physiotherapy
- Pain management
- Exercise therapy
- Manual therapy
- Evidence-based practice
- Professional development
- Tag existing episodes with appropriate topics (backfill). This is going to take some time, but it's essential to ensure that all our existing content is properly categorized.
- Add a
Phase 2: Homepage Enhancements
Next up, we'll make some changes to the homepage to highlight the new topic categories and make it easier for users to find what they're looking for right away.
-
Featured Topics Section
- Add topic cards below the hero carousel. These cards will visually represent each topic category and make it easy to browse.
- Use visual icons/images for each topic category. A picture is worth a thousand words, right? Visual cues will make the topics more appealing and easier to recognize.
- Make the topic cards clickable to filter episodes by topic. This is the key to making the filtering system work seamlessly.
- Display the episode count per topic. This will give users an idea of how much content is available in each category.
-
Quick Access Filters
- Include popular topics as clickable chips/tags. This will allow users to quickly filter by the most popular topics without having to navigate to a separate page.
- Highlight trending/most listened categories. Showcasing what's hot right now will encourage users to explore new content.
Phase 3: Archive Page Improvements
The archive page is where users go to browse all the episodes, so we need to make sure it's easy to use and navigate. Let's revamp it with some powerful filtering options.
-
Multi-Select Topic Filter
- Implement a checkbox/tag-based topic selection. This will allow users to select multiple topics at once to narrow down their search.
- Combine the topic filter with the existing text search. This will give users the flexibility to search by keyword and filter by topic at the same time.
- Display active filters with a clear button. This will make it easy to see which filters are currently applied and remove them if needed.
- Show the filtered episode count. This will give users an idea of how many episodes match their selected filters.
-
Sort & Filter Bar
- Add options to sort by: Date (newest/oldest), Popularity, A-Z. This will allow users to sort the episodes in a way that makes sense to them.
- Include filters for: Topics, Guest type, Duration. This will give users even more control over their search.
- Make the sort & filter bar responsive on mobile. We need to make sure the filtering options are easy to use on all devices.
-
Topic Pills on Episode Cards
- Display 2-3 main topics per episode. This will give users a quick overview of what each episode is about.
- Make the topic pills clickable to filter by that topic. This will allow users to quickly filter the archive page by clicking on a topic pill.
- Use color-coding to visually distinguish between categories. This will make it easier for users to quickly identify the topics they're interested in.
Phase 4: Topic Landing Pages
Let's create dedicated landing pages for each topic to provide a more immersive experience and encourage deeper engagement.
-
Dedicated Topic Pages (
/tema/[topic])- Show all episodes within a specific topic. This will provide a curated list of content for users who are interested in a particular topic.
- Include a topic description and why it matters. This will help users understand the importance of the topic and why they should care about it.
- Add a related topics section. This will encourage users to explore other topics that may be of interest to them.
- Include an option to subscribe to topic updates. This will allow users to stay informed about new content related to their favorite topics.
-
Topic Navigation
- Add "Tema" to the main navigation. This will make it easy for users to find the topic landing pages.
- Use a dropdown/megamenu to display all topics. This will provide a comprehensive overview of all the available topics.
- Include a search bar to search within topics. This will allow users to quickly find specific topics of interest.
Phase 5: Enhanced User Experience
Now, let's take it a step further and personalize the experience to make it even more engaging and relevant.
-
Personalization Features
- Allow users to "Save your interests" (using localStorage or an account). This will allow us to personalize the content that users see based on their preferences.
- Recommend episodes based on preferences. This will help users discover new content that they're likely to be interested in.
- Include a "More like this" section on episode pages. This will encourage users to explore similar content and stay engaged.
-
Analytics Integration
- Track popular topic searches. This will help us understand what topics are most popular among users.
- Monitor most viewed categories. This will give us insights into which categories are most engaging.
- Analyze user journey through topics. This will help us understand how users are navigating through the topic pages.
- Use this data to inform future content creation. We can use the analytics data to create more content that aligns with user interests.
Expected Benefits
For Users (Physiotherapists)
- Reduced time to find relevant content: Imagine going from browsing 100+ episodes to filtering just 5-10! That's a huge time saver.!
- Improved content discovery: Users will be able to surface episodes they wouldn't normally find through search. It's like uncovering hidden gems!
- Better learning paths: They'll be able to follow topics for structured knowledge building. This will make it easier to stay up-to-date on the latest developments in their field.
- Professional development: It will be easier to find CPD-relevant content, which is essential for maintaining their professional credentials.
For Fysi Business Goals
- Increased engagement: Users will spend more time exploring content, which means they're more likely to get value from the site.
- Higher return visits: By allowing users to save their interests and subscribe to topics, we'll encourage them to come back more often.
- Better conversion: An easier path from visitor to listener will lead to more people actually listening to the podcast.
- Content insights: Data on popular topics will inform future episodes, ensuring that we're creating content that people actually want to hear.
- SEO improvement: Topic pages will rank for specific physiotherapy queries, driving more traffic to the site.
Technical Implementation
Sanity Schema Changes
// Add to episode schema
{
name: 'categories',
title: 'Categories/Topics',
type: 'array',
of: [{type: 'reference', to: [{type: 'category'}]}]
}
// New category schema
{
name: 'category',
title: 'Category',
type: 'document',
fields: [
{name: 'title', type: 'string'},
{name: 'slug', type: 'slug'},
{name: 'description', type: 'text'},
{name: 'icon', type: 'image'},
{name: 'color', type: 'string'}
]
}
Frontend Components
TopicFilter.tsx: Multi-select topic filter componentTopicCard.tsx: Visual topic navigation cardsTopicPills.tsx: Episode category tagspages/tema/index.tsx: All topics overviewpages/tema/[slug].tsx: Single topic page
Archive Page Updates
- Add state management for active filters
- Combine text search + topic filters
- Update Sanity query to include categories
Success Metrics
- Engagement: Increase avg. session duration by 40%
- Discovery: 60% of users interact with topic filters
- Conversion: Increase episode plays by 25%
- Return visits: Improve returning user rate by 30%
- User feedback: Positive responses to navigation improvements
Priority: High
This feature directly addresses the user request to increase digital uptake and make content easily discoverable by interest area.
Estimated Effort
- Phase 1 (Sanity): 4-6 hours
- Phase 2 (Homepage): 6-8 hours
- Phase 3 (Archive): 8-10 hours
- Phase 4 (Topic pages): 10-12 hours
- Phase 5 (Personalization): 12-15 hours
Total: 40-51 hours (can be implemented incrementally)
Dependencies
- Access to Sanity Studio to update schemas
- Episode categorization (can be done incrementally)
- Design system for topic colors/icons
Related Issues
- Complements #33 (modern health design)
- Builds on existing search functionality
Implementation Notes
To create this issue on GitHub, use one of these methods:
Method 1: GitHub Web Interface
- Go to https://github.com/MariusSjo/fysi/issues/new
- Copy the content from this file
- Add labels:
enhancement,ux,high-priority
Method 2: GitHub CLI (if available)
gh issue create --title "Improve Content Discovery and Digital Uptake with Topic Filtering System" --body-file ISSUE_37_CONTENT_DISCOVERY.md --label "enhancement,ux,high-priority"
Method 3: GitHub API
$headers = @{
"Authorization" = "token YOUR_GITHUB_TOKEN"
"Accept" = "application/vnd.github.v3+json"
}
$body = @{
title = "Improve Content Discovery and Digital Uptake with Topic Filtering System"
body = (Get-Content ISSUE_37_CONTENT_DISCOVERY.md -Raw)
labels = @("enhancement", "ux", "high-priority")
} | ConvertTo-Json
Invoke-RestMethod -Uri "https://api.github.com/repos/MariusSjo/fysi/issues" -Method Post -Headers $headers -Body $body