<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>DevAi: John Montgomery</title><description>Decisions, playbooks, notes, and open questions from the working wiki behind EdenFintech.</description><link>https://devai.co.za/</link><item><title>Ship the feedback loop</title><link>https://devai.co.za/decisions/ship-the-feedback-loop/</link><guid isPermaLink="true">https://devai.co.za/decisions/ship-the-feedback-loop/</guid><description>Why a one-click feedback widget plus an automatic audit-log bundle is the bit of infrastructure people skip, and how it&apos;s wired up in the wecoza-core plugin.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate></item><item><title>The compile loop and the validation loop are different loops</title><link>https://devai.co.za/decisions/claude-tradingview-mcp/</link><guid isPermaLink="true">https://devai.co.za/decisions/claude-tradingview-mcp/</guid><description>The Claude/TradingView MCP is a technically real capability. It closes the compile loop conversationally. It does not touch the validation loop, and the validation loop is what determines whether a retail trader profits.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>LinkedIn engagement tooling, Phase 1 to Phase 2</title><link>https://devai.co.za/decisions/linkedin-engagement-tooling/</link><guid isPermaLink="true">https://devai.co.za/decisions/linkedin-engagement-tooling/</guid><description>Why I migrated topical-engagement discovery off Brave Search onto Interceptor (driving my own Brave session), and the ToS trade-off and resilience guards I&apos;m running it under.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Quant trader vs quant investor</title><link>https://devai.co.za/notes/quant-trader-vs-investor/</link><guid isPermaLink="true">https://devai.co.za/notes/quant-trader-vs-investor/</guid><description>Quant trader vs quant investor: the epistemic asymmetry between knowable-but-evaporating edges and durable-but-unverifiable ones.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Is prompt engineering more leveraged than the harness, long-term?</title><link>https://devai.co.za/open-questions/harness-vs-prompt-engineering/</link><guid isPermaLink="true">https://devai.co.za/open-questions/harness-vs-prompt-engineering/</guid><description>As base models get better at following loose prompts, does the leverage shift back to prompt-craft, or does it stay with the scaffolding around the agent? An open question about where the compounding return lives.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Why I keep LLMs behind typed adapters</title><link>https://devai.co.za/decisions/llms-behind-typed-adapters/</link><guid isPermaLink="true">https://devai.co.za/decisions/llms-behind-typed-adapters/</guid><description>LLM calls behind typed adapters, code-level information barriers, external prompts, provider-agnostic transport. An AI-engineering position.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Why Postgres alongside WordPress, not instead of it</title><link>https://devai.co.za/decisions/postgres-alongside-wordpress/</link><guid isPermaLink="true">https://devai.co.za/decisions/postgres-alongside-wordpress/</guid><description>Why Postgres alongside WordPress, invariants in plpgsql triggers, operational data that outlives the CMS. A pattern from WeCoza development.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Why I publish negative results</title><link>https://devai.co.za/decisions/publishing-negative-results/</link><guid isPermaLink="true">https://devai.co.za/decisions/publishing-negative-results/</guid><description>Why I publish negative results, postmortems as the deliverable when research doesn&apos;t pan out. Evaluation discipline across shelved research projects.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Why stdlib over pandas for the scanner core</title><link>https://devai.co.za/decisions/stdlib-over-pandas-for-the-scanner/</link><guid isPermaLink="true">https://devai.co.za/decisions/stdlib-over-pandas-for-the-scanner/</guid><description>Why I use stdlib over pandas in the scanner core, dependencies as a drift surface, stability over ergonomics in production Python pipelines.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Adversarial review via a second AI model</title><link>https://devai.co.za/playbooks/adversarial-ai-review/</link><guid isPermaLink="true">https://devai.co.za/playbooks/adversarial-ai-review/</guid><description>Pipe your plan, code, or tests to a second AI from a different vendor for critical review. The findings you&apos;d have missed come from a reader who isn&apos;t invested in the design choice.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Translating technical fixes for non-technical clients</title><link>https://devai.co.za/playbooks/client-friendly-translations/</link><guid isPermaLink="true">https://devai.co.za/playbooks/client-friendly-translations/</guid><description>Every bug-fix update to a non-technical client is two paragraphs, zero jargon, a commit SHA, and a Trello tag. The template that keeps me from leaking &apos;nonce&apos;, &apos;capability&apos;, or &apos;403&apos; into client inboxes.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>A file-driven planning framework for AI-assisted coding</title><link>https://devai.co.za/playbooks/file-driven-planning/</link><guid isPermaLink="true">https://devai.co.za/playbooks/file-driven-planning/</guid><description>Five phases. Each phase reads a file and writes a file. If an AI session crashes mid-phase, you resume from the last file written. Mixed-model workflow, Gemini review, Sonnet execute.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Building a knowledge-graph research vault</title><link>https://devai.co.za/playbooks/knowledge-graph-vault/</link><guid isPermaLink="true">https://devai.co.za/playbooks/knowledge-graph-vault/</guid><description>Start with a research brief, end with a navigable Obsidian vault published as a public wiki. The iterative loop between them, with a convergence criterion that knows when to stop.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Playwright E2E tests for a WordPress plugin</title><link>https://devai.co.za/playbooks/playwright-wordpress/</link><guid isPermaLink="true">https://devai.co.za/playbooks/playwright-wordpress/</guid><description>A Playwright setup that logs in once, never clicks the Wipe All button, and treats a shortcode map as the single source of truth for routes. The specific shape I run against WeCoza.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>