Building a Custom Background Coding Agent for Production Software Development

ramp · Finance · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Background coding agent for production software development

Ramp wanted a background coding agent that could run against its internal codebase, integrate deeply with company tooling, help both engineers and non-engineering builders, and produce pull requests with minimal setup friction.

Constraints:

Architecture

Ramp built Inspect, a custom background coding agent running on Modal sandboxes. Inspect exposes internal clients such as web, Slack, and Chrome extension surfaces, starts from prebuilt repository snapshots refreshed every 30 minutes, runs the coding agent in cloud sandboxes with Ramp dependencies installed, can spawn child sessions for parallel work, and creates pull requests for human code review.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  user-clients[User clients] --> inspect-api[Inspect API]
  inspect-api --> modal-sandbox[Modal sandbox]
  ramp-codebase[Ramp codebase] --> repo-snapshots[Repo snapshots]
  repo-snapshots --> modal-sandbox
  modal-sandbox --> coding-agent[Coding agent]
  ramp-codebase --> coding-agent
  coding-agent --> child-sessions[Child sessions]
  coding-agent --> pull-requests[Pull requests]
  child-sessions --> pull-requests
  pull-requests --> code-review[Code review]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
User clients Website, Slack interface, and Chrome extension where builders submit coding-agent requests. Inspect API
Inspect API Ramp-owned API that receives prompts and orchestrates background coding-agent sessions. User clients, Modal sandbox
Repo snapshots Prebuilt repository and dependency snapshots refreshed every 30 minutes. Ramp codebase, Modal sandbox
Ramp codebase Internal repositories, dependencies, secrets, tools, and product code used by Inspect. Repo snapshots, Coding agent
Modal sandbox Cloud sandbox/container that runs the actual coding agent with Ramp dependencies. Inspect API, Repo snapshots, Coding agent
Coding agent Agent that edits code, runs verification, and prepares pull requests. Modal sandbox, Ramp codebase, Child sessions, Pull requests
Child sessions Parallel Inspect sessions spawned when work can be split across repositories or tasks. Coding agent, Pull requests
Pull requests Output artifacts created by Inspect for review and merge. Coding agent, Child sessions, Code review
Code review Human approval step for quality and stability before merging Inspect changes. Pull requests

Data flow

A builder sends Inspect a prompt through one of Ramp's clients. Inspect starts a Modal sandbox from the latest repository snapshot, synchronizes recent changes, runs the coding agent with internal tools and secrets, optionally spawns child sessions, opens one or more pull requests, and leaves final quality approval to code review.

3 supporting quotes
“part of this is that there is no like local setup required. It's very much like you send it a prompt. We spin up like the sandbox and the container”transcript, implied
“every 30 minutes we're actually like cloning all of our repositories uh and then like uh installing all the dependencies like getting them into like a ready to go state”transcript, stated
“Inspect can actually spin up child sessions. Uh, so if you ask Inspect to do uh maybe multiple things, it can decide to copy itself”transcript, stated

Why this architecture

Ramp built rather than bought because it wanted end-to-end control over internal integrations and data. Modal sandboxes and 30-minute snapshots let cloud background agents approach local-agent startup speed while enabling parallel, no-local-setup use by engineers, PMs, and designers.

3 supporting quotes
“really crucial is that we wanted to be integrated into all of the tooling that we have both like internal and third party.”transcript, stated
“there is no like local setup required. It's very much like you send it a prompt. We spin up like the sandbox and the container”transcript, stated
“parallelization is key because it's like when we think about how you know software where or development teams have worked today. You know, we obviously work in parallel.”transcript, implied

Models used: coding agent

Scale

Alternatives considered (roads not taken)

Off-the-shelf background coding agents

Rejected because: Ramp wanted complete control over internal integrations, responses, data, and UX.

“by building it ourselves like we aren't thinking about what's the integration story of uh like how do we make our things work with like a third party but we actually like control it end to end.”transcript, stated

Cold-clone repositories for each request

Rejected because: Refreshing snapshots every 30 minutes avoids downloading the full repository on each run.

“we're not pulling an entire repository you know we're only pulling like the last like 30 minutes of changes which tends to be much quicker”transcript, stated

Single local-computer execution

Rejected because: Cloud execution enables parallel work and avoids the setup burden of running many sessions locally.

