We're a team of engineers, neuroscientists, and designers working to deepen our understanding of the human brain. We're building a wearable brain-computer interface and models that decode emotion, with the goal of putting human experience and wellbeing at the center of technology. Our work spans neural sensors, embedded systems, scientific software, and AI.
We're venture funded, with backing from founders and executives across AI, neurotechnology, consumer hardware, and pharmaceuticals, including Google, Hugging Face, Apple, Stability, Microsoft, and Dropbox.
About the roleHelp turn a sophisticated optical sensing system into a high-performance wearable for understanding the brain. You'll shape how our wearable acquires, processes, and delivers neural measurements, working closely with hardware and signal-processing engineers.
Our platform combines C++23, embedded Linux built with the Yocto Project, and modern sensing hardware, with gRPC and Protocol Buffers (Protobuf) connecting acquisition software to the wider system. We tackle deep design challenges in timing, concurrency, memory, and throughput. The embedded firmware you design will directly empower individuals with insights into their own brain.
You willDevelop the C++ software that controls acquisition, configures peripherals, runs self-tests, and manages recording sessions.
Design and optimize the path from raw sensor frames through on-device signal processing to a timestamped network stream.
Evolve our Yocto-based Linux platform, including application integration, system configuration, and reproducible builds.
Solve timing, concurrency, memory, and throughput challenges across a high-performance wearable.
Collaborate with hardware and FPGA engineers to bring new sensing capabilities to life.
Build automated tests, performance measurements, and development tools that make the acquisition system reliable and scalable.
An engineer with a degree in computer science, electrical engineering, computer engineering, or a related field, and at least five years of relevant professional experience.
Experienced in modern C++ for embedded systems, including resource management, concurrency, and debugging.
Comfortable developing on embedded Linux, with practical experience using Yocto.
Familiar with networked services or messaging protocols such as gRPC, MQTT, DDS, or ZeroMQ, and approaches to moving structured data between systems.
Comfortable reasoning across software and hardware boundaries and using measurements to explore design choices.
Someone who enjoys sharing discoveries, discussing tradeoffs, and learning alongside engineers from other disciplines.
Have experience with Verilog, SystemVerilog, or VHDL and FPGA-based acquisition.
Know ARM-based systems, AMD/Xilinx Zynq platforms, or AMD's Embedded Development Framework (EDF), with experience in board support packages (BSPs), device trees, or U-Boot.
Have worked on timing, clock synchronization, digital signal processing (DSP), or high-throughput data acquisition (DAQ), or bring related real-time operating system (RTOS) experience with FreeRTOS or Zephyr.
Have developed Linux kernel device drivers or worked with DMA, SPI, I2C, or other hardware interfaces.
Bring experience with scientific instruments, optical sensing, robotics, or other precision measurement systems.
Have used CMake, GoogleTest, Catch2, or hardware-in-the-loop (HIL) testing to build confidence in embedded software.
Bring additional embedded Linux experience with Buildroot, OpenEmbedded, cross-compilation, or debugging with GDB and JTAG.
We're looking for a strong foundation and the ability to grow. You don't need experience with every technology we use, and the "You might also" section is entirely optional. If the core work feels like a good match but some details are new to you, we'd like to hear from you. Prior neuroscience or brain-computer interface experience isn't expected.
How we workWe're a small, high-performance team with quick feedback loops and room to experiment. You'll work directly with people across engineering, neuroscience, and design, understand why your work matters, and have real influence over how we build.
We work with modern software and hardware stacks, including C++23, modern Python, and a Linux-forward development environment. We use principled engineering and thoughtful design to explore, build and test, aided by modern agentic workflows. You'll have room to shape both the product and the way we create it.
Skills Required
- Bachelor's degree in computer science, electrical engineering, computer engineering, or a related field
- At least five years of relevant professional experience
- Professional experience with modern C++ for embedded systems
- Experience with resource management, concurrency, and debugging in C++
- Experience developing on embedded Linux
- Practical experience using the Yocto Project
- Familiarity with networked services or messaging protocols such as gRPC, MQTT, DDS, or ZeroMQ
- Ability to reason across software and hardware boundaries and use measurements to evaluate design choices
- Experience with Verilog, SystemVerilog, or VHDL and FPGA-based acquisition
- Experience with ARM-based systems, AMD/Xilinx Zynq, AMD Embedded Development Framework, BSPs, device trees, or U-Boot
- Experience with timing, clock synchronization, DSP, high-throughput data acquisition, RTOS, FreeRTOS, or Zephyr
- Experience developing Linux kernel device drivers or working with DMA, SPI, I2C, or other hardware interfaces
- Experience with scientific instruments, optical sensing, robotics, or precision measurement systems
- Experience with CMake, GoogleTest, Catch2, or hardware-in-the-loop testing
- Experience with Buildroot, OpenEmbedded, cross-compilation, GDB, or JTAG
What We Do
We're building the interface to emotion. Our novel brain-computer-interface decodes emotions, making technology empathetic.


.png)






