Notes

Jul 2
AI Integration

How to Handle AI Model Deprecation Before It Breaks Your Workflow

A model that works today can have its quota cut to zero with little warning. Build for that reality, not around it.

Jul 2
AI Integration

How to Add a Validation Step So Your AI Pipeline Doesn't Save Garbage

A working demo isn't the same as a trustworthy system. Test it with input it was never designed for.

Jul 2
AI Integration

How to Write AI Prompts That Reliably Return Clean JSON

Structured extraction prompts need explicit keys, explicit allowed values, and an explicit refusal path.

Jul 2
Meta

A Debugging Method: Isolate, Read the Real Error, Fix One Node at a Time

The same three-step approach worked for a DNS issue, an SSL issue, a deprecated model, and a binary data bug, all in the same afternoon.

Jul 2
Docker

How to Start, Stop, and Restart Docker Containers the Right Way

The handful of docker compose commands that cover almost every situation.

Jul 2
Docker

How to Write a docker-compose.yml for Self-Hosting Any App

The minimum shape of a docker-compose file that runs reliably and survives restarts.

Jul 2
Docker

How to Install and Auto-Start Docker Desktop on Windows

Get Docker running and set it to launch automatically so self-hosted containers survive a restart.

Jul 2
Docker

How to Keep a Docker Container Running Forever with restart: unless-stopped

One line in docker-compose.yml is the difference between a container that self-heals and one that silently stays down.

Jul 2
ngrok

How to Expose a Local Server to the Internet for Free (No Card)

Local Docker plus a tunnel beats most free cloud tiers, once you factor in card walls and sleep timers.

Jul 2
Gemini

How to Get a Free Gemini API Key from Google AI Studio

Free tier AI that handles both text and vision, no card, but check current model quotas before committing to one.

Jul 2
Security

How to Set Up a .gitignore to Prevent Future Credential Leaks

Add this before it's needed, not after something sensitive almost gets committed.

Jul 2
n8n

How to Handle Binary Files in n8n Without the Code Node Bugging Out

Converting an image to base64 by hand in a Code node can silently return a storage reference instead of the actual file. Use the built-in node instead.

Jul 2
n8n

How to Debug a Failing n8n Workflow Using the Executions Tab

Stop guessing which node failed, the Executions tab shows the exact error and the exact request that caused it.

Jul 2
n8n

How to Add a Fallback Path in an n8n Switch or IF Node

Without an explicit fallback output, unmatched cases go nowhere, and nobody gets told.

Jul 2
n8n

How to Import and Wire Up an n8n Workflow from Scratch

Where the import option actually lives, and the order to wire credentials in without missing a node.

Jul 2
n8n

Why You Need to Re-Publish n8n Workflows After Every Edit

Saving a node is not the same as the live, webhook-triggered workflow actually using that change.

Jul 2
ngrok

How to Auto-Start ngrok on Windows Login

Make the tunnel relaunch itself after a restart, instead of remembering the command every time.

Jul 2
ngrok

How to Set Up ngrok with a Permanent Free Domain

Get a stable public URL for a locally hosted service, free, no card, no expiry.

Jul 2
Security

How to Structure a Portfolio-Ready GitHub Repo

A README, organized folders, a license, and an explicit security note turn a pile of files into something worth showing.

Jul 2
Security

How to Scan a Project for Leaked Secrets Before Pushing to GitHub

A quick grep across every file catches what a visual skim easily misses.

Jul 2
Supabase

How to Read and Use a Supabase Connection String Correctly

Breaking down what each part of the connection string actually means, so filling in a client's form isn't guesswork.

Jul 2
Supabase

How to Get a Free Postgres Database with Supabase

A real Postgres database, free tier, no card, with a browsable table UI included.

Jul 2
Supabase

How to Fix Host Not Found on Supabase (Direct vs Session Pooler)

Direct connections are IPv6-only, which silently fails on a lot of home networks. Use the pooler instead.

Jul 2
Supabase

How to Fix Self-Signed Certificate Errors When Connecting to Supabase

A specific, common error when connecting via the session pooler, with a one-toggle fix.

Jul 2
Meta

How to Keep AI Prompts and Database Schema in Sync as a Project Grows

The list of categories an AI is allowed to choose from, and the list of categories a database actually tracks, are two separate lists that will drift apart unless you treat them as a pair.

Jul 2
Telegram

How to Create a Telegram Bot with BotFather

Get a bot token in under two minutes, free, no approval process.

Jul 2
Meta

How to Build Anything for $0 Without Ever Entering a Credit Card

It's genuinely possible, but it means choosing tools by their actual signup requirements, not just their pricing page.

Jun 20
n8n

n8n webhook nodes don't retry by default

A failed downstream call silently dropped a workflow run until I enabled retry-on-fail manually.

Jun 15
PostgreSQL

Postgres indexes default to B-tree, and that's usually right

Spent an hour considering a custom index type before realizing B-tree already covers the query pattern I had.