Setting Up the AI-Assisted Workflow Before Writing Code
10 min readConfiguring AGENTS.md, code conventions, and GitHub Copilot review rules before the codebase exists. The patterns that make AI coding assistants useful instead of a slow drag.
Configuring AGENTS.md, code conventions, and GitHub Copilot review rules before the codebase exists. The patterns that make AI coding assistants useful instead of a slow drag.
Walking through the cloud, database, framework, and surrounding choices for a small internal tool on GCP. Why Cloud Run instead of GKE, why Postgres instead of NoSQL, why skip Redis, and the rest of the decisions worth thinking through before writing code.
How I added Confluence as a knowledge source for the bot without duplicating content - a sync script that fetches pages, converts HTML to markdown, and a weekly GitHub Actions pipeline to keep GCS up to date.
Upgrading Swiper from v8 to v11 seems harmless until your carousels start thrashing the page. A deep dive into why loop mode broke, what loopAddBlankSlides actually does (nothing useful), and how to fix it with a wrapper component.
Why I replaced prism-react-renderer with shiki for code highlighting in my Next.js blog, and how the migration went.
How I added a case archive search feature to an existing Slack support bot - from arguing against a separate service, to skipping FAISS for 600 records, to automating a CMS-to-GCS data pipeline.
A fullstack workflow tool for designers receiving creative work requests, built with Next.js 16, Drizzle on Cloud SQL Postgres, and Slack SSO. Deployed to Cloud Run with GitHub Actions CI/CD. Covers stack planning, AI-assisted development setup, and GCP infrastructure.
A Slack bot powered by Vertex AI Gemini with GCS-based knowledge base, deployed to Cloud Run with GitHub Actions CI/CD. Covers Python dev setup with uv, Flask REST APIs, Gemini integration, and cloud infrastructure.
AWS, K8s, GHA, Docker
React, Next.js, TypeScript
Node.js, Python
End-to-end features
Monitoring, Datadog