Skip to content

Commit 5932f6d

Browse files
author
claude
committed
site: rewrite homepage + /desktop/, retire /pricing/, unify nav across all pages
The site was carrying two simultaneous pitches — small-business-owner pitch in the top half, developer-proxy pitch in the bottom half — and neither audience was getting a clean path to conversion. Per today's strategy call, the site now serves small business owners and drives them toward Cloud ($49-$129/mo). Developer/proxy content still exists but is out of the main funnel. New homepage (site/index.html) Hero anchors on pain naming: 'You didn't start your business to pay six SaaS bills.' Subhead lists what Stockyard replaces (scheduling, invoice, member management, email blasts) and prices Cloud first, then Local. The main visual is a mocked desktop app screenshot of a brewery (Hopfield Brewing) running Stockyard — taproom check-ins, revenue bars, trivia night, mug club, 'working offline' status. Window chrome + status bar so it reads as an actual app, not a bundle. Sections in order: hero, screenshot, how it works (3 cols), pricing in context (competitor comparison table with HoneyBook, Mindbody, 17hats, Stockyard Cloud, Stockyard Local at Year 1 and Year 3), what's inside (stats + 4 example bundles), pricing preview (3 tier cards, Cloud Single featured), trust section (disappearance promise + Price Lock + veterans), developer note. Bundle explorer that used to be the hero interaction is gone — /for/ remains as the bundle browser for anyone who wants it. dev-focused copy ('38 LLM providers, 76 middleware modules') is retired; one small developer note at the bottom points devs to /proxy-only/ and GitHub. New nav: How it works / Pricing / About / Get Stockyard. Gone from main nav: Tools, Bundles, GitHub (GitHub still in footer). /desktop/ rewrite (site/desktop/index.html) Same pricing/Stripe/toggle logic, new framing. Cloud Single is now first and featured (was Local first); Local is re-positioned as 'not a stripped-down version' rather than as a fallback. Hero: 'Same software on every tier. Pick your fit.' explicitly defuses the 'am I getting less on Local?' concern. FAQ expanded with 'does Stockyard send my data anywhere' (privacy question customers will ask) and 'military/veterans' (was buried in footer before). HoneyBook/Mindbody answer now includes 17hats and removes em dashes per house style. Nav + footer match homepage. /pricing/ → /desktop/ redirect /pricing/ was serving a different and contradictory pricing story ('Free proxy. One-time desktop purchase. Cloud sync if you want it' — leading with Free Proxy as tier 1). Removed /pricing/ from the page list in internal/site/site.go and added 301 handlers for /pricing/ and /pricing. Old inbound links keep working; search engines will migrate to /desktop/. site/pricing/ and internal/site/static/pricing/ both removed. Nav unification across existing secondary pages site/about/, site/constitution/, site/veterans/, site/proxy-only/ all now carry the same top nav as the new homepage so a visitor hopping between pages doesn't feel like they're crossing site boundaries. /proxy-only/ keeps a slightly different nav (Home / Pricing / GitHub) appropriate to its developer audience. No changes to: /for/ (bundle browser — fine as-is for the 'see what's inside' click-through from homepage) /cloud/, /cloud/login/ (functional pages, not marketing) /billing/success/, /desktop/success/ (post-purchase pages) /tools/{slug}/ (legacy per-tool pages — a customer only reaches these by deep link, not from the new nav) Stripe checkout wiring in /desktop/ (preserved as-is) Testing: go build ./internal/site/ clean, go test ./internal/site/ clean, make site-sync run to mirror site/ → internal/site/static/. Flag for review: the screenshot uses v0.2.0 in the status bar, which is the desktop version we'll tag when Sectigo arrives (Apr 20-23). If the site ships before the desktop build does, the screenshot shows a version that technically doesn't exist yet. Low-stakes since no customer has v0.1.0 installed either.
1 parent 92cc112 commit 5932f6d

15 files changed

Lines changed: 1043 additions & 1381 deletions

File tree

internal/site/site.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,6 @@ func Register(mux *http.ServeMux, db *sql.DB) {
278278
// Serve known page routes as their index.html
279279
pages := []string{
280280
"/about/",
281-
"/pricing/",
282281
"/privacy/",
283282
"/terms/",
284283
"/constitution/",
@@ -320,6 +319,17 @@ func Register(mux *http.ServeMux, db *sql.DB) {
320319
})
321320
}
322321

