Skip to content

Releases: tryscribeco/scribe

v0.9.9 Public Readiness Hardening

16 Apr 23:04

Choose a tag to compare

This release includes a set of general security hardening and repository-readiness improvements ahead of broader code review and sharing.

Highlights:

  • tightened environment-variable expectations in runtime paths
  • improved repository setup clarity with local environment templates
  • refined README structure and deployment documentation for easier review
  • applied general repository hardening and cleanup for safer public-facing maintenance

This release is focused on operational clarity and safer defaults, while preserving the current application architecture and deployment model.

v0.9.8 — Deploy Safety + Growth Hack + Marketing Fixes

14 Mar 05:26

Choose a tag to compare

🔥 Invite-Only Growth Hack

  • Added invite-only free access strategy to launch plan
  • Full playbook: exclusive access → traction → revenue levers
  • Cost analysis and risk mitigations included

🔒 Launch Plan Password Protection

  • /launch-plan now requires password (scribeAway26)
  • Session-based — enter once per browser session

🛠️ Marketing Site Fixes

  • Restored Beta tag on marketing site nav
  • All CTAs now point to app.tryscribe.co/dashboard
  • Added missing seo-guidelines.html to platform
  • Clean URL rewrites for all static pages (launch-plan, seo-guidelines, brand-guide)

🚀 Deploy Automation

  • deploy.sh — single command deploys from correct directory
  • Auto-syncs public/platform/public/ before deploy
  • Removed rogue .vercel project link from repo root
  • DEPLOY.md documents architecture and rules
  • Prevents accidental domain hijacking from wrong directory deploys

v0.9.7 — How We Built Scribe (Case Study Page)

12 Mar 17:59

Choose a tag to compare

What's New

