All projects

EveryUI
One lean interface, on every screen.

EveryUI

One lean interface, on every screen.

In development

A Scala 3 toolkit for writing one reactive interface and running it natively on effectively every device with a screen, from browsers and phones to TVs, set-top boxes, and low-power devices.

It gets the reach Flutter promised without drawing every pixel itself or shipping a runtime the platform never asked for. The targets include the web, desktop, iOS and tvOS, Android and Android TV, Roku, Samsung's Tizen and LG's webOS TVs, and low-power devices.

Native on each platform

You describe the interface once. Each platform then renders it with its own native building blocks instead of a canvas that imitates them.

  • On the web, EveryUI renders real DOM. Password managers, autofill, input methods, text selection, find-in-page, and screen readers keep working, because the browser sees the page it expects.
  • On Android phones and Android TV, it renders platform views.
  • On Roku, it renders SceneGraph. Roku has no Scala runtime, so EveryUI compiles the same Scala code into the platform's own language.
  • On the desktop, apps ship as native binaries rather than a bundled virtual machine.

Small by default

Because it doesn't bring its own rendering engine, an EveryUI app starts small. On the web the framework's floor is about 7 KB compressed, where canvas-drawn toolkits start at megabytes of WebAssembly. That matters most on the devices people forget about: budget TVs, streaming sticks, and older hardware. Animations hold 60 frames per second even on a Roku.

Built for the ten-foot screen

Because it targets TVs and set-top boxes from the start, remote-control focus, arrow-key navigation, and ten-foot layouts are part of the foundation rather than an afterthought.