Blog / company
An API for the Physical World blog post cover image
| September 1, 2021
An API for the Physical World

A Cambrian Explosion of Smart Devices

If you go back about a decade, the number of connected devices inside your home is close to zero. At the time, the iPhone is still a novelty, and your thermostat is just a beige box on the wall.

Then, IoT was described as a future where connected devices would proliferate and be able to feel, actuate, and coordinate with other applications. As a whole, this technology would make the world more thoughtful. [1]

A Short Decade Full of Long Days

Our team shared much of that early vision and worked tirelessly to make it happen.

Collectively, we shipped some of the most recognized devices at Nest, and deploying thousands of smart door locks for Sonder.

Through these experiences, we came to appreciate how impactful these devices can be when integrated with software apps. That is, these devices enables software to feel, sense, and actuate in the real world.

Unfortunately, each time we worked with connected devices, we found it terribly frustrating. It's a fragmented ecosystem where each device speaks its own language and requires its own hub to talk to the internet. This is unfortunate because for these devices to become truly useful, it will have to become easy to integrate with third-party apps that can unleash its full potential.

App Developers Made Your iPhone Smart

To see why, consider the iPhone. It’s a fantastic hardware platform. But without all of the third-party apps you can download on the App Store, it’s actually not that useful.

This is because one company—no matter how large—cannot implement all of the use cases made possible by this device. So knowing this, Apple focused on building software development tools right away, in order to harness the creativity of app developers around the world. The rest is history.

IoT Devices – No Sensible SDK in Sight

Unfortunately for IoT, those software development tools don't exist, so building anything that tries to integrate with devices quickly becomes a crusade through thousand page long documentation PDFs trying to assimilate low-level concepts.

In a way, connecting-to and controlling devices today feels a lot like sending text messages before Twilio, or trying to process payments before Stripe.

So We Started Seam

Our goal is to let software developers connect to third-party devices and control them with just a few lines of code.

Our API is standardized across device functionalities, irrespective of manufacturers or model. It handles the asynchronous nature of devices in a sensible way. It comes with clear documentation that’s easy to search.

It’s made by people who understand two complex worlds: the world of hardware and OEMs who build those devices on one hand; the world of software and startups who want to change the world on the other.

from seam import devices

# unlock a door and set a timebound access code
door_lock = devices.get("front-door")
door_lock.unlock()
door_lock.set_access_code("007030", expires="2021-05-05")

# Turn up the heat
thermostat = devices.get("bedroom")
termostat.set_mode("heat")
thermostat.set_temperature(20.0)

Seam sample code video of Yale Assure unlocking with API call video of Yale Assure unlocking with access code

The Road Ahead

We’re starting by providing a simple API to programmatically access a home or a building. This includes support for smart door locks, building intercoms, garage doors, and even elevators.

With this we hope to enable many apps that need temporary access to a physical space, such as last-mile deliveries (e.g. Fedex), short-term rentals (e.g. Airbnb), or even home buying (e.g. OpenDoor, Zillow…etc).

Later on, we plan to introduce more products that interact with other device types. This is similar to how Twilio started with SMS and quickly expanded to calls, emails, or even SIM cards, simply because their mission wasn't just to solve SMS but "to fuel the future of communication."

Ours is to provide a programmatic interface to the physical world.

Stripe Twilio Plaid and Seam

[1] Nest's offer letter made mention of the word "conscious" to describe the home its team was building. In retrospect, this was a particularly poor word choice and it was later adjusted to "thoughtful" which is more fitting to what the collective set of devices inside your home can do.