“it becomes limiting to just be on like one local computer uh because of the setup needed to like run multiple things in parallel”transcript, stated

Patterns

tool-use-orchestration (agent-design)

Inspect runs inside Ramp's tooling and uses internal and third-party integrations to perform coding work.

“we wanted to be integrated into all of the tooling that we have both like internal and third party.”transcript, stated

batch-offline-processing (operations)

Ramp prebuilds repository snapshots every 30 minutes so agent runs can start quickly.

“every 30 minutes we're actually like cloning all of our repositories uh and then like uh installing all the dependencies”transcript, stated

latency-optimization (operations)

Modal sandboxes and snapshots reduce startup time to seconds and avoid full repository clones per request.

“these sandboxes containers, they like start in seconds.”transcript, stated

multi-agent-orchestration (agent-design)

Inspect can spawn child sessions to work on multiple pieces in parallel.

“Inspect can actually spin up child sessions. Uh, so if you ask Inspect to do uh maybe multiple things, it can decide to copy itself”transcript, stated

human-in-the-loop-gate (operations)

Inspect-generated pull requests still pass through code review for quality and stability.

“no like human like intervention aside from just like the code review part you know to make sure that uh it still is like meeting our bar for like quality and stability.”transcript, stated

Tradeoffs

Build versus buy

Chose custom Inspect agent over off-the-shelf background agent.

Rationale: Custom ownership gave Ramp control over internal integrations, data specificity, responses, and UX.

“we actually like control it end to end. We're able to really customize the responses you know that it gets”transcript, stated

Execution environment

Chose cloud sandboxes with snapshots over single local computer execution.

Rationale: Cloud sandboxes remove setup for users and support parallel work.

“there is no like local setup required. It's very much like you send it a prompt. We spin up like the sandbox and the container”transcript, stated

Repository preparation

Chose refresh snapshots every 30 minutes over download and install everything at request time.

Rationale: Snapshots reduce cold-start work to recent commits instead of a full clone and install.

“we're only pulling like the last like 30 minutes of changes which tends to be much quicker than like downloading it all for the first time.”transcript, stated

Review boundary

Chose human code review after agent-generated PRs over fully autonomous merge.

Rationale: Ramp still wants a quality and stability gate even when Inspect does most of the implementation work.

“aside from just like the code review part you know to make sure that uh it still is like meeting our bar for like quality and stability.”transcript, stated

Gotchas (what bit them)

Cloud background agents start at a disadvantage against local agents.

Root cause: Local agents often already have repositories, dependencies, logged-in apps, warm caches, and running services.

Resolution: Use Modal snapshots, secrets, tools, and prebuilt environments to approximate Ramp-in-a-box.

“the local agent has a significant advantage of just get being able to edit the files and test the changes and be able to push it.”transcript, stated

Coding agents can leave too much verification work for reviewers.

Root cause: Many agents write code but do not fully verify UI, backend behavior, or tests.

Resolution: Design Inspect to run as much verification as possible before opening a PR.

“a lot of background agents or coding agents in general only do about 50% of the work.”transcript, stated

Agent-written code may differ from human style.

Root cause: Agentic tools optimize and express code differently than humans.

Resolution: Adjust codebase expectations so humans and agents can both work effectively in it.

“the code that a lot of these like agentic tools write is different than how humans would write it. But that doesn't necessarily mean it's worse.”transcript, stated

Evaluation

Ramp evaluated Inspect through adoption and pull-request contribution, startup latency, internal builder usage, and the amount of review work still required before merge.

Metrics: about 40% of merged pull requests started by Inspect · about 80% of Inspect-codebase pull requests written by Inspect · startup in 10 seconds or less · snapshots every 30 minutes · human code review quality and stability

“about 40% of merged pull requests are started by inspect.”transcript, implied
“what are we at there like 80% of pull requests to inspect are written uh by inspect.”transcript, stated

Outcomes

Ramp reports about 40% of merged PRs started by Inspect, snapshots every 30 minutes, startup in 10 seconds or less, and roughly 80% of Inspect-codebase PRs written by Inspect.

3 supporting quotes
“about 40% of merged pull requests are started by inspect.”transcript, stated
“product managers starting to be able to like ship like smaller features”transcript, stated
“Inspect can actually spin up child sessions.”transcript, stated