← back to Abrams

public/press.html

109 lines

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Abrams — Press Kit</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/static/css/panel.css" />
<style>
  .container { max-width: 980px; margin: 0 auto; padding: 110px 32px 80px; }
  .lede { color: var(--fg-2); font-size: 17px; line-height: 1.7; max-width: 720px; margin: 0 0 32px; }
  .fact { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--hairline); }
  .fact .k { color: var(--accent); font-family: var(--mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
  .fact .v { color: var(--fg); font-size: 14px; line-height: 1.6; }
  .pull { background: var(--bg-2); border-left: 3px solid var(--accent); padding: 18px 22px; margin: 28px 0; font-family: var(--serif); font-size: 18px; font-style: italic; color: var(--fg); }
  .download { background: var(--bg-2); border: 1px solid var(--hairline); padding: 18px 22px; margin: 12px 0; display: flex; justify-content: space-between; align-items: center; }
  .download .nm { font-family: var(--mono); font-size: 12px; letter-spacing: .15em; }
  .download .meta { color: var(--fg-3); font-size: 11px; }
  .download a { color: var(--accent); padding: 6px 18px; border: 1px solid var(--accent); font-family: var(--mono); font-size: 10px; letter-spacing: .25em; text-transform: uppercase; }
  .props { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
  .props div { background: var(--bg-3); padding: 18px; border: 1px solid var(--hairline); }
  .props div h4 { font-family: var(--mono); font-size: 11px; letter-spacing: .25em; color: var(--accent); margin: 0 0 8px; }
  .props div p { color: var(--fg); font-size: 14px; line-height: 1.6; margin: 0; }
</style>
</head>
<body>

<div class="chrome">
  <a class="logo" href="/">ABRAMS<span class="dot">.</span></a>
  <div class="nav-burger" role="button" aria-label="open menu">
    <span class="bars"><span></span><span></span><span></span></span>
    <span class="label">MENU</span>
  </div>
</div>

<div class="container">
  <h1 style="font-family:var(--serif);font-size:56px;font-weight:400;margin:0 0 8px;">Press Kit</h1>
  <p style="color:var(--fg-3);font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;margin:0 0 28px;">For journalists, analysts, VCs · last updated 2026-05-14</p>

  <p class="lede">
    <strong>Steven Abrams</strong> is an independent operator running a thirteen-project portfolio under the <em>Abrams</em> umbrella — a Drudge-style design-industry news aggregator (Abrams Report), a household-rights operating system that tracks warranties and recalls (AbramsOS), an AI dialer that holds on the line for you (Butlr), a California bar attorney directory (lawyers.agentabrams.com), and the public Abrams Panel — the live, sortable Bloomberg-terminal-style dashboard now in front of you.
  </p>

  <p class="pull">"Abrams is the intelligence terminal for independent operators — real-time news, AI agents, legal tools, and household-rights OS in one layer, for the solo founder, professional, and owner who runs their world without enterprise IT."</p>

  <h2 style="font-family:var(--serif);font-size:32px;font-weight:400;margin:40px 0 16px;">Quick facts</h2>
  <div>
    <div class="fact"><span class="k">Founder</span><span class="v">Steven Abrams · publishing as <em>Agent Abrams</em></span></div>
    <div class="fact"><span class="k">Based</span><span class="v">Sherman Oaks, California</span></div>
    <div class="fact"><span class="k">Portfolio</span><span class="v">13 active projects across media, household ownership tools, vertical directories, AI agents, and the publishing OS</span></div>
    <div class="fact"><span class="k">Umbrella domain</span><span class="v"><a href="https://agentabrams.com">agentabrams.com</a> (live since 2024)</span></div>
    <div class="fact"><span class="k">Public dashboard</span><span class="v"><a href="/">Abrams Panel</a> — live build log, SWOT ledger, trademark hub, Mag-20 compliance matrix, leaderboard</span></div>
    <div class="fact"><span class="k">Audience served</span><span class="v">Solo founders, independent professionals, prosumer operators · $29-99/mo self-serve, $499+/mo professional tier</span></div>
    <div class="fact"><span class="k">Total commits across portfolio</span><span class="v" id="commit-count">loading…</span></div>
    <div class="fact"><span class="k">Trademark status</span><span class="v">Common-law rights accruing in commerce; federal classes 35 + 42 + 9 + 41 + 16 prepared for filing · see <a href="/trademark">/trademark</a></span></div>
    <div class="fact"><span class="k">Press contact</span><span class="v"><a href="mailto:info@designerwallcoverings.com">info@designerwallcoverings.com</a></span></div>
  </div>

  <h2 style="font-family:var(--serif);font-size:32px;font-weight:400;margin:40px 0 16px;">What's interesting about this story</h2>
  <div class="props">
    <div><h4>Scale via system, not capital</h4><p>One person, thirteen projects, no outside funding. The Abrams Panel is the operating system that makes this manageable.</p></div>
    <div><h4>Build-in-public as marketing</h4><p>Every commit, every tick, every lead streams live to a public SSE feed. Visitors watch the empire build in real time.</p></div>
    <div><h4>Compliance moat</h4><p>The Butlr AI dialer codifies a "call once per person" rule, DNC scrub, and FCC AI-disclosure preamble — a compliance moat larger competitors can't easily match.</p></div>
    <div><h4>Multi-vertical directory engine</h4><p>The lawyer directory pattern forks cleanly to doctor, professional services, restaurants, animals — each at $49/mo per claim, 50k profiles deep.</p></div>
    <div><h4>Mag-20</h4><p>Twenty codified standing rules. Every property is audited live against the matrix. Compliance is a published number, not a vibe.</p></div>
    <div><h4>Household rights as a category</h4><p>AbramsOS treats your home like a portfolio — warranties, recalls, receipts, eligible class actions. No incumbent owns this category yet.</p></div>
  </div>

  <h2 style="font-family:var(--serif);font-size:32px;font-weight:400;margin:40px 0 16px;">Brand assets</h2>
  <div class="download">
    <div><div class="nm">ABRAMS Wordmark · SVG</div><div class="meta">Cormorant Garamond · gold dot signature</div></div>
    <a href="/static/img/abrams-wordmark.svg" download>DOWNLOAD</a>
  </div>
  <div class="download">
    <div><div class="nm">Panel Hero Screenshot · PNG</div><div class="meta">1920×1080 · dark theme</div></div>
    <a href="/static/img/panel-hero.png" download>DOWNLOAD</a>
  </div>
  <div class="download">
    <div><div class="nm">Brand Positioning · MD</div><div class="meta">Full debate-team consensus thesis</div></div>
    <a href="/api/brand-positioning" download="brand-positioning.md">DOWNLOAD</a>
  </div>
  <div class="download">
    <div><div class="nm">Mag-20 Audit Matrix · JSON</div><div class="meta">Live compliance grid · refreshed every 15 min</div></div>
    <a href="/api/mag-20" download="mag-20.json">DOWNLOAD</a>
  </div>
  <div class="download">
    <div><div class="nm">Competitive Landscape · MD</div><div class="meta">17 competitors · 8 differentiation vectors</div></div>
    <a href="/api/competitors" download="competitors.md">DOWNLOAD</a>
  </div>
  <div class="download">
    <div><div class="nm">Operator Info Hub · JSON</div><div class="meta">27 curated trusted sources for independent operators</div></div>
    <a href="/api/info-hub" download="info-hub.json">DOWNLOAD</a>
  </div>
</div>

<footer>© 2026 Steven Abrams · <a href="/">panel</a> · <a href="https://agentabrams.com">agentabrams.com</a></footer>

<script src="/static/js/corner-nav.js"></script>
<script src="/static/js/gamify.js"></script>
<script>
fetch('/api/projects').then(r=>r.json()).then(j => {
  const total = (j.projects||[]).reduce((a,p)=>a+(p.commit_count||0),0);
  document.getElementById('commit-count').textContent = total.toLocaleString() + ' across the portfolio';
});
</script>
</body>
</html>