• bitcoinBitcoin(BTC)$77,010.00-1.89%
  • ethereumEthereum(ETH)$2,254.03-1.72%
  • tetherTether(USDT)$1.00-0.03%
  • binancecoinBNB(BNB)$697.93-2.22%
  • rippleXRP(XRP)$1.25-0.77%
  • usd-coinUSDC(USDC)$1.00-0.03%
  • solanaSolana(SOL)$92.13-3.05%
  • tronTRON(TRX)$0.3200052.17%
  • Figure HelocFigure Heloc(FIGR_HELOC)$1.030.00%
  • HyperliquidHyperliquid(HYPE)$84.17-4.40%
  • zcashZcash(ZEC)$1,146.45-8.61%
  • dogecoinDogecoin(DOGE)$0.074213-2.22%
  • moneroMonero(XMR)$604.370.39%
  • USDSUSDS(USDS)$1.00-0.02%
  • whitebitWhiteBIT Coin(WBT)$73.97-1.94%
  • leo-tokenLEO Token(LEO)$9.38-0.29%
  • chainlinkChainlink(LINK)$11.08-2.65%
  • cardanoCardano(ADA)$0.189220-2.42%
  • stellarStellar(XLM)$0.162050-4.11%
  • bitcoin-cashBitcoin Cash(BCH)$277.39-2.19%
  • nearNEAR Protocol(NEAR)$3.86-10.73%
  • RainRain(RAIN)$0.00675414.99%
  • daiDai(DAI)$1.00-0.01%
  • Ethena USDeEthena USDe(USDE)$1.00-0.05%
  • uniswapUniswap(UNI)$7.01-3.32%
  • litecoinLitecoin(LTC)$53.84-3.47%
  • USD1USD1(USD1)$1.00-0.12%
  • CantonCanton(CC)$0.093828-2.81%
  • avalanche-2Avalanche(AVAX)$8.38-3.37%
  • suiSui(SUI)$0.87-3.74%
  • the-open-networkGram (prev. Toncoin)(GRAM)$1.19-2.19%
  • tether-goldTether Gold(XAUT)$3,932.820.80%
  • hedera-hashgraphHedera(HBAR)$0.069575-2.93%
  • Global DollarGlobal Dollar(USDG)$1.00-0.02%
  • quant-networkQuant(QNT)$193.35-3.92%
  • paypal-usdPayPal USD(PYUSD)$1.000.00%
  • shiba-inuShiba Inu(SHIB)$0.000005-3.12%
  • BittensorBittensor(TAO)$223.38-4.27%
  • Ripple USDRipple USD(RLUSD)$1.00-0.01%
  • crypto-com-chainCronos(CRO)$0.050048-2.52%
  • Ondo US Dollar YieldOndo US Dollar Yield(USDY)$1.150.02%
  • okbOKB(OKB)$109.28-3.94%
  • EthenaEthena(ENA)$0.170161-7.94%
  • Circle USYCCircle USYC(USYC)$1.140.01%
  • pepePepe(PEPE)$0.000005-2.48%
  • BlackRock USD Institutional Digital Liquidity FundBlackRock USD Institutional Digital Liquidity Fund(BUIDL)$1.000.00%
  • aaveAave(AAVE)$125.81-7.43%
  • MemeCoreMemeCore(M)$0.84-2.71%
  • OndoOndo(ONDO)$0.384520-4.71%
  • Spiko Amundi Overnight Swap Fund (EUR)Spiko Amundi Overnight Swap Fund (EUR)(EURSAFO)$1.140.15%
TradePoint.io
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop
No Result
View All Result
TradePoint.io
No Result
View All Result

The Letter Company Releases Letterpress-1: A Coding Agent Built for Growth Engineering

November 3, 2026
in AI & Technology
Reading Time: 19 mins read
A A
The Letter Company Releases Letterpress-1: A Coding Agent Built for Growth Engineering
ShareShareShareShareShare

The Letter Company has released the beta of Letterpress-1, a coding agent, harness and IDE for growth engineering. The Letterpress-1 coding agent reads a website and its market, then decides what should exist. It builds the change in a sandbox and opens a pull request with a live preview.

TL;DR

  • Size: Letter team says it combines frontier models with fine-tuned small models; names and sizes are not disclosed.
  • Runs on: Letter’s hosted platform against your git repository. No local GPU needed. Setup takes under 5 minutes, per Letter.
  • Performance: No public benchmark. Letter shows 1 self-reported, side-by-side page build against Codex.
  • Best: 760 tools exposed through 1 registry over MCP, REST and CLI.
  • Worst: No measurable eval; entry plan is $100/month with overage at 5x the list rate.

