Developer Builds Full SaaS Product with Claude Cowork: MLB Scoreboard App with Auth, Payments, and Embed Widget

Project Overview
A developer built a complete SaaS product called ScorePorch using Claude Cowork sessions. ScorePorch is a personalized MLB scoreboard application that includes frontend, backend, authentication, payments, and an embeddable widget.
Technical Stack
- Frontend: Vite + React
- Backend: Express/Vercel serverless API
- Authentication: Supabase (email + Google OAuth)
- Payments: Stripe with webhook sync
- Data source: MLB Stats API for live data
- Headlines: MLB.com RSS feeds
Application Features
Users select their favorite team and receive a dashboard themed to that team's colors. The dashboard includes:
- Live scores
- Division standings
- Next-game countdown
- Team-specific headlines from MLB.com RSS feeds
- Full box scores
The free tier provides access to one team, while paid tiers unlock multi-team functionality and an embeddable widget.
Embed Widget Details
The embed widget was built as a Shadow DOM-isolated, container-query-responsive component that can be added to any website with a single script tag. The widget is 23KB total with no dependencies. Claude Cowork helped develop the isolation strategy to prevent widget CSS from leaking into host pages.
Development Experience with Claude Cowork
The developer noted that Cowork handled the full product lifecycle effectively, not just code generation. Specific collaborative tasks included:
- Iterating on authentication flows
- Debugging Stripe webhook edge cases
- Working through CORS issues for cross-origin widget requests
- Building a Framer landing page
The context continuity between sessions made the experience feel like working with a co-founder who remembers previous work.
Challenges Encountered
- Authentication: PKCE flow kept breaking the callback, requiring a switch to implicit flow
- API limitations: ESPN's API was effectively dead, requiring a pivot to MLB.com RSS for headlines
- Git integration: Cowork cannot push to git directly (EPERM on index.lock), requiring a workaround where the developer clones to /tmp and pushes from there
Additional Development
The developer created a Cowork plugin for ScorePorch, allowing other developers building dashboards to add a live MLB scoreboard to their projects using /add-scoreboard [team-name]. The plugin includes integration guides for React, Next, Vue, Svelte, WordPress, Squarespace, and Webflow.
The application is live at app.scoreporch.com.
📖 Read the full source: r/ClaudeAI
👀 See Also

Practical OpenClaw Setup Patterns from Real-World Deployments
A Reddit user shares insights from setting up OpenClaw for 10+ non-technical users, revealing that successful deployments typically involve 1-2 messaging apps, 5-10 simple workflows, local Mac operation, and voice cloning as a key adoption driver.

A Developer's $2,500 Opus Token Burn on OpenClaw: Real-World Workflows vs. Tooling
A software shop owner recounts spending $2,500 on Opus tokens through OpenClaw, using it for bug fixes, visual automation, and server management — but questions what a 'workflow' actually means.

Hermes vs. OpenClaw: The Difference Is Personality, Not Speed
A developer compares Hermes and OpenClaw side by side and finds the key difference is how each handles identity: Hermes stores memories, OpenClaw stores personality facets via soul.md.

Analyzing Claude Code Insights: Key Findings and Recommendations
A six-week report on Claude Code usage reveals iterative refinement dominates sessions, with key friction issues related to code verification and approaches.