Digit

Senior Firmware Engineer @ SmartRent

A self-described “hyper-generalist” Digit has been hacking up all sorts of projects throughout his life including IoT hardware, graphics, embedded systems, developer tools, game engines, and interactive web applications.

He currently maintains the Elixir Burrito project, and contributes occasionally to the Nerves community as well.

When he’s not programming you’ll find him perfecting his morning espresso shot, exploring the PNW, or playing table top games.

Digit is currently a Senior Firmware Engineer @ SmartRent.

Talk:
Nerves ❤️ Flutter

Level: Intermediate

At SmartRent we’ve deployed Nerves powered devices into living spaces across the country.

From Smart Home Hubs to Thermostats, we’ve rolled our own hardware built for the BEAM. But we had to face one of our toughest challenges yet: Consumer-Facing UI! 😱

How would we build a user interface that was responsive, intuitive, animated and extensible? How would we meet the expectations of users who have used devices like modern-day phones and tablets? How would we do this all on a device that’s low power and inexpensive, while also foregoing the standard “just ship a web browser” solution?

The answer came from Flutter. Google’s UI framework written in Dart. It ended up being a powerful pairing.

Let’s explore the development journey of how we built an entire Thermostat and Smart Home Hub UI for our Nerves devices. And how this will help to kickstart the “Nerves ❤️ Flutter” initiative within the Nerves community.

OBJECTIVES:

  • Propose the challenge we faced building a consumer-grade UI product at SmartRent using Nerves.
  • Show the journey of our development, and how we arrived at our current solution.
  • Where we are at now: Flutter and Nerves is a powerful combination. What else can we build with it?
  • Retrospective of our internal choices using Flutter.
  • Encourage the community to explore Flutter and Nerves as a UI toolkit for their own Nerves projects.

AUDIENCE:

  • Anyone who wants to see the BEAM in more places!
  • People new to Nerves who want to see what it has to offer.
  • Those who have used Nerves before, but are looking for ways to create beautiful and responsive UI’s powered by Flutter, and backed by Elixir/Nerves.
  • Anyone who already is deploying Nerves in the field, who is utilizing some other form of UI, and potentially looking for another.