[{"data":1,"prerenderedAt":664},["ShallowReactive",2],{"layout-profile":3,"project-product-design-astra-fm-app-en":13,"project-cards-en":576,"client-hubs-en":658},{"title":4,"acf":5,"featured_image":11},"Pablo Goris",{"actual_job":6,"role":7,"hero_title":8,"headline":9,"description":10},"Designer at Alea","Senior Product Designer","Hello! I'm Pablo","Designing clarity across products, systems and evolving workflows by combining UX, product thinking and AI accelerated execution to turn complex ideas into scalable experiences with real business impact.","",{"url":12,"alt":4},"/media/2026/02/pablo.webp",{"id":14,"title":15,"acf":16,"body":547,"card":552,"company":562,"cover":29,"coverAlt":30,"date":563,"description":564,"encrypted":565,"extension":566,"meta":567,"navigation":65,"path":568,"postType":569,"role":570,"sections":571,"seo":572,"status":573,"stem":574,"subtitle":19,"__hash__":575},"productDesign/product-design/astra-fm-app.md","Astra FM App",{"hero":17,"projectOverview":31,"research":81,"benchmarking":163,"strategy":256,"solution":348,"finalDesign":446,"results":517},{"title":18,"lead":19,"text":20,"tags":21,"imageLayout":26,"images":27},"Astra FM · Mobile App","Designing a radio experience that does not depend on the browser","\u003Cp>Astra already had a mainly mobile audience, but listening depended on a stable connection and browser limitations. The app was designed to make listening persistent, reliable, and available offline.\u003C/p>",[22,23,24,25],"Product Design","Research","iOS + Android","Design + implementation","single",[28],{"src":29,"alt":30},"/media/projects/astra-fm-app/hero.webp","Astra FM mobile app",{"action":32,"title":63,"lead":64,"cardsFirst":65,"singleRow":65,"cards":66,"text":80},{"label":33,"modalTitle":34,"groups":35},"View full context and goals","Why create a mobile app for Astra",[36,45],{"text":37,"cards":38},"\u003Cp>Astra originally offered a web version that let users listen to the radio, but it relied on a stable connection and wasn't well suited to typical mobile use. The project began with two primary objectives.\u003C/p>",[39,42],{"lead":40,"text":41},"Maintain playback on unstable connections","The initial aim was to achieve more reliable listening by employing technology that could keep the playback going even if the quality of the internet connection decreased or if the connection was temporarily broken. This would enable users to listen to Astra while commuting or when switching from Wi-Fi to mobile data, thus reducing interruptions and eliminating the need to restart the radio. Additionally, a library containing 100 downloadable tracks, updated once a week, was included so that users could keep listening offline.",{"lead":43,"text":44},"Reach more users","The aim was to increase Astra's presence on iOS and Android. The app would enable listeners to find the radio on major mobile platforms and make it easier for those already familiar with the platform to access it. Astra would no longer rely solely on the web and would become part of the environment where people usually listen to music.",{"title":46,"images":47},"The solution had to combine continuity, mobile access, and offline listening",[48,51,54,57,60],{"src":49,"alt":50},"/media/projects/astra-fm-app/screen-home.webp","Home screen",{"src":52,"alt":53},"/media/projects/astra-fm-app/screen-radio.webp","Radio screen",{"src":55,"alt":56},"/media/projects/astra-fm-app/screen-library.webp","Library screen",{"src":58,"alt":59},"/media/projects/astra-fm-app/screen-library-player.webp","Library player screen",{"src":61,"alt":62},"/media/projects/astra-fm-app/screen-shows.webp","Shows screen","Project overview","A mobile app built to maintain listening continuity and expand Astra's reach",true,[67,71,74,77],{"lead":68,"text":69,"tone":70},"Company","Astra FM","subtle",{"lead":72,"text":73,"tone":70},"Period","2026",{"lead":75,"text":76,"tone":70},"Role","Product design · Research · Prototyping · Front-end implementation",{"lead":78,"text":79,"tone":70},"Team","Product Designer · Back-end","\u003Cp>Astra FM is an independent online radio station that provides music editorial content; the app was developed to meet two main requirements: ensuring playback can continue when the connection becomes unstable and offering an offline option, while also integrating with Astra's existing ecosystem and backend.\u003C/p>",{"action":82,"title":149,"lead":150,"singleRow":65,"cards":151,"note":160},{"label":83,"modalTitle":84,"groups":85},"View full research","The audience in numbers: patterns, problems, and opportunities",[86,113,132,144],{"text":87,"cards":88},"\u003Cp>To understand how users interacted with Astra FM before designing the app, we analyzed 1,297 listening sessions over 92 days. The goal was to identify consumption patterns, drop-off points, and opportunities to improve the mobile experience.\u003C/p>",[89,92,95,98,101,104,107,110],{"lead":90,"text":91,"stat":65},"56%","sessions from mobile",{"lead":93,"text":94,"stat":65},"44.8%","end before 5 min",{"lead":96,"text":97,"stat":65},"29.8%","last more than 30 min",{"lead":99,"text":100,"stat":65},"8:00 / 18:00","peak listening times",{"lead":102,"text":103,"stat":65},"1,297","listening sessions",{"lead":105,"text":106,"stat":65},"28.4","average daily listeners",{"lead":108,"text":109,"stat":65},"64","daily peak",{"lead":111,"text":112,"stat":65},"53","countries reached",{"title":114,"cardsColumns":115,"cards":116},"Key problems identified",1,[117,120,123,126,129],{"lead":118,"tone":70,"textHtml":119},"1. A significant share of sessions is very short","\u003Cp>44.8% of sessions last less than five minutes. The largest group, 33.6%, remains between one and five minutes. The data alone does not reveal the cause: it may be related to connectivity, interruptions while browsing, loading, or simply trying the station.\u003C/p>\u003Cp class=\"card-label\">Opportunity for the app\u003C/p>\u003Cp>Create more stable and persistent playback that can continue in the background and adapt to different connection qualities.\u003C/p>",{"lead":121,"tone":70,"textHtml":122},"2. The audience fluctuates and does not show steady growth","\u003Cp>The daily average rose from 26.4 listeners in May to 33.4 in June, then fell to 25 in July. There is also a considerable gap between the minimum of 10 and the maximum of 64 daily listeners.\u003C/p>\u003Cp class=\"card-label\">Opportunity for the app\u003C/p>\u003Cp>Introduce retention mechanisms such as show notifications, saved content, direct access to the live stream, and easy recovery of the last experience.\u003C/p>",{"lead":124,"tone":70,"textHtml":125},"3. Mobile is already the main access point","\u003Cp>56% of sessions come from mobile devices. Safari and Android Browser represent a relevant share of consumption, showing that many users already listen to Astra on mobile within a browser-dependent experience.\u003C/p>\u003Cp class=\"card-label\">Opportunity for the app\u003C/p>\u003Cp>Turn an existing behavior into an experience specifically designed for listening to radio on mobile.\u003C/p>",{"lead":127,"tone":70,"textHtml":128},"4. The audience is concentrated in a few markets","\u003Cp>Spain represents approximately 46.4% of sessions and the United States 25.5%. Together with Argentina, the three countries account for 77.2% of the recorded audience.\u003C/p>\u003Cp class=\"card-label\">Opportunity for the app\u003C/p>\u003Cp>Consolidate markets where an audience already exists and support growth with an experience available on iOS and Android.\u003C/p>",{"lead":130,"tone":70,"textHtml":131},"5. There are clear periods of higher activity","\u003Cp>8:00 and 18:00 record the highest audience levels. Friday accounts for 17.2% of weekly activity, while Sunday has the lowest level.\u003C/p>\u003Cp class=\"card-label\">Opportunity for the app\u003C/p>\u003Cp>Use these time slots to communicate new shows, send relevant reminders, and measure which content generates the highest return.\u003C/p>",{"title":133,"images":134},"Source data",[135,138,141],{"src":136,"alt":137},"/media/projects/astra-fm-app/metrics-1.webp","Listening sessions and daily audience over 92 days",{"src":139,"alt":140},"/media/projects/astra-fm-app/metrics-2.webp","Session breakdown by duration and device",{"src":142,"alt":143},"/media/projects/astra-fm-app/metrics-3.webp","Audience distribution by country",{"note":145},{"type":146,"title":147,"message":148},"info","Conclusion","The data shows Astra FM already has a mainly mobile audience capable of long sessions, but it also has many short listens and irregular growth. The app was created to provide more stable playback, reduce interruptions, and create new touchpoints to turn occasional listening into a more frequent relationship with the radio.","Research & Insight","The evidence that justified creating the app",[152,154,156,158],{"lead":90,"text":153,"stat":65},"of sessions already came from mobile",{"lead":93,"text":155,"stat":65},"ended before 5 minutes",{"lead":102,"text":157,"stat":65},"sessions analyzed over 92 days",{"lead":111,"text":159,"stat":65},"countries reached by Astra",{"type":146,"title":161,"message":162},"Opportunity","Turn an existing mobile behavior into a stable, persistent experience for repeat listening.",{"action":164,"title":247,"lead":248,"text":249,"imageLayout":170,"singleRow":65,"images":250},{"label":165,"modalTitle":166,"groups":167},"View full benchmarking","What we learned from other music radio apps",[168,187,225,243],{"text":169,"imageLayout":170,"images":171},"\u003Cp>Before defining the app, we analyzed how other radio brands translated their identity and content into mobile experiences. Benchmarking helped identify solutions, uncover opportunities, and select features that could add the most value to Astra's experience.\u003C/p>","logos",[172,175,178,181,184],{"src":173,"alt":174},"/media/projects/astra-fm-app/logo-nts.webp","NTS",{"src":176,"alt":177},"/media/projects/astra-fm-app/logo-triple-j.webp","triple j",{"src":179,"alt":180},"/media/projects/astra-fm-app/logo-wfmu.webp","WFMU",{"src":182,"alt":183},"/media/projects/astra-fm-app/logo-kexp.webp","KEXP",{"src":185,"alt":186},"/media/projects/astra-fm-app/logo-radio-paradise.webp","Radio Paradise",{"table":188},{"headers":189,"rows":196},[190,191,192,193,194,195],"Radio","Platform","Profile","Features","Value for Astra","Weaknesses",[197,204,209,214,219],[198,199,200,201,202,203],"NTS Radio","iOS · Android","Independent radio and music discovery.","Two live streams, themed channels, archive, editorial collections, and subscription.","Main reference for identity, human curation, and alternative music.","The large amount of programming and content can make discovery harder. Navigation requires some familiarity with the station's proposition.",[183,199,205,206,207,208],"Independent music radio and nonprofit organization.","Live radio, current track, schedule, live sessions, and editorial content.","Integrates radio, community, artists, and audiovisual content.","The experience combines radio, video, news, and sessions, which can disperse attention and reduce the prominence of live listening.",[177,199,210,211,212,213],"Australian radio focused on new music.","Live radio, news, history, and sending tracks to music platforms.","Combines listening, discovery, and integration with Spotify and Apple Music.","The number of sections, shows, and content can create a more saturated experience. Its proposition is strongly tied to the Australian ecosystem.",[186,199,215,216,217,218],"Eclectic online radio curated by people.","Multiple mixes, high-quality audio, visual information, and ad-free listening.","Reference for audio quality and playback continuity.","Offers a strong listening experience, but with less editorial content, social interaction, and community participation.",[180,220,221,222,223,224],"iOS","Freeform, experimental, community radio.","Live streams, archive, podcasts, comments, favorites, and offline downloads.","Key reference for Astra's future social layer and library.","Its interface feels less current and the architecture is complex. Some features can be difficult for new users to discover.",{"title":226,"list":227},"Key aspects to compare",[228,229,230,231,232,233,234,235,236,237,238,239,240,241,242],"Direct access to live radio from launch.","Persistent player during navigation.","Behavior on unstable connections.","Track, artist, and show information.","Played-track history.","Schedule and next show.","Access to previous broadcasts.","Favorites and library.","Downloads and offline listening.","News, releases, and editorial content.","Listener interaction.","Notifications.","Spotify and Apple Music integration.","Registration and associated benefits.","Funding or membership model.",{"note":244},{"type":146,"title":245,"message":246},"Takeaway for Astra","NTS, KEXP, triple j, Radio Paradise, and WFMU provided valuable references in curation, audio, community, and discovery. At the same time, several products introduce complexity through too many sections, navigation layers, or content. For Astra, the opportunity was to build a more focused experience where listening was always the primary action.","Benchmarking & Competitor Analysis","The opportunity was not to add more content, but to simplify listening","\u003Cp>The analysis of NTS, KEXP, triple j, Radio Paradise, and WFMU showed strong references in curation, audio, and community, but also content-heavy structures. Astra took a more focused direction: radio first, immediate access, and features built around listening.\u003C/p>",[251,252,253,254,255],{"src":173,"alt":174},{"src":182,"alt":183},{"src":176,"alt":177},{"src":185,"alt":186},{"src":179,"alt":180},{"action":257,"title":327,"lead":328,"cards":329},{"label":258,"modalTitle":259,"groups":260},"View decisions and prioritization","From data to product decisions",[261,263,279,290,306],{"text":262},"\u003Cp>The data showed that Astra already had a mainly mobile audience, but the listening experience still depended on the browser and a stable connection.\u003C/p>",{"title":264,"cardsColumns":265,"cards":266},"Main needs",4,[267,270,273,276],{"lead":268,"tone":70,"text":269},"Immediate access","Provide immediate access to the live stream.",{"lead":271,"tone":70,"text":272},"Continuity","Keep playback running across context changes.",{"lead":274,"tone":70,"text":275},"Recurrence","Create new touchpoints that encourage users to return to the radio.",{"lead":277,"tone":70,"text":278},"Offline","Offer an alternative for listening without a connection.",{"title":280,"text":281,"list":282},"Prioritization of the first version","\u003Cp>Features directly related to listening were prioritized:\u003C/p>",[283,284,285,286,232,287,288,289],"Immediate access to the live stream.","Persistent and background playback.","Current track and show information.","Schedule access.","Notifications related to shows and updates.","Offline music through the library.","Recurrence through weekly refreshes.",{"title":291,"cardsColumns":292,"cards":293},"Design principles",2,[294,297,300,303],{"lead":295,"tone":70,"text":296},"Radio always available","The live stream had to be accessible from the first level and remain active during navigation.",{"lead":298,"tone":70,"text":299},"Listen before exploring","The interface had to prioritize playback. Additional content needed to support listening, not compete with it.",{"lead":301,"tone":70,"text":302},"Information at the right moment","Track, artist, current show, and next broadcast needed to appear contextually with a clear hierarchy.",{"lead":304,"tone":70,"text":305},"Designed to bring users back","Schedule, notifications, and direct access needed to help turn occasional listening into a more frequent relationship.",{"title":307,"cardsColumns":115,"cards":308},"Key experience decisions",[309,312,315,318,321,324],{"lead":310,"tone":70,"text":311},"The player as the core of the experience","44.8% of sessions ended before five minutes and a significant share of traffic came from mobile devices. A persistent player was prioritized, capable of continuing in the background and handling changes in connection quality.",{"lead":313,"tone":70,"text":314},"Direct access to the radio","Astra did not need to present a large number of sections before allowing users to listen. The live stream had to be available as soon as the app opened.",{"lead":316,"tone":70,"text":317},"An architecture centered on listening","Benchmarking showed that some radio apps combined too much content. Astra adopted a more focused structure, separating radio, schedule, history, and complementary content.",{"lead":319,"tone":70,"text":320},"Designing for recurrence","Audience peaks did not show steady growth. Schedule and notifications were added to remind users about relevant shows and make it easier to return at specific times.",{"lead":322,"tone":70,"text":323},"Integration with the existing ecosystem","The app needed to become part of Astra's ecosystem. It was connected to AzuraCast and existing content sources to keep the live stream, tracks, shows, and editorial information synchronized.",{"lead":325,"tone":70,"text":326},"Library for offline listening","Dependence on a stable connection also affected live listening. A library available after registration was created as an alternative when users could not maintain a connection.","Strategy & Design Decisions","Six decisions guided the first version",[330,333,336,339,342,345],{"lead":331,"text":332,"tone":70},"Radio first","Immediate access to live listening from the first screen.",{"lead":334,"text":335,"tone":70},"Persistent playback","Listening continues while navigating and in the background.",{"lead":337,"text":338,"tone":70},"Offline library","A downloadable selection so listening does not depend on the connection.",{"lead":340,"text":341,"tone":70},"Weekly refresh","The library renews on a predictable schedule, announced in advance.",{"lead":343,"text":344,"tone":70},"Fewer steps","Reduce the distance between opening the app and hearing sound.",{"lead":346,"text":347,"tone":70},"Built around listening","Shows, tracks and community support playback instead of competing with it.",{"action":349,"title":428,"lead":429,"text":430,"findingsHeaders":431,"findings":432,"imageLayout":439,"images":440},{"label":350,"modalTitle":351,"groups":352},"View full solution and validation","How the solution evolved into a functional beta",[353,355,363,391,424],{"text":354},"\u003Cp>The solution was built through exploration, wireframes, testing, and iteration. The goal was to keep listening at the core of the experience and validate decisions before consolidating the beta version.\u003C/p>",{"title":356,"list":357},"The proposed solution",[358,359,360,361,362],"Live radio with persistent playback.","Library with 100 tracks available offline.","Weekly refresh of downloaded content.","Schedule and live-stream information.","Notifications to encourage return visits.",{"title":364,"text":365,"images":366},"Design evolution","\u003Cp>Different architectures and hierarchies were explored before reaching the final prototype: initial navigation, home variants, player, shows, library, and editorial content. Testing made it possible to compare proposals before deciding which structure best reinforced listening.\u003C/p>",[367,371,375,379,383,387],{"src":368,"alt":369,"caption":370},"/media/projects/astra-fm-app/wireframe-home-hero-led.webp","Home wireframe, hero-led variant","Home — hero-led",{"src":372,"alt":373,"caption":374},"/media/projects/astra-fm-app/wireframe-home-player-led.webp","Home wireframe, player-led variant","Home — player-led",{"src":376,"alt":377,"caption":378},"/media/projects/astra-fm-app/wireframe-shows-list.webp","Shows wireframe, list variant","Shows — list",{"src":380,"alt":381,"caption":382},"/media/projects/astra-fm-app/wireframe-library.webp","Library wireframe","Library",{"src":384,"alt":385,"caption":386},"/media/projects/astra-fm-app/wireframe-library-grid.webp","Library wireframe with playlists laid out in a grid and filter chips","Library — grid",{"src":388,"alt":389,"caption":390},"/media/projects/astra-fm-app/wireframe-library-list.webp","Library wireframe listing tracks with download indicators and a progress banner","Library — list with downloads",{"title":392,"text":393,"table":394},"Testing and findings","\u003Cp>Testing focused on the main listening and library tasks: accessing the radio, recognizing playback status, understanding what content was available offline, starting downloads, and understanding the weekly refresh. Observed difficulties were turned directly into product iterations.\u003C/p>",{"headers":395,"rows":399},[396,397,398],"Finding during testing","Iteration made","Goal of the change",[400,404,408,412,416,420],[401,402,403],"The weekly library refresh was not clearly understood","A refresh date and advance notice were added","Prevent downloaded tracks from disappearing unexpectedly",[405,406,407],"It was unclear which tracks were available offline","A visual state was added to identify downloaded content","Make offline music easier to recognize",[409,410,411],"Download progress was not visible","A progress indicator and completion confirmation were added","Provide control and confidence during downloads",[413,414,415],"Accessing the radio required too many steps","The player was made more prominent and access was simplified","Allow listening to start immediately",[417,418,419],"Playback could be interrupted when changing context","Persistent and background playback behavior was reinforced","Maintain listening continuity",[421,422,423],"Testers needed to know when new versions were available","Updates were communicated through social media and beta channels","Encourage updates and collect feedback on each version",{"note":425},{"type":146,"title":426,"message":427},"Main changes between versions","A library refresh date and advance notice were added; a visual state was introduced for downloaded content; download progress was made visible; access to the radio was simplified; persistent and background playback were reinforced; and new versions were communicated to testers to collect continuous feedback.","Solution & Validation","From wireframes to a functional beta","\u003Cp>Testing revealed specific friction points: the weekly refresh was not understood, offline status was unclear, download progress was not visible, and accessing the radio required too many steps. Each finding became a product iteration.\u003C/p>",[396,397,398],[433,434,435,436,437,438],{"finding":401,"iteration":402,"goal":403},{"finding":405,"iteration":406,"goal":407},{"finding":409,"iteration":410,"goal":411},{"finding":413,"iteration":414,"goal":415},{"finding":417,"iteration":418,"goal":419},{"finding":421,"iteration":422,"goal":423},"row",[441,442,443,444],{"src":368,"alt":369,"caption":370},{"src":372,"alt":373,"caption":374},{"src":380,"alt":381,"caption":382},{"src":376,"alt":445,"caption":378},"Shows list wireframe",{"action":447,"title":511,"lead":512,"imageLayout":439,"singleRow":65,"images":513},{"label":448,"modalTitle":449,"groups":450},"View all final designs","Final design of the Astra app",[451,478,506],{"text":452,"imagesColumns":453,"images":454},"\u003Cp>The final interface organizes the experience around live listening, the schedule, music news, and an offline library. These screens show the main beta flows and, below, a selection of components prepared for developer handoff.\u003C/p>",3,[455,459,463,467,471,474],{"src":456,"alt":457,"caption":458},"/media/projects/astra-fm-app/final-home.webp","Home screen in an iPhone mockup","Home",{"src":460,"alt":461,"caption":462},"/media/projects/astra-fm-app/final-radio.webp","Live radio screen in an iPhone mockup","Live radio",{"src":464,"alt":465,"caption":466},"/media/projects/astra-fm-app/final-shows.webp","Shows screen in an iPhone mockup","Shows",{"src":468,"alt":469,"caption":470},"/media/projects/astra-fm-app/final-news.webp","News screen in an iPhone mockup","News",{"src":472,"alt":473,"caption":382},"/media/projects/astra-fm-app/final-library.webp","Library screen in an iPhone mockup",{"src":475,"alt":476,"caption":477},"/media/projects/astra-fm-app/final-player.webp","Offline player screen in an iPhone mockup","Player offline",{"title":479,"text":480,"cardsColumns":292,"cards":481},"Developer handoff","\u003Cp>The delivery did not end with final screens. Components were published in Astra Library with defined properties, dimensions, and behaviors so developers could implement reusable patterns instead of rebuilding each screen in isolation.\u003C/p>",[482,488,494,500],{"lead":483,"image":484,"textHtml":487},"AppMiniPlayer",{"src":485,"alt":486},"/media/projects/astra-fm-app/component-mini-player.webp","AppMiniPlayer component","\u003Cp>Use · Persistent player during navigation.\u003C/p>\u003Cp>Implementation contract · 393 × 60 · Props: title, artist · Keeps play/pause and secondary actions within one reusable pattern.\u003C/p>",{"lead":489,"image":490,"textHtml":493},"LibraryCard",{"src":491,"alt":492},"/media/projects/astra-fm-app/component-library-card.webp","LibraryCard component","\u003Cp>Use · Reusable item for each library playlist.\u003C/p>\u003Cp>Implementation contract · 180 × 222 · Props: title, songCount · Cover art and content can change without modifying the structure.\u003C/p>",{"lead":495,"image":496,"textHtml":499},"TrackListRowMobile",{"src":497,"alt":498},"/media/projects/astra-fm-app/component-track-row.webp","TrackListRowMobile component","\u003Cp>Use · Track row for the library and downloaded content.\u003C/p>\u003Cp>Implementation contract · 393 × 60 · Props: track, artist, time · The final state communicates offline availability without creating a separate layout variant.\u003C/p>",{"lead":501,"image":502,"textHtml":505},"UpdateBanner",{"src":503,"alt":504},"/media/projects/astra-fm-app/component-update-banner.webp","UpdateBanner component","\u003Cp>Use · Weekly library refresh state.\u003C/p>\u003Cp>Implementation contract · 361 × 106 · Prop: subtitle · Defines message, primary action, secondary action, and close behavior within the same component.\u003C/p>",{"cardsColumns":115,"cards":507},[508],{"lead":509,"tone":70,"text":510},"Delivery principle","Figma acts as the source of truth for properties, states, and tokens. Screens show how patterns are composed; each component contract avoids duplicated specifications during implementation.","Final Design","A radio-first experience across three core screens",[514,515,516],{"src":456,"alt":457,"caption":458},{"src":460,"alt":461,"caption":462},{"src":472,"alt":473,"caption":382},{"title":518,"lead":519,"text":520,"cards":521,"note":532,"list":536},"Results & Learnings","What was achieved and what still needs validation","\u003Cp>The current result is a functional mobile experience ready to measure real behavior. The beta makes it possible to validate the solution before public launch without presenting future metrics as impact that has not yet been demonstrated.\u003C/p>",[522,524,527,529],{"lead":24,"text":523,"tone":70},"Beta released to validate the experience before public launch.",{"lead":525,"text":526,"tone":70},"100 offline tracks","Downloadable library with a weekly refresh.",{"lead":334,"text":528,"tone":70},"Background listening and continuity across context changes.",{"lead":530,"text":531,"tone":70},"Astra integration","The app connects to AzuraCast and existing sources to sync live radio, tracks, and shows.",{"type":533,"title":534,"message":535},"warning","Impact and adoption","These metrics will be measured after public launch. At this stage, they are defined as tracking indicators, not as results already achieved.",[537,538,539,540,541,542,543,544,545,546],"Testers recruited and beta activation.","Downloads or installs.","Average listening time.","Weekly recurrence.","Offline library usage.","Interruptions or drop-offs compared with the web experience.","Next steps: analyze behavior after public launch.","Next steps: validate use and understanding of the weekly refresh.","Next steps: improve stability based on playback data.","Next steps: evaluate new features based on real usage.",{"type":548,"value":549,"toc":550},"minimark",[],{"title":10,"searchDepth":292,"depth":292,"links":551},[],{"title":553,"description":554,"tags":555,"image":560},"Astra.fm Mobile App","A mobile experience intended for the purpose of extending Astra.fm's music ecosystem, drawing in new listeners, and improving audience retention.",[23,556,557,558,559],"Design","Testing","Development","Monitoring",{"src":456,"alt":561},"Pantalla de inicio de la app de Astra.fm","Astra","August 2026","Astra already had a mainly mobile audience, but listening still depended on a stable connection and was limited by browsers. The app was designed to make listening persistent, reliable, and available offline.",false,"md",{},"/product-design/astra-fm-app","case_study","Product Design, Research, iOS + Android",null,{"title":15,"description":564},"published","product-design/astra-fm-app","0HvQPIqN-86EkYEE0Iik0VTuTBgMEd4X1-C5BrS5biI",{"/product-design/astra-fm-app":577,"/product-design/astra-redesign":580,"/product-design/booking-engine-setup":589,"/product-design/jackpot-ecosystem":601,"/product-design/la-caixa":613,"/product-design/new-client-area":624,"/product-design/new-reservation-details":634,"/product-design/redesign-breast-simulator":647},{"title":553,"description":554,"tags":578,"image":579,"to":568,"status":573,"company":562,"date":563},[23,556,557,558,559],{"src":456,"alt":561},{"title":581,"description":582,"tags":583,"image":585,"to":587,"status":573,"company":562,"date":588},"Astra Redesign","Rebuilding a multimedia radio platform around streaming, discovery and a clearer visual identity.",[22,584],"Design Systems",{"src":586,"alt":581},"/media/2026/02/Captura-de-pantalla-2026-02-13-a-las-18.22.02-scaled.webp","/product-design/astra-redesign","September 2024",{"title":590,"description":591,"tags":592,"image":595,"to":598,"status":573,"company":599,"date":600},"Guesty - New Onboarding Flow","New architecture for the setup of Guesty’s Booking Engine to make configuration easy, removing obstacles so property owners can set it up quickly and start welcoming guests sooner.",[593,594],"UX Research","Product Strategy",{"src":596,"alt":597},"/media/projects/guesty/hero.webp","Booking Engine Setup de Guesty","/product-design/booking-engine-setup","Guesty","July 2023",{"title":602,"description":603,"tags":604,"image":606,"to":609,"status":610,"company":611,"date":612},"Alea - Jackpot Ecosystem","Two products defined from their business rules: an engine where a campaign is configured tab by tab, and a manager for the player-facing template.",[22,605],"UX Architecture",{"src":607,"alt":608},"/media/projects/alea/jackpot/image-home.webp","Template Manager, Content tab, with the opt-in modal previewed on a phone","/product-design/jackpot-ecosystem","private","Alea","2025",{"title":614,"description":615,"tags":616,"image":619,"to":622,"status":573,"company":614,"date":623},"La Caixa","PAC is a private initiative belonging to the La Caixa Foundation. It is a public platform where users can book rooms anywhere in Spain.",[617,618],"Researcher","User testing",{"src":620,"alt":621},"/media/2026/03/image-hero-detail.webp","Plataforma de reservas de La Caixa","/product-design/la-caixa","April 12, 2017",{"title":625,"description":626,"tags":627,"image":629,"to":632,"status":610,"company":611,"date":633},"Alea - Client Area","A design system built from the product's needs and applied to the new Client Area: catalogue, calendar, downloads and RTP.",[22,628],"Design System",{"src":630,"alt":631},"/media/projects/alea/client-area/dashboard.webp","New Client Area dashboard","/product-design/new-client-area","October 16, 2024",{"title":635,"description":636,"tags":637,"image":640,"to":643,"status":644,"company":645,"date":646},"Kigo - New reservation details","The redesign organized the reservation detail to avoid confusion and reduce calls and emails to support.",[638,639],"IA Design","Prototyping and testing",{"src":641,"alt":642},"/media/2026/02/image-hero-detail-v2.svg","Detalle de reserva de Kigo","/product-design/new-reservation-details","wip","Kigo","March 14, 2019",{"title":648,"description":649,"tags":650,"image":652,"to":655,"status":573,"company":656,"date":657},"Crisalix - 3D Aesthetic simulation","Redesign Crisalix's simulation experience so that surgeons would find it easier to create and manage 3D aesthetic procedure simulations based on patient images.",[22,651],"User Research",{"src":653,"alt":654},"/media/projects/crisalix/hero.webp","Simulador de Crisalix","/product-design/redesign-breast-simulator","Crisalix","July 2019",[659],{"slug":660,"name":611,"logo":661,"logoAlt":611,"summary":662,"description":663},"alea","/media/2026/02/Alea-RVB-Colour.svg","Product design for Alea, from the design system to the products built on it.","Product design for Alea, from the design system to the products built on it. Some details are confidential, so these case studies sit behind one password.",1793895644648]