/how-we-built-scribe — Public Case Study Page (#84)

A polished case study page showcasing the Scribe build story:

  • Hero: "One CTO. Nine Days. A Production SaaS."
  • Cost comparison: 8-person team salary table ($350K-$600K traditional) vs 1 CTO + $200/mo AI tokens
  • Architecture highlights: SVG/PNG diagrams from private docs
  • Day-by-day build log: All 9 working days, 17 releases
  • Tech stack badges, version history table, proof bar stats

Dual purpose: portfolio piece for job applications + investor/pitch material.

Infrastructure

  • Middleware clean URL rewrite (/how-we-built-scribe → .html)
  • GitHub Actions workflow for project board label automation
  • Image validation logging to MongoDB (#83)
  • Architecture diagram assets (SVG + PNG)

Full Changelog: v0.9.6...v0.9.7

v0.9.6 — Routing Fixes + OG Images + Idle Cost Fix

11 Mar 23:26

Choose a tag to compare

What's New

Bug Fixes

  • #82: app.tryscribe.co now redirects to /dashboard instead of showing marketing page
  • OG images: Fixed 404 on og-image.jpg — missing from platform/public/ after subfolder migration. Link previews (iMessage, Telegram, etc.) working again
  • Canonical redirect: /marketing.html now 301 redirects to / (no duplicate content)

EC2 Cost Optimization (#81 — CLOSED)

  • Root cause: wrong model name + CLI key escaping bug → heartbeat silently using Opus instead of Haiku
  • Fix verified with 4-hour monitoring: $0.05 total ($0.007/heartbeat)
  • Idle cost reduced from $5.76/day → $0.17/day (95% reduction, $168/month saved)
  • Operational cost breakdown added to launch plan

Issues Closed

  • #80 — Subfolder migration complete
  • #81 — Idle Anthropic token consumption resolved
  • #82 — app.tryscribe.co routing fixed

v0.9.5 — SEO Subfolder Migration + EC2 Cost Optimization

11 Mar 18:48

Choose a tag to compare

What's New

SEO Authority Consolidation (#80)

  • Migrated from subdomains to subfolders for SEO authority consolidation
  • All brand blogs now served at tryscribe.co/<brand>/ instead of <brand>.tryscribe.co
  • Marketing page at root, dashboard redirected to app.tryscribe.co
  • Fixed related article links and brand prefix in subfolder URLs

EC2 Cost Optimization

  • Diagnosed and fixed heartbeat model misconfiguration burning $5.76/day while idle
  • Root cause: wrong model name (claude-haiku-3.5claude-haiku-4-5) + allowlist escaping bug causing silent fallback to Opus
  • Heartbeat cost reduced from $0.24/heartbeat (Opus) to $0.007/heartbeat (Haiku) — 34x cheaper
  • Production idle cost: $0.17/day (was $5.76/day — $168/month saved)

Docs & Testing

  • All 7 test accounts documented
  • Testing guide moved to GitHub issue #70
  • Launch plan updated with real cost data from March 10 testing
  • AWS Startup Showcase + growth channels added to launch plan
  • Architecture and README updated for subfolder URL model

v0.9.2 — Content Quality + Centralized Prompts

07 Mar 05:36

Choose a tag to compare

What's New

#60 Centralized Instruction System — CLOSED

  • All prompts extracted to worker/prompts/ (single source of truth)
    • dalle-image.js — DALL-E prompt builder + rules
    • article-writing.js — Full Scribe Walker prompt
    • quality-rules.js — Quality, CTA, brand SEO rules
    • tags.js — Standard tag definitions
  • Image regeneration now uses same DALL-E prompt as article generation

Content Quality Overhaul

  • Word count minimum raised: 800→1200 words (target 1200-1800)
  • Readability & engagement rules: conversational tone, relatable scenarios, varied pacing
  • Results: Latest articles hitting 1357-1561 words vs 860-919 before

Image Dimension Enforcement

  • Square/portrait images rejected at upload (not autocropped)
  • Auto-queues image regeneration job on rejection
  • Logs dimensions for platform analytics

Bug Fix: Rate Limit Separation

  • Article generation and image regeneration now have independent rate limits (5/hr each)
  • Previously image regens counted toward article gen limit

New Issues Created

  • #61 — Article fine-tuning & custom content direction (P2)
  • #62 — Tone customization for Pro+ users (P2)

Rollback

git checkout v0.9.1
cd platform && npx vercel --prod --yes
cd ../worker && pkill -f job-worker && node job-worker.js

Full diff: v0.9.1...v0.9.2

v0.9.1 — Site Owner Article Management

07 Mar 04:02

Choose a tag to compare

What's New

Article Management (#59) — 7 tasks completed

  • Delete articles with Vercel Blob CDN cleanup
  • Regenerate featured images (async via worker + DALL-E 3)
  • Upload custom images (5MB max, sharp Q85 → CDN)
  • Unpublish/republish toggle (draft ↔ published, auto-unpin)
  • Manage modal — clean pencil icon replaces cluttered card buttons
  • Graceful 'not available' page — branded page replaces raw 404
  • Toast notifications on regenerate/upload actions

Bug Fixes

  • Dashboard now polls during image regeneration (was only polling during article gen)
  • Image-regen email notifications fixed (was using wrong field name)
  • Branded 🎨 email template for image completion

Rollback

git checkout v0.9.0
cd platform && npx vercel --prod --yes
# Restart worker with: cd worker && node job-worker.js

Full diff: v0.9.0...v0.9.1

v0.9.0 — Dashboard + Notifications + Article Polish

06 Mar 23:42

Choose a tag to compare

🎉 4 Issues Closed

#5 — Dashboard Completion

  • Stats bar: article count, tier usage progress bar (color-coded green/amber/red), current month
  • Tier badge in sidebar footer (Free/Pro/Business/Agency, links to Settings)
  • Analytics & Billing nav items with coming-soon dots, link to Settings

#38 — Navigate-Away Notice + Completion Email

  • Browser beforeunload warning during active generation
  • "Safe to leave" banner above all content during generation
  • Branded completion email via Resend (article count, words, blog link)
  • Email preferences toggle in Settings (on by default)
  • emailNotifications field on User model + /api/user/preferences endpoint

#31 — Article Page Polish (Complete)

  • Copy link share button (clipboard API + checkmark feedback)
  • Next/prev article navigation at bottom of articles
  • Removed tier indicator debug badge from blog pages
  • Fixed next/prev link paths for subdomain routing

#2 — Publishing Engine (Closed)

  • Core engine fully operational, remaining items broken out:
    • #57 Article regeneration (P2)
    • #58 Bulk operations (P2)
    • #56 Scheduled publishing (P2)

Infrastructure

  • OpenClaw updated 2026.2.9 → 2026.3.2 (fixed Telegram billing error bug)
  • #55 MongoDB Atlas network security (created, tied to AWS Phase 2)
  • #7 Custom domains: phased plan (Vercel API now, AWS post-incorporation)
  • #8 → Brand Analytics, #39 → Platform Analytics & Observability (restructured)

New Issues Created

  • #55 MongoDB network security (P1)
  • #56 Scheduled publishing (P2)
  • #57 Article regeneration (P2)
  • #58 Bulk operations (P2)

Stats

  • 20 commits since v0.8.2
  • 4 issues closed, 5 created
  • Dashboard API now returns tier field
  • New files: email.ts, CopyLinkButton.tsx, /api/notify/completion, /api/user/preferences

v0.8.4 — Session Wrap: Image Optimization + Performance + Cleanup

06 Mar 10:15

Choose a tag to compare

Session Summary (Mar 6, 2026)

Closed Issues

  • #51 — Image optimization (7/7 tasks): Vercel Blob CDN, JPEG Q85 compression, migration
  • #52 — Emoji alignment fix
  • #53 — Dashboard pagination (24/page + Load More)
  • #25 — Article limit enforcement (verified fixed)

Created Issues

  • #54 — Server-side search/sort on status API (P2)

Updated Issues

  • #7 — Custom domain connection: expanded with architecture options (Vercel vs AWS vs Hybrid) + blob storage dependency

Performance Gains

Metric Before After
Image load 11.84s 0.43s (27x faster)
Blog SSR 2.80s 1.63s (42% faster)
Image size 835KB 157KB (81% smaller)
MongoDB freed 63MB

Tags: v0.8.1 → v0.8.4

v0.8.3 — Image Optimization Complete (#51)

06 Mar 09:59

Choose a tag to compare

#51 — All 7 Tasks Complete ✅

Images migrated from base64 blobs in MongoDB → compressed JPEG Q85 on Vercel Blob CDN.

Performance Results

Metric Before After Improvement
Blog SSR 2.80s 1.63s 42% faster
Blog API 1.69s 1.44s 15% faster
Image load 11.84s 0.43s 27x faster
Image size 835KB 157KB 81% smaller
MongoDB storage ~63MB ~0MB 63MB freed

Tasks Completed

  1. ✅ sharp + @vercel/blob installed, Vercel Blob store connected
  2. image-processor.ts — fetch → JPEG Q85 → Vercel Blob → CDN URL
  3. POST /api/images/upload endpoint
  4. ✅ Worker updated — DALL-E URL → upload API (no more base64)
  5. ✅ Migration — 63/63 articles, 0 errors, 56% avg compression
  6. ✅ Image route — 301 redirect to CDN, immutable cache
  7. ✅ Projection workarounds removed — clean queries