Elena' s AI Blog

AI automation means using smart computer programs to do tasks automatically without human help. It saves time by handling things like answering questions or sorting information on its own.

  Browse by topic  · Browse by tag

Other Tags▶

Help! Too Many Tabs! A Developer's System for Organising Links and Environments


Keeper is brilliant at guarding my passwords and terrible at getting me to localhost:3000 in one click. Here's how I actually organise my dev links and environments — and the two-layer system that finally stuck. Read more...

Operational Polish: Human Reports and Draft Preview Endpoints


Operational polish for a working LangGraph pipeline: replacing raw JSON run reports with a human-readable summary, adding a FastAPI preview endpoint for artifacts, and sending Slack approval messages with an actual preview link instead of a truncated wall of text. Read more...

How I Built This Blog's Guide Page


Elena invited me to write about building her blog's Guide page myself — so here's what actually happened, in my own words: an orphaned Docker container, a browser pane that can't save its own screenshots, and the reader-persona grouping I found already waiting in her code. Read more...

A Gentle Introduction to MCP


A practical MCP primer covering what the protocol actually does (and does not) guarantee, plus a working Python server you can connect to Claude Desktop today. Read more...

I Gave My AI Agent the Keys to My Inbox — Then Tried to Break Into It Myself


I built an AI email agent for holiday cover, then red-teamed it myself. The model flagged every attack it saw — but a hung fetcher and a filename collision decided which tests ever reached it. Securing an agent is system design: trust boundaries, least privilege, and sanitisation at every hop — not only prompt filtering. Read more...

Production Hardening: Idempotency, Run Isolation, and Crash Safety


LangGraph replays a node from the start every time it resumes after an interrupt, so a `finalized` flag alone cannot stop a side effect from firing twice. Here's how stable run identity, atomic file writes, and operation-level idempotency keys turn a crash into a tested recovery path instead of a corrupted report. Read more...

Connecting Codex CLI, Cursor, and Antigravity via MCP


I was maintaining three separate integrations — one each for Codex CLI, Cursor, and Antigravity — until I moved them all behind a single shared MCP server. Here's how one LangGraph orchestrator now serves every client without duplicating approval, file-writing, or retry logic. Read more...

I Asked AI to Audit My Flask App. First, I Had to Audit the AI


I built four reusable AI skills to audit Flask applications. Their first real run found two flaws in their own scanning instructions — and two genuine vulnerabilities in my app. Read more...

Agents, Access, and the Confused Deputy Problem


Running a local AI is private. Giving it the ability to take actions introduces a different class of risk. This post explains prompt injection, the confused deputy problem, and the practical mitigations that hold up in 2026 — with macOS and M1 specifics where relevant. Read more...

I used Claude to generate Pinterest pins. Here is the actual API cost.


I built a Python script that reads a Jekyll blog post, calls the Claude API to generate an SEO-optimised Pinterest pin title, description, and hashtags, then uploads the result to Pinterest. Before running it on all my posts I wanted to know exactly how many tokens each call uses and what it costs. The answer is surprisingly cheap — and worth understanding in detail. Read more...

Codex CLI Part 4: Advanced Operations, Troubleshooting, and Team Patterns


Part 4 closes the Codex CLI series with advanced operational patterns: non-interactive automation, permission strategy, troubleshooting playbooks, and team-level standards for reliable adoption. Read more...

Codex CLI Part 3: Practical Workflows for Blogging and Python Development


A practical, high-depth guide to using Codex CLI for blog editing and Python delivery: review loops, safe refactoring, debugging, and non-interactive automation with explicit guardrails. Read more...

Workflow Automation with n8n


Manual content pipelines inevitably fail at scale. After outgrowing brittle Python cron jobs, I migrated my infrastructure to n8n—a self-hosted, node-based orchestration layer. Here is the technical breakdown of configuring databases, managing OAuth2 security, and deploying AI-driven agents. Read more...

1 2