Inspiration

What it does📺 NEXA Home — Project Story

What Inspired Us Modern living rooms are filled with ambient displays, yet smart TV interfaces remain static and clunky to navigate. When life shifts—whether a meeting gets rescheduled, dinner runs late, or you suddenly have only 15 minutes to unwind—reorganizing your evening on a smart TV usually means digging through endless menus using a D-pad remote.

We were inspired by a simple question: What if your Fire TV was an active, ambient partner that could dynamically adapt your home routines in sub-second time?

We built NEXA Home for the Amazon Developer Hackathon to prove that ambient intelligence doesn't require complex cloud setups or heavy database infrastructure. By combining accessible, remote-friendly UI design with real-time agentic re-planning, NEXA Home turns any Fire TV into a responsive command center.

How We Built It NEXA Home is engineered as a decoupled, high-performance web application designed for fast, self-contained execution.

┌─────────────────────────────────────────────────────────────────────────────┐ │ NEXA HOME ARCHITECTURE STACK │ ├──────────────────────────────┬──────────────────────────────────────────────┤ │ Frontend (Render Static Site)│ React 18 + Vite + Bun + Tailwind CSS │ │ Remote & TV Navigation │ Keyboard D-Pad Grid + Phosphor Icons + ARIA │ │ Backend Orchestrator │ FastAPI (Async) + Python 3.11 │ │ State & Execution Engine │ LangGraph MemorySaver (In-Memory Graphs) │ └──────────────────────────────┴──────────────────────────────────────────────┘ Frontend (React 18, Vite, Bun, Tailwind CSS):

Built with Bun for rapid local iteration and optimal bundle size.

Tailored specifically for Fire TV screen ratios and D-pad interaction models using high-contrast focus rings and accessible ARIA attributes.

Deployed as a high-availability Static Site on Render.com with single-page application (SPA) rewrite handling.

Backend & Agent Engine (FastAPI & LangGraph):

Powered by FastAPI for asynchronous, sub-second API responses.

Utilizes LangGraph's MemorySaver checkpointer for lightweight, in-memory state tracking. This allowed us to achieve stateful agent conversations and schedule recalculations without introducing external database latencies like PostgreSQL or Supabase.

Mathematical Formulation & Re-Planning Logic To re-plan routines dynamically when time constraints change, NEXA Home optimizes schedule blocks using a constraint-based utility formula.

Given a set of routine tasks T={t 1 ​ ,t 2 ​ ,…,t n ​ }, where each task has an estimated duration d(t i ​ ) and a priority weight w(t i ​ ), the engine solves for an optimal subset T ′ ⊆T subject to a maximum time constraint C max ​ :

T ′

max ​

t i ​ ∈T ′

∑ ​ w(t i ​ )subject to t i ​ ∈T ′

∑ ​ d(t i ​ )≤C max ​

When a user prompts NEXA with a time constraint shift (e.g., "I only have 15 minutes before my next meeting"), C max ​ is updated dynamically. The LangGraph agent recalculates task prioritization in real time, scaling task durations d ′ (t i ​ ) using a decay factor γ:

d ′ (t i ​ )=max(d min ​ ,d(t i ​ )⋅e −γ⋅ΔC ) This mathematical approach guarantees that critical tasks (high w(t i ​ )) are preserved while low-priority ambient events are compressed or deferred—all computed in sub-second time t execution ​ <300ms.

Challenges We Faced D-Pad & Screen Reader Ergonomics: Designing a web application that feels like a native Fire TV app requires strict focus-management logic. Ensuring that keyboard navigation (Tab, Enter, and Arrow keys) worked seamlessly alongside screen reader voiceover required meticulous focus-ring styling and accessible DOM structuring.

Database-Free Persistence: Because hackathon evaluation environments need to be instantly testable without database provisioning delays, we had to architect the state lifecycle entirely around in-memory structures (MemorySaver) and client-side session handlers without sacrificing functional depth.

Build & Deployment Pipelines: Containerization bottlenecks on local WSL 2 environments led us to streamline our deployment model—shifting from complex Docker pipelines to clean, native Bun static builds on Render, drastically reducing deployment times.

What We Learned Ambient UI Design: Designing for television screens demands simplicity, high visual contrast, and zero reliance on precise cursor movement.

Speed Over Overhead: Removing heavy external persistence layers in favor of lightweight in-memory graphs drastically improves execution speeds, delivering sub-second user experiences.

Accessibility as a First Class Feature: Building D-pad navigation with screen reader accessibility in mind from day one naturally produces a cleaner, more intuitive application architecture for all users.

Built With

Share this project:

Updates

Submission history