What is Letterpress-1?

Letterpress-1 is a growth engineering agent from The Letter Company. It turns site and market signals into pull requests. The letter company team argues that websites, unlike apps, react to outside forces. These include agent behavior, Google rankings, human visits and competitor activity. General coding agents were built to scale codebases, not to act on those signals.

The agent is aimed at teams that host their marketing site in git. It is proactive: it suggests the next thing to build. Examples include de-anonymization, landing pages, warmed emails, blog automation and agent telemetry.

How does Letterpress-1 work?

Letterpress-1 runs in 3 modes:

  • Build: create a page or feature from a prompt, with brand copy and visuals kept consistent.
  • Plan: pick a goal and get a build plan of growth actions.
  • Fix: find site issues and dispatch pull requests to fix them.

Every change follows the same loop. The agent reads the site, plans and builds in a sandbox. It reviews its own change, then opens a pull request. Each change returns a preview link of your own site. Nothing lands until you choose a preview, a pull request, or a merge after checks pass.

Letter team lists 6 surfaces. These are the web platform, a Slack app, the letterpress CLI and a website portal. A standalone app and your own agent round out the list. The in-site IDE works on a live page. Press ⌘L, edit text where you see it, and a pull request follows. Showcase examples also cover A/B tests from live edits.

For developers, agents.md documents an MCP server at app.letterstory.com/api/mcp with OAuth. The MCP manifest, OpenAPI spec and API reference form 1 registry of 760 tools. Claude Code, Codex or any MCP-capable agent can call the same functions the app uses.

What are Proofs, Simulations, Benches and Phantoms?

The launch post highlights 4 primitives aimed at winning over AI agents as buyers:

  • Proofs: signed evidence of customer success, built from telemetry and billing data, for agent visitors.
  • Simulations: mirror versions of your API or MCP with simulated data, so agents can try before buying.
  • Benches: self-hosted, reproducible benchmark apps with open-source code and independent governance.
  • Phantoms: independent, autonomous blogs used to sandbox growth strategies.

The site adds more: Kernels, Letterbases, Visitors and Mailers. Then it watches competitor sitemaps and flag new pages. Letter team positions these as replacements for tools like G2, Semrush, Profound, RB2B and Instantly.

