[{"data":1,"prerenderedAt":124},["ShallowReactive",2],{"project:adk-signage":3,"project-index":53},{"id":4,"title":5,"aTitle":6,"body":7,"categories":27,"description":29,"extension":30,"image":31,"images":32,"link":35,"meta":36,"navigation":37,"order":38,"path":39,"role":40,"seo":42,"slug":43,"stem":44,"summary":45,"tags":46,"team":50,"thumb":51,"__hash__":52},"projects\u002Fprojects\u002F1018_adk_signage.md","Signage TV app - Imraan","ADK Hospital signage TV app",{"type":8,"value":9,"toc":23},"minimark",[10,14,17,20],[11,12,13],"p",{},"The signage app drives the large screens in ADK Hospital's waiting areas — currently-calling tokens, room and doctor listings, and scheduled media, all fed from the queue management system.",[11,15,16],{},"It is a split build by design. The interface is written in React Native, which keeps layout and template work fast to iterate on, while the demanding parts sit in native Android Kotlin: a simple text-to-speech engine for calling announcements, and the audio and video players. Anything that had to be dependable under continuous operation was written natively rather than bridged.",[11,18,19],{},"The hardest requirement was not a feature but uptime. These screens run unattended, all day, and nobody is going to notice a frozen display quickly. The app ships with a watchdog and self-recovery, along with self-healing video management that repairs its own media state rather than sitting on a broken playlist. When something does go wrong badly enough to need a human, a recovery menu gives on-site staff a way in without re-flashing the device. Provisioning is linked to the queue management system, so a screen picks up its configuration and its template centrally, and multiple templates are supported for different areas.",[11,21,22],{},"Compatibility was the other constraint. The app supports Android 7 and up, and has been tested against API levels 24, 30, 31 and 34 — on both Android TV OS and mobile\u002Ftablet builds of Android, across hardware from different vendors. Supporting that spread is most of the reason the heavy lifting lives in Kotlin.",{"title":24,"searchDepth":25,"depth":25,"links":26},"",2,[],[28],"Android TV app","Android TV signage app with self-healing playback, built in React Native and native Kotlin","md","\u002Fsocial\u002Fworks\u002Fthumbnails\u002Fadk_signage.jpg",[33,34],"works\u002Fimages\u002Fadk_signage_1.jpg","works\u002Fimages\u002Fadk_signage_2.jpg",null,{},true,1018,"\u002Fprojects\u002F1018_adk_signage",[41],"Fullstack developer",{"title":5,"description":29},"adk-signage","projects\u002F1018_adk_signage","Development of a self-healing Android TV signage app for hospital waiting areas",[47,48,49],"React Native","Kotlin","Android TV",[],"works\u002Fthumbnails\u002Fadk_signage.png","UC4fZZA1sNGHSQ3TbTBOGsoMkvWz_AVNMLssHNP_ab4",[54,57,60,63,66,69,72,75,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121],{"slug":55,"aTitle":56},"wc2026-predictions","ADK Synergy World Cup 2026 predictions",{"slug":58,"aTitle":59},"pabx-cdr-analysis","PABX call record analysis",{"slug":61,"aTitle":62},"postgres-ha","PostgreSQL high availability platform",{"slug":64,"aTitle":65},"ai-narration","AI narration and text-to-speech platform",{"slug":67,"aTitle":68},"cloud-player","Cloud Player",{"slug":70,"aTitle":71},"brainspine-app","Maldives BrainSpine conference app",{"slug":73,"aTitle":74},"adk-token-display","ADK Hospital doctors room token display",{"slug":43,"aTitle":6},{"slug":77,"aTitle":78},"adk-qms","ADK Hospital queue management system",{"slug":80,"aTitle":81},"adk-hbot","ADK Hospital Hyperbaric Oxygen Therapy",{"slug":83,"aTitle":84},"clinical-incident-report-portal","ADK Hospital clinical incidents portal",{"slug":86,"aTitle":87},"porter-app","ADK Hospital porter app",{"slug":89,"aTitle":90},"majeedi-run","Majeedi Run portal",{"slug":92,"aTitle":93},"cmca-website","China Maldivian Cultural Association website",{"slug":95,"aTitle":96},"brainspine23","Brain & Spine conference 2023 website",{"slug":98,"aTitle":99},"sih-e-library","Shafi’a Institute of Health e-library",{"slug":101,"aTitle":102},"adk-lucky-draw","ADK Hospital lucky draw app",{"slug":104,"aTitle":105},"acc-cms","Anti-Corruption Commission Case Management System",{"slug":107,"aTitle":108},"brainspine22","Brain & Spine conference 2022 website",{"slug":110,"aTitle":111},"icom-tours","iCom Tours website and portal",{"slug":113,"aTitle":114},"dhuvaahithun-app","Dhuvaahithun app",{"slug":116,"aTitle":117},"jsc-cms","Judicial Service Commission Case Management System",{"slug":119,"aTitle":120},"motca","Ministry of Transport and Civil Aviation website",{"slug":122,"aTitle":123},"aonews","AO News",1786359403212]