Lead Product Manager, AI Agents & Emerging Products at System1

I build AI products end to end. Now I lead the team that ships them.

Founding team at a Y Combinator company in 2021, then three years building AI products full-time. Today I lead AI agents and emerging products at System1. On my own projects I write the code, working with a team of coding agents.

James Coholan
James Coholan / Los AngelesLead Product Manager, AI Agents & Emerging Products at System1

I like building the whole thing: the app, the services behind it, the models, and the data that tells me whether any of it works. I spend most days with coding agents (270B+ Codex tokens in 2026), and the projects below are the ones I'm proudest of, including what broke along the way.

Things I've built

Each one tells the story: the problem, what went wrong along the way, and how I fixed it.

Live on the App Store

DeepChamp

A sports research app I architected and run in production: a native iPhone app, live voice, and an assistant that has to find its evidence before it answers, on 168 cloud services.

SwiftUI · StoreKit 2 · Python · TypeScript · Cloud Run

Read the story

Working system, broadcasting 24/7

Auto DJ

Point it at a music library and it plans a set, mixes it the way a DJ would, and grades every blend from the audio before anything ships. It renders in the cloud and broadcasts around the clock.

Python · NumPy and SciPy · PyTorch · beat_this · Essentia

Read the story

Open source

Release Guard

I wanted a coding agent to handle my App Store releases without being able to break one. It checks a build against 13 rules and only submits when every guard holds.

Python · MCP · Codex plugin · App Store Connect API · ES256

Read the story

ChatGPT app and Codex plugin

Tierwise

Most codebases call a bigger OpenAI model than the job needs, and models retire on a schedule. Tierwise works out what each call actually needs, shows its reasoning, and opens a pull request once a person approves.

TypeScript · MCP · OpenAI API · Codex plugin · Cloud Run

Read the story

DeepChamp, the business side

Running the business on data

How I know, every day, what is limiting DeepChamp's growth: a warehouse that says when it can't be trusted, a weekly constraint engine, and an agent that can ship a fix but not move money.

BigQuery · Dataform · TypeScript · Python · Cloud Run

Read the story

Release Guard is open source on GitHub. The others are private, and I'm happy to walk through the code.

Writing

Longer essays, and short notes on things that broke in production and how I fixed them.

  1. Essay / 7 min read

    What makes an AI tool useful, not just functional

    An AI tool can pass every schema check and still fail the person using it. What I've learned about journeys, tool design, latency, errors and evals from putting AI tools in front of real users.

  2. Essay / 7 min read

    Debugging tool calls across distributed systems: a field guide

    Four incidents from a production AI app: a provider outage, signed webhooks we rejected ourselves, an enforcement flag that nearly locked out paying customers, and a latency fix hiding a timeout. Each ends with what I do now.

  3. Essay / 7 min read

    OAuth, scopes and trust for AI tools

    When a model acts on someone's account, identity decisions become product decisions. Least privilege, token handling, account linking, logging and consent, from systems that handle real subscriptions.

  4. Field note / Decision dashboard

    A gateway 503 on every call, and a panel with no verdicts

    How a batched model call through a failing gateway blanked a seven-stage decision panel, and the per-stage fallback and snapshot caching that fixed it.

  5. Field note / Entitlements

    Replaying Apple's missed notifications from their own signatures

    Subscription access drifted from the App Store. The fix was to treat Apple's signed history as the source of truth and reconcile against it every day.

  6. Field note / Voice access

    A dry run that kept a new rule from locking out paying subscribers

    A flag to end voice access on a lapsed App Store period looked safe. A dry run against production data showed it was not, and traced the problem to an old repair job.

  7. Field note / Messaging gateway

    Answering in iMessage under a 120-second request limit

    Starting the assistant's turn inside the webhook cut seconds of latency, until the wait itself matched the platform's timeout. The fix: nested timeouts and exactly-once delivery.

All writing

Experience

  1. 2025 - Present

    System1

    Lead Product Manager, AI Agents & Emerging Products

    • Build agentic systems at scale, hands-on as an AI engineer.
    • Lead a cross-functional group of seven across design, engineering, product, growth, and marketing, including two PMs.
    More on System1
  2. 2023 - 2025

    Inova Platforms

    AI Product Engineer & Enterprise Transformation Consultant

    • Architected and built DeepChamp: a SwiftUI app, Python services, multi-model AI, and subscriptions, now a live App Store product on 168 cloud services.
    • Built AIA, a cloud AI media generation and distribution platform on Kubernetes across GCP and AWS.
    • Led product and full-stack engineering for NextGen Media AI through an acquisition.
    More on NextGen Media AI
  3. 2021 - 2022

    LightTwist (YC 21)

    Founding team, AI product management

    • Led the roadmap and cross-functional integration of a cloud-native AI video-segmentation product.
    • Launched the product demos and growth programs.
  4. 2018 - 2023

    Earlier

    WME, SYB Creative (founder), YMU

    • Artist contracts at WME, Unreal Engine virtual concerts and music videos at SYB Creative, and televised live programs at YMU.

Let's talk.

Questions about anything here, or something you're building. Email is fastest.