Using Claude Code to revive abandoned personal projects: a practical walkthrough

Matthew Brunelle writes about using AI coding assistance tools (specifically Claude Code with Opus 4.6) to revive personal projects that have been abandoned. His project: a shim between YouTube Music and the OpenSubsonic API that allows any Subsonic-compatible client (Navidrome, Feishin, Symfonium) to stream music from YouTube Music. The project originally stalled because of the long tail of endpoints to implement.
Setup
Brunelle created a uv project with fastapi, pydantic, ytmusicapi, and yt-dlp as dependencies. He dropped the OpenSubsonic OpenAPI spec in the folder, added a brief README, an empty TODO file, and generated a CLAUDE.md via /init. He also added conventions to CLAUDE.md:
## Conventions
- Methods should have type annotations for args and returns as well as docstrings.
- Use Pydantic for data modeling. Use modern Pydantic V2 conventions.
- Doc strings should use the Google style format with an args and returns sections.
- Write unit tests with modern pytest style, eg top level methods using `assert` and fixtures.
Workflow
Brunelle's typical workflow:
- Enter plan mode. Prompt for the next piece of work.
- After getting the initial plan, look for gaps / problems and ask follow‑up questions until satisfied.
- Provide links to resources when Claude is off.
- Ask Claude to use the search tool for idiomatic approaches.
- Use "Accept and clear context". Repeat.
Initial implementation
First prompt: Have a look at the openapi.json file. This is a spec for the opensubsonic api. Implement an async fastapi server that stubs out all of the methods. You only need to handle the newer json endpoints.
After implementing stubs, he double‑checked correctness with a follow‑up prompt. Even with a spec, Claude made mistakes the first time but caught them on the second pass. He also re‑ran /init to update CLAUDE.md.
Next major prompt
The methods for all endpoints are stubbed out now. I want to connect a subsonic client, search for a song, and stream it to the client. What is the minimum amount of functionality needed to implement that? Use ytmusicapi for searching YouTube music and yt-dlp for streaming.
Brunelle reports that the initial streaming implementation looked reasonable but failed when connecting with Feishin. The article cuts off before detailing the fix, but the full post contains the resolution.
Brunelle notes that abandoned projects are ideal candidates for testing AI coding assistance: “they were never going to get done anyway.” He plans to follow up with a post on OpenCode.
📖 Read the full source: HN AI Agents
👀 See Also

Workflow orchestrator with AI CLI integration for sysadmin tasks
A developer built a file-based workflow orchestrator called 'workflow' that integrates with Claude Code, Codex CLI, and Gemini CLI. It generates, updates, fixes, and refines YAML workflows from natural language descriptions for sysadmin tasks.

Curated list of 260+ AI agents and tools with open-source and self-hosted focus
A comprehensive GitHub repository lists over 260 AI agents and frameworks, emphasizing open-source, self-hosted, and local-first options including Ollama, OpenClaw, and DeerFlow.

monk: A skill that silences agent narration to save context and tokens
A Reddit user published 'monk', a skill that strips narration, preambles, and postambles from Claude agent responses, claiming ~54% output token reduction per turn and 29-39% context capacity gain at 100 rounds.

PhAIL Benchmark Tests VLA Models on Real Warehouse Robot Tasks
PhAIL is a real-robot benchmark that tests four vision-language-action models on bin-to-bin order picking using a Franka FR3 robot. The best model achieved 64 units per hour, compared to 330 UPH for human teleoperation and 1,300+ UPH for human manual work.