Skip to content

Marketing site: content hub (/blog) + email subscribe#7

Open
evangauer wants to merge 3 commits into
mainfrom
feat/content-hub
Open

Marketing site: content hub (/blog) + email subscribe#7
evangauer wants to merge 3 commits into
mainfrom
feat/content-hub

Conversation

@evangauer
Copy link
Copy Markdown
Owner

Why

Veterinary software adoption runs on thought leadership and community, not feature lists. This stands up a real content engine on the marketing site to drive people to, capture interest, and build a critical community around the open project.

What

  • /blog — a zero-dependency, type-safe post model + renderer, seeded with 3 essays that carry the thesis:
    • Why veterinary software should be open
    • Own your data: a second PIMS you control (connect-by-API-key, eventual hosted self-service)
    • Agents belong in the back office, not just the chat box
  • Email subscribe (/api/subscribe + form) framed for content; posts to Slack today (same channel as the waitlist) so nothing is lost — point at a real ESP list when wired.
  • Each post ends with try-the-demo / star / subscribe CTAs. Wired into nav, footer, and sitemap (incl. per-post URLs for SEO).

Open-source safety

Marketing-site only (apps/www). Nothing touches the open-source app; no telemetry added to the product.

Notes

Verified

pnpm --filter @openpims/www type-check + build pass; /blog (+ 3 posts) prerender, /api/subscribe compiles.

🤖 Generated with Claude Code

evangauer and others added 3 commits June 2, 2026 14:16
Two pre-existing breakages on main (from the TipTap PR) that fail CI and Vercel:

1. pnpm-lock.yaml was missing the @tiptap/* dependencies declared in
   apps/web/package.json, so 'pnpm install --frozen-lockfile' (CI + Vercel)
   failed with ERR_PNPM_OUTDATED_LOCKFILE. Regenerated the lockfile.
2. records/new-soap imported '@/components/SoapNoteEditor', but the component
   lived in app/components/ (the @/ alias resolves to the app root, not app/).
   Moved SoapNoteEditor + SoapNoteDisplay into components/ to match the
   repo convention (components/{ui,layout,common}) so the import resolves.

Verified: pnpm install --frozen-lockfile, type-check, test (119), and build
all pass for both apps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A visitor who came straight to demo.openvpm.com hit a 307 to the marketing
site (unauthenticated root -> NEXT_PUBLIC_WWW_URL), which dead-ended anyone
trying to actually try the demo. Now unauthenticated root redirects to /login,
which offers one-click demo access. Removes the funnel leak on the demo
subdomain.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The veterinary space runs on thought leadership, so this stands up a real
content engine to drive people to and grow a community around the open project:

- /blog with a zero-dependency, type-safe post model and 3 seed essays carrying
  the thesis: why vet software should be open, owning your data via a second
  PIMS you connect by API key, and putting AI agents to work in the back office.
- Email subscribe (/api/subscribe + form) framed for content, posting to Slack
  today; point at a real ESP list later (noted in the route).
- Every post ends with a try-the-demo / star / subscribe call to action.
- Wired into nav, footer, and sitemap (incl. per-post URLs).

Marketing-site only; nothing touches the open-source app.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openvpm Ready Ready Preview, Comment Jun 3, 2026 3:00am

Request Review

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