frontend is a free, open source internet of things (iot) project written in TypeScript and released under Apache-2.0. It has 5,778 GitHub stars, 3,932 forks and 383 open issues, and was last pushed 2 hours ago. On this registry it ranks #9 of 99 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available. It gained 86 stars over the last 23 tracked days.

What is frontend?

The Home Assistant Frontend is the official web interface for Home Assistant, built for home-automation users and developers who want a browser-based control panel for their smart home.

What it is

This repository contains the frontend for Home Assistant, the open-source home-automation platform. It is written in TypeScript and is built on modern web-component tooling, with its topic list pointing to lit-element, polymer, and webcomponents as the underlying approach. The project is Apache 2.0 licensed, and the maintainers state plainly that you are free to browse the repository, learn from it, and reuse parts of it in your own projects. A live demo is published at demo.home-assistant.io so that anyone can see the interface without deploying anything.

Concretely, the project solves the problem of having a coherent, browsable control surface for a home-automation system: it is the thing a person actually interacts with when they open their Home Assistant instance, rather than the backend services themselves. By hosting the interface separately from the Home Assistant core, it also gives frontend developers a dedicated codebase to work on, with its own development instructions, production build pipeline, and a component gallery for inspecting UI elements in isolation.

Key capabilities

  • Runs as the official interface for Home Assistant, with a public demo at demo.home-assistant.io for evaluation without a local installation.
  • Provides a production build path via pnpm build, alongside an initial setup script named script/setup.
  • Ships a separate gallery application, started with cd gallery && script/develop_gallery, for developing and reviewing components.
  • Is developed in TypeScript using lit-element, polymer, and web components, so UI elements are composable custom elements rather than framework-bound widgets.
  • Publishes dedicated frontend development instructions through the Home Assistant developer documentation, including a classic build guide at home-assistant.io/developers/frontend/.
  • Is tested across a large variety of devices using BrowserStack, as stated in the README.
  • Is maintained under an Apache 2.0 licence as part of the Open Home Foundation's Home Assistant project.

Who uses it and how

  • Home Assistant operators who want the standard browser dashboard for controlling their smart home, with a demo available to preview it first.
  • Frontend contributors working on the interface itself, following the linked development instructions and using script/setup for initial configuration.
  • Developers shipping a production deployment, who run pnpm build to produce the built assets served alongside a Home Assistant instance.
  • Component authors using the gallery workflow (cd gallery && script/develop_gallery) to exercise UI pieces in isolation before integrating them.
  • People building their own projects who take advantage of the Apache 2.0 licence to reuse parts of the codebase.

Getting started

Initial setup uses script/setup, development follows the instructions at developers.home-assistant.io/docs/frontend/development/, and a production build is produced with pnpm build.

How it compares

This registry names no comparable tool for this project, so the Home Assistant Frontend stands alone here: it is the official, Apache-2.0-licensed interface for Home Assistant rather than one option among several interchangeable frontends.

When to use it — and when not

Because it is only the frontend, adopting it means you must also operate a Home Assistant installation behind it, along with whatever devices, integrations, and infrastructure your setup requires; it is not a standalone application. The repository carries 383 open issues, which suggests a substantial backlog worth reviewing before depending on it for a production interface, and the README itself is fairly brief, pointing readers to external developer documentation for the real build and development detail.

project readme (upstream, from github) — read inline

Home Assistant Frontend

This is the repository for the official Home Assistant frontend.

Screenshot of the frontend

Development

  • Initial setup: script/setup
  • Development: Instructions
  • Production build: pnpm build
  • Gallery: cd gallery && script/develop_gallery

Frontend development

Classic environment

A complete guide can be found at the following link. It describes a short guide for the build of project.

License

Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.

We use BrowserStack to test Home Assistant on a large variety of devices.

Home Assistant - A project from the Open Home Foundation

Frequently asked questions

Is frontend free to use?

frontend is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does frontend do?

:lollipop: Frontend for Home Assistant

What is frontend written in?

frontend is primarily written in TypeScript. Its source is publicly available at https://github.com/home-assistant/frontend, and it has 5,778 GitHub stars.