{"id":9262,"date":"2025-10-21T10:36:13","date_gmt":"2025-10-21T17:36:13","guid":{"rendered":"https:\/\/blog.mozilla.org\/addons\/?p=9262"},"modified":"2025-10-21T10:36:13","modified_gmt":"2025-10-21T17:36:13","slug":"developer-spotlight-fox-recap","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/","title":{"rendered":"Developer Spotlight: Fox Recap"},"content":{"rendered":"<div id=\"attachment_9263\" style=\"width: 590px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/fox-recap\/\"><img aria-describedby=\"caption-attachment-9263\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-9263\" src=\"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-580x435.png\" alt=\"\" width=\"580\" height=\"435\" srcset=\"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-580x435.png 580w, https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-940x706.png 940w, https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-768x577.png 768w, https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-1000x751.png 1000w, https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap.png 1300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><p id=\"caption-attachment-9263\" class=\"wp-caption-text\">The Fox Recap team (pictured left to right): Taimur Hasan, Mozilla community manager Matt Cool, Kate Sawtell, Diego Valdez (not pictured: Peter Mitchell).<\/p><\/div>\n<p>\u201cWhat if we did a Spotify Wrapped for your browser?\u201d wondered a group of Cal State Monterey Bay computer science students. That was the initial spark of an idea that became <a href=\"https:\/\/addons.mozilla.org\/firefox\/addon\/fox-recap\/\" target=\"_blank\" rel=\"noopener\">Fox Recap<\/a> \u2014 a Firefox extension that leverages machine learning to give Firefox users fascinating insights into their browsing habits, like peak usage hours, types of websites commonly visited (news, entertainment, shopping, etc.), navigation patterns, and more.<\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/taimurhasan1\/\" target=\"_blank\" rel=\"noopener\">Taimur Hasan<\/a> was one of four CSMB students who built Fox Recap as part of a Mozilla-supported <a href=\"https:\/\/sites.google.com\/csumb.edu\/cscapstone-s2025\/cs-projects\/firefox-ai-platform?authuser=0\" target=\"_blank\" rel=\"noopener\">Capstone project<\/a>. We spoke with Taimur about his experience building an AI-centered extension from scratch.<\/p>\n<p><b>What makes Fox Recap an \u201cAI\u201d project?<\/b><\/p>\n<p>Taimur Hasan: <i>Fox Recap uses Machine Learning behind the scenes to classify sites and generate higher level insights, like top\/trending categories and transition patterns. I kept the \u201cAI\u201d messaging light on the listing page to avoid hype and focus on the experience. Ideally the AI features feel seamless and natural rather than front and center.<\/i><\/p>\n<p><b>What was your most challenging development hurdle?\u00a0\u00a0<\/b><\/p>\n<p>TH: <i>For me, the most challenging part of development was creating the inference pipeline, which means the part where you actually use the AI model to do something useful. It took careful optimization to run well on a typical laptop as load times were a priority.<\/i><\/p>\n<p><b>What is your perception of young emergent developers like yourself and their regard for privacy on the web?<\/b><\/p>\n<p>TH: <i>With data collection on the rise, privacy and security matter more than ever. Among dedicated and enthusiastic young developers, privacy will always be in mind.<\/i><\/p>\n<p><b>How do you see AI and browser extensions interrelating in the coming years? Do you have a sense of mutual direction? <\/b><\/p>\n<p>TH: <i>I expect wider use of small, task specific models that quietly improve the user experience in most browser extensions. For mutual direction in the browser and add-on space I can see the use of AI in manipulating the DOM being done pretty heavily in the future.<\/i><\/p>\n<p><b>Any advice for other extension developers curious about AI integration?\u00a0\u00a0<\/b><\/p>\n<p>TH: <i>Be clear about the use case and model choice before investing in training or fine tuning. Start simple, validate the value, then add complexity only if it clearly improves the experience.<\/i><\/p>\n<p>To learn even more about Fox Recap\u2019s development process, please see <a href=\"https:\/\/blog.mozilla.org\/en\/firefox\/firefox-recap\/\" target=\"_blank\" rel=\"noopener\">Fox Recap: A student-built tool that analyzes your browsing habits<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u201cWhat if we did a Spotify Wrapped for your browser?\u201d wondered a group of Cal State Monterey Bay computer science students. That was the initial spark of an idea that &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/\">Read more<\/a><\/p>\n","protected":false},"author":648,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44,278884],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Developer Spotlight: Fox Recap - Mozilla Add-ons Community Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Scott DeVaney\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/\",\"name\":\"Developer Spotlight: Fox Recap - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-580x435.png\",\"datePublished\":\"2025-10-21T17:36:13+00:00\",\"dateModified\":\"2025-10-21T17:36:13+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/4c2e23c8fee2460a91031d2825ff7d35\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap.png\",\"contentUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap.png\",\"width\":1300,\"height\":976,\"caption\":\"The Fox Recap team (pictured left to right): Taimur Hasan, Mozilla community manager Matt Cool, Kate Sawtell, Diego Valdez (not pictured: Peter Mitchell).\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/addons\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer Spotlight: Fox Recap\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/\",\"name\":\"Mozilla Add-ons Community Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/4c2e23c8fee2460a91031d2825ff7d35\",\"name\":\"Scott DeVaney\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dc38a62432c7d12585390805c2bc58e2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dc38a62432c7d12585390805c2bc58e2?s=96&d=mm&r=g\",\"caption\":\"Scott DeVaney\"},\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/sdevaneymozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Developer Spotlight: Fox Recap - Mozilla Add-ons Community Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/","twitter_misc":{"Written by":"Scott DeVaney","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/","url":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/","name":"Developer Spotlight: Fox Recap - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap-580x435.png","datePublished":"2025-10-21T17:36:13+00:00","dateModified":"2025-10-21T17:36:13+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/4c2e23c8fee2460a91031d2825ff7d35"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#primaryimage","url":"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap.png","contentUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2025\/10\/blog_FoxRecap.png","width":1300,"height":976,"caption":"The Fox Recap team (pictured left to right): Taimur Hasan, Mozilla community manager Matt Cool, Kate Sawtell, Diego Valdez (not pictured: Peter Mitchell)."},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2025\/10\/21\/developer-spotlight-fox-recap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/addons\/"},{"@type":"ListItem","position":2,"name":"Developer Spotlight: Fox Recap"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/addons\/#website","url":"https:\/\/blog.mozilla.org\/addons\/","name":"Mozilla Add-ons Community Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/4c2e23c8fee2460a91031d2825ff7d35","name":"Scott DeVaney","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dc38a62432c7d12585390805c2bc58e2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc38a62432c7d12585390805c2bc58e2?s=96&d=mm&r=g","caption":"Scott DeVaney"},"url":"https:\/\/blog.mozilla.org\/addons\/author\/sdevaneymozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/9262"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/users\/648"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=9262"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/9262\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=9262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=9262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=9262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}