<iframe id="lp1x-frame" title="Letterpress-1 interactive explainer" loading="lazy" style="width:100%;height:600px;border:0;display:block;background:transparent;" srcdoc="<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>Letterpress-1 Explained</title>
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:opsz,[email protected],400;9..40,500;9..40,700&family=Ibarra+Real+Nova:wght@500;600;700&display=swap" rel="stylesheet">
<style>
html,body{margin:0!important;padding:0!important;background:transparent!important}
#lp1x{–ink:#f3f1ec;–muted:rgba(243,241,236,.6);–line:rgba(243,241,236,.12);–bg:#201e1f;–bg2:#181717;–card:#282627;–phos:#9AF2E0;–press:#EE724A;–mint:#8FD9B6;–amber:#E8912D;–mtp:#76B900;
max-width:880px;margin:0 auto!important;box-sizing:border-box;background:var(–bg)!important;color:var(–ink)!important;border:1px solid var(–line)!important;border-radius:16px;overflow:hidden;font-family:"DM Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;
background-image:radial-gradient(rgba(243,241,236,.09) 1px,transparent 1.2px)!important;background-size:18px 18px!important}
#lp1x *{box-sizing:border-box}
#lp1x hr,#lp1x p:empty,#lp1x del,#lp1x s{display:none!important}
#lp1x p{margin:0 0 8px}
#lp1x .hd{padding:22px 24px 10px}
#lp1x .kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(–phos)!important;font-weight:700}
#lp1x h2{font-family:"Ibarra Real Nova",Georgia,serif;font-weight:600;font-size:30px;line-height:1.1;margin:6px 0 4px;color:var(–ink)!important}
#lp1x h2 em{color:var(–press)!important;font-style:italic}
#lp1x .sub{color:var(–muted)!important;font-size:14px}
#lp1x .tabs{display:flex;gap:6px;padding:8px 24px 0;border-bottom:1px solid var(–line);overflow-x:auto}
#lp1x .tab{appearance:none;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;color:var(–muted)!important;font:600 14px "DM Sans",sans-serif;padding:10px 12px;cursor:pointer;white-space:nowrap;transition:color .2s}
#lp1x .tab[aria-selected=true]{color:var(–ink)!important;border-bottom-color:var(–phos)!important}
#lp1x .tab:focus-visible{outline:2px solid var(–phos);outline-offset:2px}
#lp1x .panel{display:none;padding:20px 24px 22px;animation:lpfade .35s ease}
#lp1x .panel.on{display:block}
@keyframes lpfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* pipeline */
#lp1x .pipe{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative;margin:6px 0 14px}
#lp1x .rail{position:absolute;left:8%;right:8%;top:23px;height:2px;background:var(–line)}
#lp1x .rail i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(–phos),var(–mint));transition:width .5s ease}
#lp1x .node{position:relative;z-index:1;text-align:center;cursor:pointer;background:none!important;border:0!important;color:var(–muted)!important;font:500 12px "DM Sans",sans-serif;padding:0}
#lp1x .node b{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 6px;border-radius:50%;background:var(–card)!important;border:1px solid var(–line)!important;color:var(–muted)!important;font:700 15px "DM Sans";transition:all .3s}
#lp1x .node.done b{border-color:var(–mint)!important;color:var(–mint)!important}
#lp1x .node.cur b{background:var(–phos)!important;color:#181717!important;border-color:var(–phos)!important;box-shadow:0 0 0 6px rgba(154,242,224,.15);transform:scale(1.06)}
#lp1x .node.cur{color:var(–ink)!important}
#lp1x .split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#lp1x .card{background:var(–card)!important;border:1px solid var(–line)!important;border-radius:12px;padding:14px 16px}
#lp1x .card h3{font-family:"Ibarra Real Nova",Georgia,serif;font-size:20px;margin:0 0 6px;color:var(–ink)!important}
#lp1x .term{background:var(–bg2)!important;border:1px solid var(–line)!important;border-radius:12px;padding:12px 14px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(–ink)!important;min-height:168px}
#lp1x .term .p{color:var(–phos)!important}
#lp1x .term .ok{color:var(–mint)!important}
#lp1x .term .dim{color:var(–muted)!important}
#lp1x .term .cur{display:inline-block;width:7px;height:14px;background:var(–phos);vertical-align:-2px;animation:lpblink 1s steps(1) infinite}
@keyframes lpblink{50%{opacity:0}}
#lp1x .ctl{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
#lp1x .btn{appearance:none;cursor:pointer;border-radius:999px;padding:8px 14px;font:600 13px "DM Sans",sans-serif;border:1px solid var(–line)!important;background:var(–card)!important;color:var(–ink)!important;transition:background .2s,border-color .2s}
#lp1x .btn:hover{border-color:var(–phos)!important}
#lp1x .btn.pri{background:var(–phos)!important;color:#181717!important;border-color:var(–phos)!important}
#lp1x .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(–line);color:var(–muted)!important;margin:0 4px 4px 0}
/* modes */
#lp1x .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#lp1x .mode{cursor:pointer;text-align:left;font:inherit;color:var(–ink)!important;background:var(–card)!important;border:1px solid var(–line)!important;border-radius:12px;padding:14px;transition:transform .2s,border-color .2s}
#lp1x .mode:hover{transform:translateY(-2px)}
#lp1x .mode.on{border-color:var(–press)!important;box-shadow:inset 0 0 0 1px var(–press)}
#lp1x .mode .n{font:700 12px "DM Sans";color:var(–press)!important}
#lp1x .mode h3{font-family:"Ibarra Real Nova",Georgia,serif;font-size:22px;margin:2px 0 4px}
#lp1x .mdetail{margin-top:12px}
#lp1x .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#lp1x .chip{font-size:13px;padding:6px 10px;border-radius:8px;background:var(–bg2)!important;border:1px solid var(–line)!important;color:var(–ink)!important;opacity:0;transform:translateY(6px);animation:lpin .4s ease forwards}
@keyframes lpin{to{opacity:1;transform:none}}
/* primitives */
#lp1x .filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#lp1x .flt[aria-pressed=true]{background:var(–ink)!important;color:#181717!important}
#lp1x .prims{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#lp1x .prim{cursor:pointer;text-align:left;font:inherit;color:var(–ink)!important;background:var(–card)!important;border:1px solid var(–line)!important;border-radius:10px;padding:12px;transition:opacity .3s,transform .3s,border-color .2s}
#lp1x .prim.dim{opacity:.28;transform:scale(.97)}
#lp1x .prim.on{border-color:var(–phos)!important}
#lp1x .prim b{display:block;font-family:"Ibarra Real Nova",Georgia,serif;font-size:18px}
#lp1x .prim small{color:var(–muted)!important;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
/* calc */
#lp1x .calc{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}
#lp1x label{display:block;font-size:13px;color:var(–muted)!important;margin:0 0 2px}
#lp1x .row{margin-bottom:10px}
#lp1x .row .v{float:right;color:var(–ink)!important;font-weight:700}
#lp1x input[type=range]{width:100%;accent-color:#9AF2E0}
#lp1x .seg{display:flex;gap:4px}
#lp1x .seg button{flex:1}
#lp1x .seg button[aria-pressed=true]{background:var(–phos)!important;color:#181717!important}
#lp1x .total{font-family:"Ibarra Real Nova",Georgia,serif;font-size:34px;line-height:1;margin:2px 0}
#lp1x .bar{margin:9px 0}
#lp1x .bar .lbl{display:flex;justify-content:space-between;font-size:13px}
#lp1x .bar .trk{height:12px;border-radius:6px;background:var(–bg2);border:1px solid var(–line);overflow:hidden;margin-top:4px}
#lp1x .bar .trk i{display:block;height:100%;width:0;border-radius:6px;background:var(–muted);transition:width .6s cubic-bezier(.2,.8,.2,1)}
#lp1x .bar.best .trk i{background:linear-gradient(90deg,var(–phos),var(–mint))}
#lp1x .bar.best .lbl b{color:var(–phos)!important}
#lp1x .note{font-size:12px;color:var(–muted)!important;margin-top:8px}
#lp1x .ft{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 24px;border-top:1px solid var(–line);font-size:12px;color:var(–muted)!important}
#lp1x .ft a{color:var(–muted)!important}
#lp1x .ft .mtp{color:var(–mtp)!important;font-weight:700}
#lp1x code,#lp1x pre{background:var(–bg2)!important;color:var(–phos)!important;border:0!important;font-family:ui-monospace,Menlo,monospace;font-size:.92em;padding:1px 5px;border-radius:4px}
@media (max-width:640px){
#lp1x h2{font-size:24px}
#lp1x .hd,#lp1x .panel{padding-left:16px;padding-right:16px}
#lp1x .tabs{padding:8px 12px 0}
#lp1x .pipe{grid-template-columns:repeat(3,1fr);row-gap:14px}
#lp1x .rail{display:none}
#lp1x .split,#lp1x .calc,#lp1x .modes{grid-template-columns:1fr}
#lp1x .prims{grid-template-columns:repeat(2,1fr)}
#lp1x .ft{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){#lp1x *{animation:none!important;transition:none!important}#lp1x .chip{opacity:1;transform:none}}
</style></head>
<body>
<div id="lp1x">
<div class="hd">
<div class="kicker">Interactive explainer · The Letter Company</div>
<h2>How <em>Letterpress-1</em> turns growth work into pull requests</h2>
<div class="sub">A coding agent, harness and IDE for growth engineering. Released in beta; figures from letter.dev.</div>
</div>
<div class="tabs" role="tablist">
<button class="tab" role="tab" aria-selected="true" data-t="loop">The loop</button>
<button class="tab" role="tab" aria-selected="false" data-t="modes">3 modes, 6 surfaces</button>
<button class="tab" role="tab" aria-selected="false" data-t="prims">Growth primitives</button>
<button class="tab" role="tab" aria-selected="false" data-t="calc">Cost calculator</button>
</div>

<section class="panel on" id="p-loop" role="tabpanel">
<div class="pipe" id="pipe"><div class="rail"><i id="rail"></i></div></div>
<div class="split">
<div class="card"><span class="tag" id="stag">Step 1 of 6</span><h3 id="stitle"></h3><p id="sbody" style="color:var(–muted)"></p></div>
<div class="term" id="term" aria-live="polite"></div>
</div>
<div class="ctl">
<button class="btn pri" id="play"> Play the loop</button>
<button class="btn" id="prev">← Back</button>
<button class="btn" id="next">Next →</button>
</div>
</section>

<section class="panel" id="p-modes" role="tabpanel">
<div class="modes" id="modes"></div>
<div class="card mdetail"><span class="tag" id="mtag"></span><p id="mbody" style="margin:6px 0 0"></p></div>
<div style="margin-top:16px"><span class="tag">Where it runs</span>
<div class="chips" id="surf"></div>
<p class="note">Plus ⌘L in-site editing: change text on your live page and a pull request follows. 760 tools are exposed over MCP, REST and CLI.</p>
</div>
</section>

<section class="panel" id="p-prims" role="tabpanel">
<div class="filters" id="flt"></div>
<div class="prims" id="prims"></div>
<div class="card" style="margin-top:12px"><span class="tag" id="ptag">Tap a primitive</span><h3 id="ptitle">Pre-built growth infrastructure</h3><p id="pbody" style="color:var(–muted);margin:0">Each primitive is its own endpoint. The launch post spotlights Proofs, Simulations, Benches and Phantoms.</p></div>
</section>

<section class="panel" id="p-calc" role="tabpanel">
<div class="calc">
<div>
<div class="row"><label>Pull requests per month <span class="v" id="vpr"></span></label><input type="range" id="pr" min="0" max="200" value="20"></div>
<div class="row"><label>Tokens per pull request (Letter cites 150 to 900)</label>
<div class="seg" id="tpr"><button class="btn" data-v="150" aria-pressed="false">150</button><button class="btn" data-v="500" aria-pressed="true">500</button><button class="btn" data-v="900" aria-pressed="false">900</button></div></div>
<div class="row"><label>Articles published per month (1,030 tokens each) <span class="v" id="var"></span></label><input type="range" id="ar" min="0" max="60" value="8"></div>
<div class="row"><label>Phantom sites live (300 tokens a month each) <span class="v" id="vph"></span></label><input type="range" id="ph" min="0" max="10" value="2"></div>
<div class="row"><label>AI visibility answers (12 tokens each) <span class="v" id="vai"></span></label><input type="range" id="ai" min="0" max="3000" step="50" value="600"></div>
<div class="row"><label>Identified visitors (25 tokens each) <span class="v" id="vvi"></span></label><input type="range" id="vi" min="0" max="2000" step="25" value="100"></div>
</div>
<div class="card">
<span class="tag">Your month</span>
<div class="total" id="tok"></div>
<div style="color:var(–muted);font-size:13px" id="list"></div>
<div id="bars" style="margin-top:10px"></div>
<p class="note">1 token = 1 cent at list. Overage on each plan is 5x its own per-token rate. Defaults match Letter’s own pricing example. Rates from letter.dev/pricing.</p>
</div>
</div>
</section>

<div class="ft"><span>Sources: <a href="https://letter.dev/" target="_blank" rel="noopener">letter.dev</a> · <a href="https://letter.dev/pricing" target="_blank" rel="noopener">pricing</a> · <a href="https://letter.dev/agents.md" target="_blank" rel="noopener">agents.md</a></span><span class="mtp">© Marktechpost</span></div>
</div>
<script>
(function(){
var R=document.getElementById(‘lp1x’);
function $(id){return document.getElementById(id)}
function post(){try{parent.postMessage({lp1xHeight:R.offsetHeight+40},’*’)}catch(e){}}
// tabs
var tabs=R.querySelectorAll(‘.tab’);
tabs.forEach(function(t){t.addEventListener(‘click’,function(){
tabs.forEach(function(x){x.setAttribute(‘aria-selected’,x===t?’true’:’false’)});
R.querySelectorAll(‘.panel’).forEach(function(p){p.classList.toggle(‘on’,p.id===’p-‘+t.dataset.t)});
if(t.dataset.t===’calc’)calc(); if(t.dataset.t===’modes’)renderSurf();
setTimeout(post,60);
})});
// loop
var S=[
[‘Signals’,’Read the site and the market’,’The agent maps your pages and watches outside signals: AI agent visits, Google rankings, human traffic and competitor pages.’,[‘<span class="p">›</span> what should we build for growth?’,'<span class="dim">reading the site · checking competitor pages</span>’]],
[‘Plan’,’Propose what should exist’,’In Plan mode it picks a goal and drafts a build plan. You approve the picks you want before anything is built.’,[‘<span class="dim">plan · 4 actions proposed</span>’,'<span class="dim">waiting on approve</span>’]],
[‘Build’,’Build in a sandbox’,’The change is written inside an isolated sandbox. Letter says it is tuned to keep brand copy and visuals consistent.’,[‘<span class="dim">building in a sandbox</span>’,'<span class="dim">changed 3 files</span>’]],
[‘Review’,’Self-review the change’,’The agent reviews its own diff and fixes what the review finds before handing it over.’,[‘<span class="dim">reviewing the change</span>’,'<span class="ok">fixed what the review found</span>’]],
[‘PR’,’Open a pull request with a preview’,’Every change returns as a pull request plus a live preview link of your own site.’,[‘<span class="ok">✓ pull request opened · preview is up</span>’]],
[‘You’,’You decide what lands’,’Keep it as a preview, leave the pull request open, or merge once checks pass. Nothing lands until you say.’,[‘<span class="p">›</span> merge when checks pass’,'<span class="ok">✓ queued for merge</span>’]]
];
var cur=0,timer=null,typeT=null,lines=[];
var pipe=$(‘pipe’);
S.forEach(function(s,i){var b=document.createElement(‘button’);b.className=”node”;b.innerHTML='<b>’+(i+1)+'</b>’+s[0];b.onclick=function(){stop();go(i)};pipe.appendChild(b)});
function go(i){
cur=i;var nodes=pipe.querySelectorAll(‘.node’);
nodes.forEach(function(n,k){n.classList.toggle(‘done’,k<i);n.classList.toggle(‘cur’,k===i)});
$(‘rail’).style.width=(i/(S.length-1)*100)+’%’;
$(‘stag’).textContent=”Step “+(i+1)+’ of 6′;$(‘stitle’).textContent=S[i][1];$(‘sbody’).textContent=S[i][2];
if(i===0)lines=[‘<span class="dim">~/website $</span> letterpress’];
type(S[i][3]);
}
function type(add){
clearTimeout(typeT);var k=0,term=$(‘term’);
function step(){if(k<add.length){lines.push(add[k++]);if(lines.length>7)lines=lines.slice(-7);term.innerHTML=lines.join(‘<br>’)+'<br><span class="cur"></span>’;typeT=setTimeout(step,420)}}
step();
}
function stop(){clearInterval(timer);timer=null;$(‘play’).textContent=”The Letter Company Releases Letterpress-1: A Coding Agent Built for Growth Engineering Play the loop”}
$(‘play’).onclick=function(){if(timer){stop();return}if(cur===S.length-1)go(0);$(‘play’).textContent=”❚❚ Pause”;timer=setInterval(function(){if(cur<S.length-1)go(cur+1);else stop()},1900)};
$(‘next’).onclick=function(){stop();go(Math.min(cur+1,S.length-1))};
$(‘prev’).onclick=function(){stop();go(Math.max(cur-1,0))};
go(0);
// modes
var M=[[’01’,’Build’,’Build anything from a prompt’,’Create pages and features from plain words. Letter says the agent is fine-tuned to write brand-ready copy and keep brand visuals.’],
[’02’,’Plan’,’Pick a goal, get a plan’,’Name a goal and Letterpress-1 proposes growth strategies to build straight into your repository, with no extra tools.’],
[’03’,’Fix’,’Find what is broken and fix it’,’Dispatch pull requests that fix common issues across a marketing site, most severe first.’]];
var mw=$(‘modes’);
M.forEach(function(m,i){var b=document.createElement(‘button’);b.className=”mode”;b.innerHTML='<div class="n">’+m[0]+'</div><h3>’+m[1]+'</h3><div style="color:var(–muted);font-size:13px">’+m[2]+'</div>’;b.onclick=function(){selM(i)};mw.appendChild(b)});
function selM(i){mw.querySelectorAll(‘.mode’).forEach(function(x,k){x.classList.toggle(‘on’,k===i)});$(‘mtag’).textContent=M[i][1]+’ mode’;$(‘mbody’).textContent=M[i][3];post()}
selM(0);
var SU=[‘Letter platform’,’Slack app’,’Letterpress CLI’,’Website portal’,’Letterpress App’,’Your own agent via MCP’];
function renderSurf(){var c=$(‘surf’);c.innerHTML=”;SU.forEach(function(s,i){var d=document.createElement(‘span’);d.className=”chip”;d.style.animationDelay=(i*90)+’ms’;d.textContent=s;c.appendChild(d)})}
renderSurf();
// primitives
var P=[
[‘Proofs’,’conv’,’Signed proof of customer success’,’Connect telemetry and billing. Letter issues a third-party verified proof that AI agents can review. You choose what is public.’],
[‘Simulations’,’conv’,’Agents try before buying’,’Mirror versions of your API or MCP with simulated data, so agents can test without touching your database.’],
[‘Benches’,’conv’,’Self-governed benchmarks’,’Describe a benchmark; the app deploys itself, re-runs on a schedule and open-sources its code. The site calls these Benchmarks.’],
[‘Phantoms’,’geo’,’Independent sandbox blogs’,’Launch autonomous publications that write and publish, so you can test growth strategies away from your main site.’],
[‘Letterbases’,’geo’,’Native content database’,’An optional store for content collections that the agent refines without a pull request.’],
[‘Kernels’,’geo’,’Writing kernels’,’Drafting endpoints for content. A kernel draft costs 161 tokens.’],
[‘Visitors’,’in’,’Visitor identification’,’A script that tracks human and AI agent visits per page and de-anonymizes traffic. 25 tokens per identified visitor.’],
[‘Mailers’,’in’,’Warmed mailboxes and sequences’,’Outbound email sequences installed natively. A mailbox costs 300 tokens a month.’],
[‘Seers’,’watch’,’Competitor watching’,’Seers read competitor sitemaps on a schedule and flag new pages for a build to answer.’]
];
var G={all:’All’,conv:’Agentic conviction’,geo:’GEO / SEO’,in:’Inbound conversion’,watch:’Watching’};
var RP={conv:’Letter positions these against G2 and Trustpilot.’,geo:’Letter positions these against Semrush, Sanity and Profound.’,in:’Letter positions these against RB2B and Instantly.’,watch:’Listed in agents.md.’};
var fw=$(‘flt’),pw=$(‘prims’);
Object.keys(G).forEach(function(k){var b=document.createElement(‘button’);b.className=”btn flt”;b.textContent=G[k];b.setAttribute(‘aria-pressed’,k===’all’);b.onclick=function(){fw.querySelectorAll(‘.flt’).forEach(function(x){x.setAttribute(‘aria-pressed’,x===b)});pw.querySelectorAll(‘.prim’).forEach(function(p){p.classList.toggle(‘dim’,k!==’all’&&p.dataset.g!==k)})};fw.appendChild(b)});
P.forEach(function(p,i){var b=document.createElement(‘button’);b.className=”prim”;b.dataset.g=p[1];b.innerHTML='<small>’+G[p[1]]+'</small><b>’+p[0]+'</b>’;b.onclick=function(){pw.querySelectorAll(‘.prim’).forEach(function(x){x.classList.toggle(‘on’,x===b)});$(‘ptag’).textContent=G[p[1]];$(‘ptitle’).textContent=p[0]+’: ‘+p[2];$(‘pbody’).textContent=p[3]+’ ‘+RP[p[1]];post()};pw.appendChild(b)});
// calculator
var PL=[[‘Basic’,100,10000,50],[‘Starter’,500,50000,50],[‘Growth’,1000,130000,38.46],[‘Scale’,2500,400000,31.25]];
var tpr=500;
$(‘tpr’).querySelectorAll(‘button’).forEach(function(b){b.onclick=function(){tpr=+b.dataset.v;$(‘tpr’).querySelectorAll(‘button’).forEach(function(x){x.setAttribute(‘aria-pressed’,x===b)});calc()}});
[‘pr’,’ar’,’ph’,’ai’,’vi’].forEach(function(id){$(id).addEventListener(‘input’,calc)});
function f(n){return n.toLocaleString(‘en-US’)}
function calc(){
var pr=+$(‘pr’).value,ar=+$(‘ar’).value,ph=+$(‘ph’).value,ai=+$(‘ai’).value,vi=+$(‘vi’).value;
$(‘vpr’).textContent=pr;$(‘var’).textContent=ar;$(‘vph’).textContent=ph;$(‘vai’).textContent=f(ai);$(‘vvi’).textContent=f(vi);
var t=pr*tpr+ar*1030+ph*300+ai*12+vi*25;
$(‘tok’).textContent=f(t)+’ tokens’;$(‘list’).textContent=”$”+f(Math.round(t/100))+’ at list price’;
var costs=PL.map(function(p){return p[1]+Math.max(0,t-p[2])*p[3]/1000});
var min=Math.min.apply(null,costs),max=Math.max.apply(null,costs),bi=costs.indexOf(min);
var h=””;PL.forEach(function(p,i){h+='<div class="bar’+(i===bi?’ best’:”)+’"><div class="lbl"><span>’+p[0]+’ · $’+f(p[1])+’/mo, ‘+f(p[2])+’ tokens</span><b>$’+f(Math.round(costs[i]))+(i===bi?’ ✓’:”)+'</b></div><div class="trk"><i data-w="’+(costs[i]/max*100).toFixed(1)+’"></i></div></div>’});
$(‘bars’).innerHTML=h;
requestAnimationFrame(function(){requestAnimationFrame(function(){$(‘bars’).querySelectorAll(‘i’).forEach(function(i){i.style.width=i.dataset.w+’%’})})});
post();
}
calc();
window.addEventListener(‘load’,post);window.addEventListener(‘resize’,post);setTimeout(post,300);setTimeout(post,1200);
})();
</script>
</body></html>
“>

(function(){var f=document.getElementById(‘lp1x-frame’);window.addEventListener(‘message’,function(e){if(e.source===f.contentWindow&&e.data&&e.data.lp1xHeight){f.style.height=Math.ceil(e.data.lp1xHeight)+’px’;}});})();

How does Letterpress-1 compare with Codex, Claude Code and Cursor?

Feature Letterpress-1 OpenAI Codex Claude Code Cursor
Built for Growth engineering on git-hosted sites General coding General coding General coding (editor and agents)
Entry paid plan $100/month, 10,000 tokens Go $8/month; Plus $20/month Pro $20/month ($17 annual) Plus $8/month (Grok models only)
Free access 5,000 one-time tokens (6,000 with work email) Free plan, $0 Not in Free plan Free plan, limited agent requests
Billing Token pool; agent runs at model cost + 20% Plan limits, credits or API key Shared plan usage or API credits Weekly pool; third-party models at API list price
Models Frontier plus fine-tuned small models (not named) GPT-6.1 Sol, GPT-6 Luna and others Opus, Sonnet, Haiku; Fable via credits Grok models; third-party at API price
Built-in growth primitives Proofs, Simulations, Benches, Phantoms, Visitors, Mailers, Seers None listed None listed None listed

How much does Letterpress-1 cost?

Letter bills 1 shared token pool. A token equals 1 cent at list price. Plans are Basic ($100, 10,000 tokens), Starter ($500, 50,000), Growth ($1,000, 130,000) and Scale ($2,500, 400,000). Enterprise starts at 2 million tokens a month at half the list rate.

Agent runs cost model spend plus 20%, typically 150 to 900 tokens per pull request. That is $1.50 to $9 at list. A published article costs 1,030 tokens. Overage on Basic and Starter is $50 per 1,000 tokens, 5x the list rate. Unused tokens do not roll over.

Key Takeaways

  • Letterpress-1 is a coding agent, harness and IDE built for growth engineering.
  • Every change ships as a sandboxed pull request with a preview link.
  • 760 tools are exposed over MCP, REST and CLI for external agents.
  • Pricing starts at $100/month; agent runs cost model spend plus 20%.
  • No public benchmark yet; quality claims are self-reported.


Check out the product page, pricing, showcase, agents.md and the launch post on X. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.

Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us

YOU MAY ALSO LIKE

Binance Estimates $6.3 Billion Hacked in Crypto’s Largest Heist

Anthropic Revenue Nears $17 Billion Ahead of IPO

The post The Letter Company Releases Letterpress-1: A Coding Agent Built for Growth Engineering appeared first on MarkTechPost.

Credit: Source link

ShareTweetSendSharePin

Related Posts

Binance Estimates .3 Billion Hacked in Crypto’s Largest Heist
AI & Technology

Binance Estimates $6.3 Billion Hacked in Crypto’s Largest Heist

November 3, 2026
Anthropic Revenue Nears  Billion Ahead of IPO
AI & Technology

Anthropic Revenue Nears $17 Billion Ahead of IPO

November 3, 2026
Anthropic to Spend 5 Billion in the Years Ahead
AI & Technology

Anthropic to Spend $895 Billion in the Years Ahead

November 3, 2026
Mendler’s Northwood Reaches  Billion Valuation
AI & Technology

Mendler’s Northwood Reaches $2 Billion Valuation

November 3, 2026
Next Post
She Lost Child Support And Can’t Pay Her Bills Now

She Lost Child Support And Can't Pay Her Bills Now

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

No Result
View All Result
Current with Christine Romans – Oct. 7 | NBC News NOW

Current with Christine Romans – Oct. 7 | NBC News NOW

October 30, 2026
Antero Resources: Another Hedging Win In The Latest Quarter

Antero Resources: Another Hedging Win In The Latest Quarter

October 29, 2026
NBC Nightly News with Tom Llamas Full Episode – Oct. 8

NBC Nightly News with Tom Llamas Full Episode – Oct. 8

October 29, 2026

About

Learn more

Our Services

Legal

Privacy Policy

Terms of Use

Bloggers

Learn more

Article Links

Contact

Advertise

Ask us anything

©2020- TradePoint.io - All rights reserved!

Tradepoint.io, being just a publishing and technology platform, is not a registered broker-dealer or investment adviser. So we do not provide investment advice. Rather, brokerage services are provided to clients of Tradepoint.io by independent SEC-registered broker-dealers and members of FINRA/SIPC. Every form of investing carries some risk and past performance is not a guarantee of future results. “Tradepoint.io“, “Instant Investing” and “My Trading Tools” are registered trademarks of Apperbuild, LLC.

This website is operated by Apperbuild, LLC. We have no link to any brokerage firm and we do not provide investment advice. Every information and resource we provide is solely for the education of our readers. © 2020 Apperbuild, LLC. All rights reserved.

No Result
View All Result
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop

© 2023 - TradePoint.io - All Rights Reserved!