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

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