Chris Towles's Blog

I'm a Principal Architect for Cloud AI at GE Aerospace and full stack developer. Usually in AWS, AI, Python, Typescript, and tinkering with everything else.

Blog Posts

A cinematic split-screen composition showing the evolution of production AI development: on the left, Python code and ML models representing research and training (darker, academic feel with neural network visualizations), on the right, TypeScript code with streaming APIs and web interfaces representing production deployment (brighter, modern feel with real-time data flows). The transition between sides flows like a bridge made of glowing code elements and data streams, symbolizing the shift from research to production. Professional photography quality with warm lighting on the TypeScript side and cooler tones on the Python side.
AI Tools

Finally: Type-Safe AI in Production (And Why I'm Here For It)

After years of unpredictable LLM outputs and runtime crashes, TypeScript is bringing the engineering discipline we've needed all along. Here's why I'm excited about type checking in production AI.
Chris Towles

Chris Towles

A cinematic split-screen composition showing the evolution of human-AI collaboration: on the left, a frustrated developer surrounded by scattered sticky notes, multiple monitors with different apps (Notion, Obsidian, Google Drive), representing the chaos of tool-switching; on the right, a serene workspace with a single clean monitor displaying a markdown file with AI suggestions flowing seamlessly into the text, warm lighting suggesting harmony and productivity. The transition between the two sides should flow like a bridge made of markdown syntax elements (# headers, **bold text**, `code blocks`) floating in space, symbolizing markdown as the universal communication protocol between human and AI.
AI Tools

Markdown + AI: The Communication Protocol That Changes Everything

Why Markdown has become the universal language for human-AI collaboration and the foundation of the agentic workflow revolution
Chris Towles

Chris Towles

Screenshot of markdown linter generating repetitive formatting errors that waste AI tokens
Claude Code

Check That Your Tools and Linters Do Not Burn Tokens

How a simple markdown linter consumed hundreds of tokens explaining obvious formatting issues, and what this teaches us about AI tool efficiency in development workflows.
Chris Towles

Chris Towles

Context engineering workflow showing seamless information flow between development tools
AI Tools

My Context Engineering Journey: From Dev Scripts to AI Collaboration

How I evolved from simple dev tools to understanding context as the foundation of AI-assisted development
Chris Towles

Chris Towles

Enterprise context engineering architecture showing integrated workflows
Enterprise AI

Context Engineering at Scale: Enterprise Lessons and the Future of Development

How enterprise teams can overcome context switching disasters and build intelligent development workflows
Chris Towles

Chris Towles

A contemplative cinematic split-screen scene: on the left, an AI generating flawless-looking code on a glowing screen with beautiful syntax highlighting and perfect formatting, representing the seductive appeal of AI-generated solutions; on the right, a focused developer hunched over their desk at 2 AM with warm desk lamp lighting, magnifying glass in hand, carefully examining each line of code with red annotations and bug markers scattered around, showing the reality of debugging AI mistakes. The transition between the two sides should be a subtle visual metaphor of code that appears perfect but contains hidden flaws, with warm/cool lighting contrast emphasizing the contemplative mood of hard-learned wisdom.
Claude Code

Review That AI Code: Why I Read Every Line Generated Code

After spending three days debugging a 'perfect' AI-generated function, I learned the hard way that AI tools are brilliant assistants, not replacements for understanding. Here's my battle-tested approach to working with Claude, Copilot, and other AI coding tools without losing your expertise—or your sanity.
Chris Towles

Chris Towles

Claude Code

Tips for Claude Code

Chris Towles

Chris Towles

Modern developer workspace with clean desk, laptop, and organized tools representing productive AI workflow
AI Tools

Voice to System

How watching Anthropic's Claude Code lead work made me realize I wasn't using AI enough, and the journey to OS-level voice dictation for better terminal workflows.
Chris Towles

Chris Towles

ComfyUI installation process using uv tool manager
ComfyUI

Setting Up ComfyUI - A Better Alternative to Fooocus

Installing and configuring ComfyUI for local AI image generation after Fooocus development stalled
Chris Towles

Chris Towles

A cinematic professional photograph showing a developer at a modern workstation, speaking into a high-quality microphone while code appears on multiple monitors in real-time as sound waves transform into visible text. The scene features warm golden light illuminating the speaker contrasted with cool blue screen glow, creating a contemplative mood about the evolution from traditional typing to voice-driven development workflows."
AI Tools

Voice to Text

Exploring voice-to-text development workflows with VS Code Speech extension
Chris Towles

Chris Towles

software engineering best practices and ITIL for a better work-life balance
AI Tools

Software Development Best Practices & ITIL

Your Path to Better Work-Life Balance
Chris Towles

Chris Towles

Screenshot of senior  developer at desk and computer and writing a document of best practices
AI Tools

My Best Practices

Writing down where on at with my best practices in software development and AI development
Chris Towles

Chris Towles

Screenshot of VS Code configured for prompt engineering at a desk
AI Tools

Creating my own CLI Tool - Towles Tool

Info about creating my own CLI tool and best practices
Chris Towles

Chris Towles

VS Code with prompt engineering setup
AI Tools

Adding Prompts to VS Code - How I Learned to Stop Worrying and Love AI Context

Stop fumbling around with AI prompts and start engineering them like the professional you pretend to be
Chris Towles

Chris Towles

the man is seated at his desk at his computer with his back to the camera head in his hands crying
Cloudflare AI

Two Weeks with Cloudflare AI and Tools

My Odyssey (and Why I Switched to AWS Bedrock)
Chris Towles

Chris Towles

A Developer looking at a monitor trying to debug code
Node.js

Debugging Local Packages Made Easy with pnpm

Debug your local Node.js packages like a pro (and with less pain) using pnpm link.
Chris Towles

Chris Towles

A llama looking at a screen with code on it
AI

Using Ollama and Continue as a GitHub Copilot Alternative

A guide on how Ollama and Continue can serve as an alternative to GitHub Copilot.
Chris Towles

Chris Towles

Kids holding fire tablet
android

Fire tablet and YouTube Kids

Getting YouTube and YouTube Kids to work on Amazon Fire for kids
Chris Towles

Chris Towles

desk with 3 monitors and lots of code open
productivity

Oh My Zsh on your server

Why i'm installing it on servers I ssh into a lot.
Chris Towles

Chris Towles

A laptop with a data analytics
airflow

Apache Airflow Part 1 - Why and Goals for a near Serverless ELT

Reasons I want to use Airflow for a Proof of Concept near Serverless ELT
Chris Towles

Chris Towles

A Toolbox with hand reaching in
productivity

Why you should make a toolbox repository

the perfect place to put everything that doesn't belong anywhere else
Chris Towles

Chris Towles

A laptop with a dark matter theme
Productivity

Why using Conventional commits is useful

Helping everyone to understand the commit history and its purpose
Chris Towles

Chris Towles

A laptop with a dark matter theme
Blog

I am a Dark Matter Developer

Reflecting on my career and the type of developer I am.
Chris Towles

Chris Towles

css on screen

Migrate Vue 2 with Vuetify and Jest to Vite and Vitest

So my main project at work is a Vue 2 and Vuetify 2 site, but privately I have been playing with Vue 3 and loved the Composition API to avoid mixins. Due to some new features, we are planning to build soon. I wanted to write it in Vue 3, to prevent needing to migrate it later.
Chris Towles

Chris Towles

picture of tests passing in vitest

You do not have time to not have tests

So first a full disclosure: I was late to get on the testing bandwagon.
Chris Towles

Chris Towles

Why should you listen to me?

Because I've been doing this for over 20 years and learned a thing or two the hard way.
Take Notes
Always take notes. You will forget given time. Leave a clue for future you.
Setup CI/CD
if its worth deploying, its worth doing so in a repeatable way.
Tests
tests help you! Want to refactor and improve things? Tests let you do that!

My thoughts are my own as I write about...