Using AI to Port a Wi-Fi Driver from Linux to FreeBSD: A Case Study

Direct AI Code Porting Attempt
The developer had a 2016 MacBook Pro with a Broadcom BCM4350 Wi-Fi chip that lacks native FreeBSD support. The typical workaround is wifibox - a Linux VM with PCI pass-through. Instead, they attempted to port the Linux brcmfmac driver (ISC license) directly to FreeBSD using AI.
They cloned the brcmfmac subtree and asked Claude Code to make it work for FreeBSD, specifically pointing to the iwlwifi driver as a reference for using LinuxKPI (FreeBSD's Linux kernel compatibility layer). The initial attempt produced a module that compiled but didn't function because the test VM lacked the actual hardware.
When testing with the actual PCI device, the kernel panicked. Claude Code attempted to fix panics by adding #ifdef __FreeBSD__ wrappers and building FreeBSD-specific shims and callbacks, but warned the project was becoming "very complicated and messy." The resulting diff was significantly larger than expected, and the driver remained non-functional.
Specification-First Approach
Inspired by Armin Ronacher's experience with Claude Opus and Pi agent, the developer switched approaches. Recognizing their task was narrow (one chip, only PCI, only Wi-Fi client), they spawned a fresh Pi session and asked the agent to write a detailed specification of how the brcmfmac driver works with focus on BCM4350.
They explicitly set the audience as "readers tasked with implementing the specification in a clean-room environment" and asked for explanations "to the bits." The agent produced an 11-chapter specification covering:
- 00-overview.md
- 01-data-structures.md
- 02-bus-layer.md
- 03-protocol-layer.md
- 04-firmware-interface.md
- 05-event-handling.md
- 06-cfg80211-operations.md
- 07-initialization.md
- 08-data-path.md
- 09-firmware-commands.md
- 10-structures-reference.md
The developer notes that AI-generated specifications require verification, as one "can't just trust what AI has written."
📖 Read the full source: HN AI Agents
👀 See Also

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.

Comparing PRD Execution: Bash Loop vs. Agent Teams in Claude Code
A developer benchmarked PRD execution with Claude Code using both a bash loop and the Agent Teams feature. The Agent Teams approach was found to be significantly faster, although it had some coordination overhead.

Reddit user reports better results with Claude after changing prompting approach
A developer spent days struggling with multiple AI tools before finding success with Claude by shifting from search-engine style prompts to back-and-forth conversations with specific context about why approaches weren't working.

Architecture for a Daily Intelligence Briefing System Built with Claude
A developer built a personalized daily briefing system using Claude API that ingests RSS feeds, scores articles for relevance, triages them, and delivers analysis via email. The pipeline processes ~200 articles daily, filters to 5-8 for analysis, and costs under $5/month.