How a Developer Used Claude Code with Linear and Discord for a Solo 30-Day Build

The Project and Stack
A developer created VGC Team Report (pokemonvgcteamreport.com), a team report builder for competitive Pokémon (VGC) that generates detailed breakdowns with matchup plans, damage calculations, speed tiers, and shareable reports. The project was built in 30 days of evenings and weekends with 274 commits, ~42,000 lines of TypeScript, 25 features shipped via Linear, 66 React components, 41 API routes, and 22 custom hooks. The stack included Next.js 16 (App Router), React 19, TypeScript (strict mode), Tailwind CSS v4, Clerk for authentication, Neon for serverless Postgres, and Vercel for hosting and deployments.
The Workflow: Linear → Claude → Discord → Vercel
The developer wired Claude Code into Linear for ticket tracking and Discord for build notifications to create an automated development pipeline. A typical session followed this sequence:
- Claude runs
linear_get_in_progressto check the Linear board for tickets - Picks the highest priority ticket (bugs first)
- Reads relevant files and implements the feature or fix
- Runs
tsc --noEmit && npm run build— if it fails, Claude fixes the errors - Commits with the ticket ID format:
VGC-42: Add speed tier chart - Pushes to main
- Posts a comment on the Linear ticket via GraphQL with commit URL and changed files
- Moves the ticket to In Review
- Calls
discord_notify_build— posts an embed to Discord #builds with commit, changed file list, and deploy status - Vercel auto-deploys from main
- Moves to the next ticket
This was implemented through a linear.sh bash script with functions that Claude calls directly: linear_get_in_progress (queries Linear GraphQL for In Progress tickets), linear_move_issue (moves a ticket to a new state), linear_comment_with_changes (posts a comment with commit link and changed files), and discord_notify_build (sends a Discord embed with commit info and deploy status).
The CLAUDE.md Operating Manual
A CLAUDE.md file at the repository root provides context for every Claude session. Key sections include:
- Git strategy: Trunk-based development with direct pushes to main for routine work, feature branches only for large or risky changes, and
npx tsc --noEmit && npm run buildbefore every push as non-negotiable - Linear workflow: Exact state IDs for "In Progress" and "In Review," how to query and implement tickets, commit with VGC-XX prefix, post commit comments, move ticket states, with bug tickets always worked on first
- Discord notifications:
discord_notify_buildfunction format with different embeds for direct-to-main pushes vs PR flows - Failure handling: Build fails → fix and retry, never push broken code; Linear API fails → still commit and push, note failure to user; Production breaks →
git revert, push to main, notify Discord, move ticket back - Code conventions: Follow existing patterns, no drive-by refactors, commit messages:
VGC-XX: descriptionfor tracked work
Automated Monitoring
Two Vercel cron jobs were set up: a daily check at 9 AM for site health, stale ticket scan, SEO audit, and database health (posts alerts to Discord only if something's wrong), and a weekly digest on Friday at 5 PM for Linear progress, user growth, and dependency updates (always posts a summary to Discord). Real-time uptime monitoring used UptimeRobot with 5-minute pings.
What Worked
The developer highlighted several effective practices: trunk-based development with type-checking gates (tsc --noEmit && npm run build) ensuring every push to main auto-deploys on Vercel with a minutes-long feedback loop; Linear ticket traceability with every commit linking back to a ticket and every ticket having a comment with commit URL and changed files; Discord as an audit trail with every build posting to #builds; and the CLAUDE.md file as the single most valuable project component for maintaining consistent context across sessions.
📖 Read the full source: r/ClaudeAI
👀 See Also

Turn Your OpenClaw Briefing into a Podcast Feed for Apple Podcasts
A Reddit user shares a simple workflow to convert OpenClaw morning briefing output into a podcast feed: TTS the text, host the MP3, append to RSS XML, and subscribe in Apple Podcasts.

OpenClaw Creates 90% of Video Using AI Models for $69.5
A Reddit user created a video where OpenClaw handled 90% of the process, including topic selection, character generation, storyboarding, and video segment generation using GPT-5, VEO3.1 fast, and Nano Banana Pro models, with a total AI cost of $69.5.

How One Team Replaced a 6-Figure HubSpot Agency with Claude Code
A mid-sized e-commerce company built their entire HubSpot Enterprise migration using Claude Code, replacing quotes of 20k-80k EUR for partial setups. They built 6 custom objects, 5 n8n integrations, and a KlickTipp migration in 4 months, with Claude Code handling both code and documentation.

Hybrid Local+API Approach Cuts AI Costs by 79% in Month-Long Test
A developer running a 24/7 AI assistant on a Hetzner VPS reduced monthly costs from $288 to $60 by strategically combining local models with API calls. The setup uses nomic-embed-text for embeddings and Qwen2.5 7B for background tasks, routing more complex work to Claude models.