blog

Writing

Practical notes on full-stack development, freelancing, and using AI tools to ship better software.

AI ToolsFreelancingProductivity

How I Use AI Tools as a Freelance Developer (Without Losing My Edge)

GitHub Copilot, Cursor, and LLM APIs have changed how I work — but not in the way most people expect. Here's my actual workflow: what I delegate to AI, what I don't, and why the judgment gap is where the real value lives.

6 min read
React.NETArchitecture

React + .NET: The Architecture Decisions That Matter in Enterprise Projects

After 9 years building React frontends on top of .NET backends, these are the patterns I keep reaching for — and the anti-patterns I've watched teams repeat. State colocation, API contract design, and where BFF actually helps.

8 min read
FreelancingCareer

The Part of Freelancing Nobody Talks About: Client Communication

Technical skills get you hired. Communication keeps you hired — and gets you referrals. Here's how I scope projects, set expectations, and handle scope creep without burning bridges.

5 min read
OpenAINext.jsAI Integration

Integrating OpenAI API in a Next.js App: A Practical Guide

Beyond the hello-world demos — how to handle streaming responses, manage tokens, write prompt templates that actually work, and deploy an AI feature your clients can trust in production.

10 min read
TypeScriptEngineering

TypeScript Patterns I Wish I Knew Earlier (for Large Codebases)

Discriminated unions, branded types, const assertions — not the beginner stuff. These are the TypeScript features that genuinely tame complexity in enterprise-scale codebases I've worked on.

7 min read