322+
// Pricing redirect. /pricing/ was the old canonical pricing URL; as
323+
// of the April 2026 site rewrite it redirects to /desktop/ which is
324+
// the canonical pricing page. 301 so search engines update the
325+
// indexed URL; old inbound links keep working indefinitely.
326+
mux.HandleFunc("GET /pricing/", func(w http.ResponseWriter, r *http.Request) {
327+
http.Redirect(w, r, "/desktop/", http.StatusMovedPermanently)
328+
})
329+
mux.HandleFunc("GET /pricing", func(w http.ResponseWriter, r *http.Request) {
330+
http.Redirect(w, r, "/desktop/", http.StatusMovedPermanently)
331+
})
332+
323333
// AI recommendation endpoint
324334
if recommender != nil {
325335
mux.HandleFunc("POST /api/recommend", recommender.HandleRecommend)

internal/site/static/about/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<body>
3939
<nav class="nav">
4040
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
41-
<div class="nav-links"><a href="/for/">Bundles</a><a href="/pricing/">Pricing</a></div>
41+
<div class="nav-links"><a href="/#what">How it works</a><a href="/desktop/">Pricing</a><a href="/about/" style="color:var(--cream)">About</a><a href="/desktop/" style="color:var(--rust-light)">Get Stockyard</a></div>
4242
</nav>
4343
<div class="content">
4444
<h1>Built by one person who got tired of paying for software.</h1>

internal/site/static/constitution/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<body>
8080
<nav class="nav">
8181
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
82-
<div class="nav-links"><a href="/for/">Bundles</a><a href="/pricing/">Pricing</a><a href="/constitution/">Constitution</a></div>
82+
<div class="nav-links"><a href="/#what">How it works</a><a href="/desktop/">Pricing</a><a href="/about/">About</a><a href="/desktop/" style="color:var(--rust-light)">Get Stockyard</a></div>
8383
</nav>
8484
<article class="constitution-page">
8585
<div class="eyebrow">A Binding Commitment</div>

internal/site/static/desktop/index.html

Lines changed: 100 additions & 66 deletions
Large diffs are not rendered by default.

internal/site/static/index.html

Lines changed: 409 additions & 433 deletions
Large diffs are not rendered by default.

internal/site/static/pricing/index.html

Lines changed: 0 additions & 186 deletions
This file was deleted.

internal/site/static/proxy-only/index.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@
8484
<nav class="nav">
8585
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
8686
<div class="nav-links">
87-
<a href="/for/">Bundles</a>
87+
<a href="/">Home</a>
8888

89-
<a href="/pricing/">Pricing</a>
89+
<a href="/desktop/">Pricing</a>
90+
91+
<a href="https://github.com/stockyard-dev/Stockyard" target="_blank" rel="noopener">GitHub</a>
9092

9193
</div>
9294
</nav>

internal/site/static/veterans/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<body>
8686
<nav class="nav">
8787
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
88-
<div class="nav-links"><a href="/for/">Bundles</a><a href="/pricing/">Pricing</a><a href="/veterans/">Veterans</a></div>
88+
<div class="nav-links"><a href="/#what">How it works</a><a href="/desktop/">Pricing</a><a href="/about/">About</a><a href="/desktop/" style="color:var(--rust-light)">Get Stockyard</a></div>
8989
</nav>
9090
<article class="veterans-page">
9191
<div class="eyebrow">For Those Who Have Served</div>

site/about/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<body>
3939
<nav class="nav">
4040
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
41-
<div class="nav-links"><a href="/for/">Bundles</a><a href="/pricing/">Pricing</a></div>
41+
<div class="nav-links"><a href="/#what">How it works</a><a href="/desktop/">Pricing</a><a href="/about/" style="color:var(--cream)">About</a><a href="/desktop/" style="color:var(--rust-light)">Get Stockyard</a></div>
4242
</nav>
4343
<div class="content">
4444
<h1>Built by one person who got tired of paying for software.</h1>

site/constitution/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<body>
8080
<nav class="nav">
8181
<a class="nav-brand" href="/"><svg fill="none" height="24" viewbox="0 0 64 64" width="24"><rect fill="#e8753a" height="48" rx="2.5" width="8" x="8" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="28" y="8"></rect><rect fill="#e8753a" height="48" rx="2.5" width="8" x="48" y="8"></rect><rect fill="#c4a87a" height="7" rx="2.5" width="48" x="8" y="27"></rect></svg>Stockyard</a>
82-
<div class="nav-links"><a href="/for/">Bundles</a><a href="/pricing/">Pricing</a><a href="/constitution/">Constitution</a></div>
82+
<div class="nav-links"><a href="/#what">How it works</a><a href="/desktop/">Pricing</a><a href="/about/">About</a><a href="/desktop/" style="color:var(--rust-light)">Get Stockyard</a></div>
8383
</nav>
8484
<article class="constitution-page">
8585
<div class="eyebrow">A Binding Commitment</div>

0 commit comments

Comments
 (0)