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

OpenClaw Cost Optimization: How a Developer Fixed a $750 Mistake with Model Routing
A developer shares how switching all OpenClaw subagents to the free Hunter Alpha model on OpenRouter led to silent failures, including a video production agent that generated valid code but produced a 9-second silent black video. The solution involved implementing explicit model routing based on task requirements.

Testing OpenClaw for Multi-Country Trip Planning with MoLOS Integration
A developer tested OpenClaw with MoLOS to plan a China-Japan trip, generating day-by-day itineraries, flight/hotel suggestions, and 50+ automated tasks while identifying limitations in transport times and attraction validation.

Building a 200k LOC Production App via Vibe Coding from a Phone
A developer built Vibe Remote, a mobile vibe-coding tool with ~200,000 lines of code (140k Go, 60k Swift), primarily by messaging Claude Code through the app from their phone. The project revealed key challenges like DRY violations and E2E test bottlenecks.

Practical OpenClaw Setup: Mac Mini Configuration, Cost Management, and Daily Automation
A developer shares their basic OpenClaw assistant setup running on a Mac Mini, detailing security measures, cost optimization from $60-70 initial API fees to $0.60-2.60 daily, and practical integrations including Telegram, Dropbox, and Google Workspace via Composio.