Adding Share Buttons to a Blog Sounds Simple. It's Not.
The surprisingly fiddly details of adding social share buttons to a Next.js blog — icon library pitfalls, copy feedback UX, and share URL quirks.
Writing about course creation, instructional design, solopreneurship, and the journey of going independent.
The surprisingly fiddly details of adding social share buttons to a Next.js blog — icon library pitfalls, copy feedback UX, and share URL quirks.
Lessons from rebuilding a WordPress affiliate site as a Next.js application with libsql, Drizzle ORM, and Bunny Magic Containers.
Lessons from rewriting homepage copy for a solopreneur consulting site — what to include, what to delete, and how to think about every section.
Why consultants need a different LinkedIn strategy than job seekers — and how to write your profile to attract clients, not recruiters.
How a filename-based deduplication wiped out thousands of unique records from a Qdrant vector database — and the backup strategy that saved everything.
An honest postmortem on a rejected contract application — and what I'd change about my approach next time.
How top freelancers communicate with clients — response time, proposals, status updates, bad news, and the consultation call.
How to build an AI-powered resume and cover letter system that produces human-sounding applications, trained on your own experience, using Claude instead of paid AI resume tools.
A practical comparison of Claude and GitHub Copilot for AI-assisted development — when to use each, and why context window size changes everything.
A realistic freelance pricing strategy in three phases — from track record building to premium rates, based on what top earners actually do.