Plenty of engineers have felt the specific frustration of trying to control a professional camera from code. You want your program to take one photo. What stands between you and that photo is a wall of USB packets, vendor-specific quirks, and a protocol document almost nobody enjoys reading. Hours disappear. Darkgrade, a Y Combinator company from the Fall 2024 batch, exists because its founder decided that wall did not need to be there.
The company's tagline is four words: let your camera understand the world. Behind that line is a bigger bet - that the next wave of computer vision will not be bottlenecked by AI models, but by the plumbing that connects sensors to software. Darkgrade is building that plumbing. Its longer-term ambition is a protocol that lets large language models read image sensor data directly, but the piece you can use today is more concrete: an open-source SDK that talks to real cameras.
01 / WHAT IT DOESTwo lines instead of two hundred
The flagship product is a TypeScript SDK that connects to and controls Canon EOS, Sony Alpha, and Nikon Z cameras. With it, a developer can capture photos, adjust settings, stream a live view, record video, and pull files off the device - without touching the low-level protocol underneath. The pitch on the project's own repository is blunt about the win: connect to and control your camera with two lines of TypeScript.
import { connect } from "darkgrade";
const camera = await connect();
await camera.capture();
Illustrative usage. The SDK handles device detection and the transfer protocol so the developer does not have to.
Under the hood it implements the Picture Transfer Protocol, standardized as ISO 15740 back in 2013. PTP is the common language most cameras already speak over USB. The catch is that implementing it by hand is tedious enough that most developers avoid it entirely, reaching for a vendor's heavyweight SDK or giving up on programmatic control. Darkgrade absorbs that tedium once, so the people building on top of it never have to.
The engineering choices are deliberately unglamorous and practical: it is type-safe with full TypeScript support, automatically detects connected cameras and their vendor-specific features, weighs in around 55KB, is tree-shakable, and leans on a single primary dependency. It runs both in the browser and in Node.js. The whole thing is open source under the Apache-2.0 license.
02 / WHO IT IS FORThe people who reach for the SDK first
The immediate audience is developers. Someone building a photography app, automating a photo studio, wiring up a custom capture rig, or adding camera control to an AI tool is exactly who Darkgrade is written for. Instead of learning three different vendor SDKs to support three camera brands, they get one modern interface that covers all of them.
The traction so far is community-scale rather than enterprise-scale, which fits a company that is one person. The main GitHub repository sits at roughly 22 stars, there is a public Discord, and the documentation lives openly at darkgrade.com/docs. This is a project being built in the open, where the first customers are the developers who file issues and star the repo.
03 / THE PROBLEMCameras are dumb until software makes them smart
A camera in front of you is, from a software point of view, mostly inert. It produces images, but getting a program to drive it - or getting an AI to read what it sees in real time - runs into two problems. The first is the messy last mile of hardware control that Darkgrade's SDK solves. The second is bigger: getting raw sensor data to an AI model quickly and cleanly, especially on edge devices in robotics or autonomous systems where latency and bandwidth are tight.
That second problem is where the company's stated mission points. The idea is a hardware-agnostic protocol that lets large language models consume image sensor data directly, rather than waiting on layers of traditional image processing. The SDK is the beachhead; the protocol is the horizon.
04 / THE FOUNDERFrom Palantir to pixels
Darkgrade is the work of Kevin Schaich, its founder and CEO. Before this, he spent more than five years at Palantir working on hard data problems for large institutions, and he was on the founding teams of Arlo and CogBase. The camera obsession is older than any of that. At Cornell he led the Photo Society and grew it from around ten members to more than three hundred, and he ran the campus film club. Darkgrade reads like a founder returning to a first love with a decade of engineering behind him.
The company name itself carries a wink at that history. "Grade" is the language of color grading and the darkroom - the craft of shaping how an image finally looks. It is a fitting label for someone who came up through photography and is now writing the code that sits between the lens and the machine.
Founder at a glance
- Kevin Schaich - Founder & CEO, Darkgrade (YC F24)
- 5+ years at Palantir; founding-team work at Arlo and CogBase
- Former president of the Cornell Photo Society (grew it 10 → 300+)
- Works between Denver, Colorado and New York
05 / HOW IT IS DIFFERENTOne API where there used to be three
The alternatives already exist, and Darkgrade knows it. Canon, Sony, and Nikon each ship their own camera SDK. The open-source world has libgphoto2 and gPhoto2. And plenty of teams roll their own computer-vision pipelines. What none of those offer is a single, modern, type-safe TypeScript layer that treats three rival camera ecosystems as one. That unification - plus a tiny footprint and browser support - is the wedge.
There is also a strategic logic to giving the SDK away. Open-source-first is not charity here; it is distribution. If the free tool becomes the default thing developers reach for when they need to talk to a camera, Darkgrade earns the right to sell the higher layers later - the hosted protocol, the enterprise sensor-to-AI infrastructure. Own the plumbing, own the standard.
06 / WHERE IT FITSA layer down from the hype
Most of the attention in AI vision goes to models and flashy demos. Darkgrade is working one layer beneath that, in the unglamorous space where hardware meets software. It is the kind of company that rarely makes headlines but becomes hard to route around once enough products depend on it. If cameras are going to become legible to AI at scale, something has to standardize the conversation between sensor and system. Darkgrade is trying to be that something.
Whether the full protocol vision arrives is an open question, and the company is honest that the SDK is in an alpha stage with an API that may still change. But the shape of the bet is clear, and it is a coherent one: solve one painful thing cleanly, give it away, and grow into the larger problem from there.
Schaich leads the Cornell Photo Society and grows it from roughly 10 members to over 300.
5+ years solving hard data problems for large institutions, plus founding-team work at Arlo and CogBase.
The company forms around connecting AI directly to image sensors and enters Y Combinator's Fall 2024 batch.
An open-source TypeScript SDK for Canon, Sony, and Nikon goes public under Apache-2.0.
The flagship repo grows toward ~22 stars with public docs and a community Discord.
For now, Darkgrade is a small operation with a large idea and one shipping product that already earns its keep. If you write code and have ever fought a camera to take a single photo, it is worth two lines of your time.