How bmwagent got built
Live site: https://www.ppzuav.com/bmwagent
I needed a better way to run a 2012 BMW 750Li (N63TU) rebuild—parts, costs, vendors, returns—without losing track in a spreadsheet or relying on forum threads. So I built a small web app for it, then opened it up so other DIY owners could use the same kind of workspace.
Who did the work
- David — product direction, prompting, infrastructure, testing
- Grok (xAI) via OpenCode — implementation and deploys against a real codebase
Stack: Next.js · PostgreSQL · Prisma · Ansible · WireGuard · Linode HTTPS edge
---
The problem
A serious BMW rebuild means hundreds of line items, statuses, shipping, taxes, and the occasional return. Spreadsheets don’t warn you when you’re about to order the same part twice. Forums are great for discussion; they don’t own *your* bill of materials. Parts sites sell parts; they don’t track your project over months.
---
How we worked
I wrote goals and constraints in plain language—security, privacy, pricing, what not to expose publicly. The agent read the repo, made changes, and we shipped through a real pipeline: build on staging, smoke-test, then promote the public path.
When something was wrong in production (trial messaging, search UX, duplicate parts, admin metrics), I said so and we fixed it. Notes for future sessions live in the repo (AGENTS.md, BUSINESS.md) so the next coding session still knows the goal: useful product first, then revenue that covers costs.
---
What shipped (rough timeline)
| Stage | What landed |
|---|---|
| Core tracker | Tasks, parts & costs, notes, photos, login, separate projects per user |
| Ops | Ansible deploy, private network path to the database, public TLS on Linode |
| Knowledge | Procedures and service notes derived with AI from my personal reference material—structured help for members, not a dump of publisher PDFs |
| Commerce | Free trial for early users, low-cost plans, shared rebuild parts lists, click tracking for supplier links |
| Vendor search | Live price results where vendor APIs allow (e.g. BimmerWorld); admin list of suppliers with rank/exclude |
| Safety | Soft de-dupe by part number; projects private unless I grant access |
| Business ops | Admin tools: users, suppliers, traffic and usage metrics |
---
Where it stands
bmwagent is a working prototype people can sign into: rebuild and DIY maintenance tracking, parts search helpers, and admin visibility for running it like a small product. Next focus is adoption, visibility, and revenue that scales with use (subscriptions + supplier partnerships)—without selling personal data.
---
Credits
- Product & prompting: David
- Agentic implementation: Grok (xAI), driven through OpenCode
- Infrastructure: David’s Ansible setup, homelab staging, Linode edge
Not affiliated with BMW AG. Personal project.