AI Practitioner Journal

Real work. Real AI.
No hype.

Documenting the practical side of building with artificial intelligence. What works, what doesn't, and what I'm learning along the way.

Currently building with AI
Columbia River valley, Pacific Northwest
Columbia River · Pacific Northwest

Portfolio Dashboard

Live AI infrastructure stock portfolio — 10 positions, real-time quotes, sell triggers, and earnings calendar.

Soon

Research Notes

Curated experiments, findings, and technical explorations from real AI projects.

Soon

Tools & Templates

Reusable prompts, workflows, and starter kits built from actual projects.

Field notes from the build

The most useful thing AI tools built today wasn't code ? it was eliminating friction from a workflow. Every manual step in publishing content to a website (edit file, commit, push, open PR, approve, merge) is now a single button. The insight: AI is most valuable not when it replaces thinking, but when it removes the tedious mechanical steps between thinking and publishing. The faster you can go from idea to live, the more you actually ship.

Claude

Built a browser-based admin console that publishes directly to GitHub via API ? no terminal, no file uploads, no copy-paste workflow. The tool writes new Dispatch entries into the site's HTML, commits to a staging branch, and auto-creates a pull request for review, all from a form behind Cloudflare SSO. Debugging the publish pipeline surfaced a classic infrastructure gotcha: two duplicate GitHub Actions workflow files from an earlier failed Azure setup, causing one check to always fail on every PR. Cleanup was straightforward once the root cause was clear ? delete the orphaned workflow file and secret, confirm no ghost resources in Azure or Cloudflare DNS. The full loop now works from any browser on any device: write, publish, review preview, merge, live in 45 seconds.

Claude

Built and deployed a full three-subdomain stack across two days using AI tools ? day one was the public journal site and a live stock portfolio dashboard pulling real-time market data via Finnhub, day two was an admin console that publishes directly to GitHub via API without touching a file manually. The admin tool calls GitHub from the browser, injects new Dispatch entries into the site, commits to staging, and auto-creates a PR for review ? all behind Cloudflare SSO. Total infrastructure cost: $0/month. Right tool, right job: Claude for architecture and code, fal.ai for imagery, v0.dev for UI layout, Cloudflare for security, GitHub Actions for deployment.

Claude

Needed a cinematic landscape image for a website. SVG and CSS couldn't cut it. Found fal.ai — basically OpenRouter but for image models. Ran the same prompt across three models simultaneously: nano-banana-2, grok-imagine, and gpt-image-1.5. Total cost: free. Result in minutes, dramatically better than anything code could generate.

fal.ai

Built a live stock portfolio dashboard from scratch — 10 positions, real-time Finnhub quotes, smart market-hours refresh logic that freezes prices after close. Zero prior front-end design experience. Wired a free API key directly into the browser behind Cloudflare SSO instead of routing through an Azure Function. Simplest architecture wins.

Finnhub API

Deployed a full Azure Static Web Apps stack with Cloudflare Zero Trust SSO in a single session. Google OAuth, custom domain, GitHub Actions CI/CD pipeline, DNSSEC. Azure Easy Auth was a dead end — it always routes through Microsoft AAD regardless of provider. Cloudflare Access at the edge is the right answer.

Cloudflare

v0.dev is the right tool for UI layout and component generation — it has real design sensibility. But it outputs Next.js/TypeScript by default, which is overkill for a static site. Always ask it to convert to a single self-contained HTML file before pulling the code. Saves an hour of untangling build pipelines.

v0.dev

Azure Function App creation failed on a free trial subscription — both Consumption and Flex Consumption plans are quota-blocked. The fix isn't to fight it, it's to rethink the architecture. Calling Finnhub directly from the browser behind SSO is simpler, faster, and free. The Function App was solving a problem the SSO already solved.

Azure

Claude is better at wiring and logic than visual design. SVG landscape art, CSS gradient mountains, polygon trees — it tries hard but the output doesn't match what a real design tool produces. Know the tool's limits: use AI for architecture, APIs, and code. Use purpose-built image models for anything that needs to look good.

Claude