Ember es una aplicación para iOS que ofrece una experiencia nativa, accesible y rápida para leer Hacker News, construida íntegramente en SwiftUI y sin dependencias de terceros. Está dirigida a iOS 18 y se desarrolla con Xcode 16 o superior.
La app reproduce todas las secciones del sitio —Top, New, Best, Ask HN, Show HN y Jobs— mediante una barra de filtros fija, y permite búsqueda de texto completo por relevancia o por fecha gracias a la API de Algolia. Los comentarios se descargan en un único request y se representan como hilos colapsables con indicadores de profundidad, parseando el HTML limitado de Hacker News (
, , , ,
,
y entidades) en bloques nativos de AttributedString con enlaces táctiles, cursivas, citas y bloques de código.
El primer lanzamiento incluye un onboarding inteligente que detecta los ajustes de accesibilidad del dispositivo (VoiceOver, Reduce Motion, Differentiate Without Color, Bold Text y tamaño de texto grande) y activa automáticamente las opciones equivalentes, informando al usuario de cada cambio. Entre las funciones de accesibilidad destaca que el estado de los elementos nunca se transmite solo con color: se combinan con iconos, formas o texto, como un check para historias leídas o anillos y marcas para la selección.
Ember incorpora además guardado local de historias para lectura offline, marcado devisited stories, lectura en Safari in-app con modo Reader opcional, perfiles de usuario con karma y envíos recientes, y un sistema de diseño propio con seis acentos, modo claro/oscuro, hápticos y animaciones fluidas. La arquitectura combina SwiftUI con el framework Observation (@Observable) y Swift Concurrency (async/await y TaskGroup), usando UserDefaults para ajustes y un archivo JSON para marcadores. Las fuentes de datos son la API oficial de Hacker News en Firebase y la de Algolia. El proyecto se distribuye bajo licencia MIT, no está afiliado a Hacker News ni a Y Combinator, y se compila generando el Xcode project con XcodeGen.
