Skip to content

smtpfa.st email + layout polish (docs / 404 / hero / seeder) - #20

Merged
bobbyonmagic merged 1 commit into
mainfrom
feat/smtpfast-and-layout
May 17, 2026
Merged

bobbyonmagic merged 1 commit into
mainfrom
feat/smtpfast-and-layout

Conversation

@bobbyonmagic

Copy link
Copy Markdown
Collaborator

Email provider swap

Resend → smtpfa.st. The sendEmail() helper from the last refactor is the only call site that changes; every other email path was already routed through it.

  • lib/email.ts rewritten on top of smtpfa.st's REST API (no SDK dep)
  • resend npm dep dropped
  • .env.example, docker-compose*.yml, scripts/setup-server.sh, README, CLAUDE.md, skills (add-email, customize), admin system page, examples — all reference SMTPFAST_API_KEY / SMTPFAST_FROM_EMAIL now

Middleware: /docs not auth-gated

/docs was missing from publicPaths, so visitors were getting redirected to /login. Added /docs, /llms.txt, /llms-full.txt, /api/openapi.json, /api/raw/.

Seeder

Changed to admin@admin.com / password per request. Both surfaced in the console log on seed.

Layout polish

  • Docs index: dropped the cramped 2-col card grid (was getting squeezed by the dev-docs sidebar). Now: "Start here" featured quickstart card + single-column list of remaining guides. Reads cleanly at narrow content widths.
  • 404 page: was sparse and uninspired. Now a terminal-card mock with monospace "404" art, suggested URLs (Home / Docs / Blog / Pricing) with hover affordance, matching the hero terminal chrome.
  • Homepage hero: added a terminal-card mock showing the /customize skill in action — the visual hook for "what makes Surge different". Updated badge to "Built for Claude Code · MIT licensed", headline to "Ship your SaaS in prompts, not months", tagline mentions skills/subagents/MCP.

Verified

  • npx tsc --noEmit: clean on touched files
  • npm test: 68/68 ✓

Email provider swap:
- Replace Resend SDK with smtpfa.st REST in lib/email.ts. The
  sendEmail() helper from the prior refactor is the only call site
  that changes — every other email path was already routed through it.
- Drop the resend npm dep.
- .env.example, docker-compose, setup-server.sh, README, CLAUDE.md,
  skills, admin system page, and examples/ all updated to reference
  SMTPFAST_API_KEY / SMTPFAST_FROM_EMAIL.

Middleware:
- /docs, /llms.txt, /llms-full.txt, /api/openapi.json, /api/raw/ added
  to publicPaths so they're not auth-gated. /docs was the user-reported
  bug — visitors were getting redirected to /login.

Seeder:
- Change seed credentials to admin@admin.com / password (per request).
  Both are surfaced in the console log on seed.

Layout fixes:
- Docs index: drop the cramped 2-column card grid (it was getting
  squeezed by the dev-docs sidebar). New layout is a "Start here"
  featured quickstart card + a single-column list of remaining
  guides. Reads way better at narrow content widths.
- 404 page: was sparse + uninspired. Now a terminal-card mock with a
  monospace "404" art block, a list of suggested URLs (Home / Docs /
  Blog / Pricing) with hover-arrow affordance, and the same window
  chrome the hero terminal uses.
- Homepage hero: added a terminal-card mock showing the /customize
  skill in action — the "what makes Surge different" hook is now
  visual. Updated badge to "Built for Claude Code · MIT licensed",
  headline to "Ship your SaaS in prompts, not months", and tagline to
  mention skills/subagents/MCP.

Vitest 68/68 green, tsc clean.
@bobbyonmagic
bobbyonmagic merged commit 9fb14c1 into main May 17, 2026
1 check passed
@bobbyonmagic
bobbyonmagic deleted the feat/smtpfast-and-layout branch May 17, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant