Blog
Thoughts on AI, engineering, and building products.
Thoughts on AI, engineering, and building products.
Thoughts on AI, engineering, and building products.
A few months of trial-and-error across AI platforms, models, and harnesses. The model is not enough — harness quality, open options, and cost efficiency decide what actually ships.
Two years ago the fear was lock-in via token pricing. On the surface AI looks cheaper than ever. Underneath, the costs moved into power, water, throttling, and ecosystem lock-in.
Ollama made local LLMs one command away. Here is why that matters for cost, where cloud models still win, and how a hybrid local-first route actually works.
Everyone is arguing about Kimi K3 leaderboard scores. After using it alongside Claude, DeepSeek, ChatGPT, and Gemini, here is what actually mattered in real work.
Since GPT showed up, everyone suddenly became an "AI teacher." Here is the one filter I use to tell useful AI writing from engagement bait.
Alibaba’s latest large MoE Qwen release is interesting less as a leaderboard flex and more as a shock to the production cost-to-performance matrix — capacity, coding autonomy, and open weights.
Claude Code only talks to Anthropic’s API. If you are on OpenCode Go or Zen, here is the open-source setup I published to bridge them with routatic-proxy.
Smartphones are turning into personal AI computers. The real story: on-device inference, hybrid workflows, and OS-level AI that lives across your apps.
AI is changing the economics of cyber attacks and defenses. Here are the trends (and habits) that matter most right now.
Agentic AI is shifting the focus from single-model demos to reliable systems: tools, memory, guardrails, and evaluation. Here’s what’s changing and what to watch.
Most LLM demos die in staging. The gap between 'it works in the notebook' and 'it handles real users' is bigger than people expect. Here is how I close that gap.
After building a lot of projects, I have settled on a setup that lets me move fast without accumulating technical debt. Here is exactly what it looks like and why.
Most AI integrations get stuck in prototype hell. Here is how to scope, build, and ship LLM-powered features into production apps without burning out your team.
Hydration errors are one of the most confusing bugs in React. They look cryptic, the stack traces are unhelpful, and the cause is often non-obvious. Here is a clear mental model.
Server Components fundamentally change how you think about data fetching and component boundaries. Here is a practical guide to using them well in 2026.
After building APIs in REST, GraphQL, and tRPC across many different products, I have a clear view of when each approach wins and where each one fails.
After years of TypeScript in production, a few patterns show up in every codebase I build. These are the ones that consistently reduce bugs and improve maintainability.
The more advanced AI gets, the more we depend on electricity, memory, chips, and compute. Technology is a pendulum — and the bottom layers are back in the spotlight.
After building several production apps with this stack, here is the exact setup, patterns, and gotchas I have settled on for Supabase with Next.js App Router.
Code that works is the baseline. Code that the next developer can understand, extend, and debug in six months is the actual goal. These are the habits that make the difference.
I spent about a month building a custom Notion-inspired blog editor with Tiptap, Next.js, MongoDB, and Cloudinary — and why full control beat another SaaS CMS.