
Skills: JavaScript, Node.js, React, TypeScript, Internet of Things (IoT), PostgreSQL
We are looking for software engineers, preferably proficient in TypeScript. We prefer people who are comfortable in a full-stack role and have superhero strengths in building scalable backends. We play with a lot of hardware and spend a lot of time thinking about developer UX. We like written communications. We prefer to keep things simple and don't overthink first implementations. You should generally be curious, comfortable with the unknown, love experimentation, and be able to move fast.
Below is a quick description of some of our projects.
Our high-level goal is to build a device/manufacturer agnostic integration layer that connects to various devices and exposes their functionality through a simple API. This task involves integrating dozens of different IoT brands and their protocols (Z-Wave, Zigbee, BACnet, OEM API...etc) and neatly organizing them amongst common functionality. We spend a lot of time building this part of our stack.
Our customers tend to be quite technical and some of them even contribute code to our SDKs. In general, we spend a lot of time creating tools and client libraries to make interfacing their applications with devices easier. We strive to standardize device functions across brands and hide all the nasty complexity away. For example, below is an example from our TypeScript library:
import Seam from "seamapi";
// Seam will automatically use the SEAM_API_KEY environment variable if you
// don't provide an apiKey to `new Seam()`
const seam = new Seam();
const { devices: [someLock] } = await seam.locks.list();
// If the lock is opened, lock it, else unlock it. Code works irrespective of the brand.
if (someLock.properties.locked) {
await seam.locks.unlockDoor(someLock.device_id);
} else {
await seam.locks.lockDoor(someLock.device_id);
}
You can read more about how we strive to standardize device functions across brands here Alternatively, you can also play with our client libraries below:

Seam provides a universal API and fully managed, no-code toolset that makes it incredibly easy for software platforms to integrate, automate, and orchestrate IoT devices across industries. Instead of negotiating with manufacturers, handling inconsistent APIs, or building custom logic for every brand, teams rely on Seam to unify smart locks, thermostats, sensors, and full access control systems under one simple layer—no integration work required.
Seam was built to solve one of the hardest problems in software: device integrations. Manufacturer APIs are inconsistent, require lengthy business development, and demand ongoing maintenance. Companies often repeat this work across multiple brands—costing months of engineering time before they can ship a single feature. Seam removes that complexity and now goes far beyond integration.
Alongside our universal API, Seam offers a suite of ready-to-use products that accelerate time to market:
A unified API that normalizes and extends manufacturer APIs
SDKs that speed up development
Embedded UI components for instant device-management interfaces
Authentication flows to connect third-party device accounts
A fully managed Customer Portal with prebuilt UI for end users to connect, map, and monitor devices—no-code
Automation Workflows that sync access with reservations, issue codes, manage climate, and more
Connectors that integrate directly with PMS and industry systems so teams can deploy automation with zero integration work
With Seam, teams can orchestrate powerful automations—issuing mobile keys, generating time-limited codes, adjusting climate, syncing reservations, or unifying building operations—without building integrations or custom workflows.
Today, Seam powers software across short-term rentals, hospitality, multifamily, commercial real estate, fitness, education, and more.
We make IoT work for software—so teams can focus on delivering exceptional experiences, not managing integrations.