Sunil Kashyap

Blogs & Articles

Long-form notes on the things I build — patterns, migrations, and lessons that didn't fit in a commit message.

Stop Treating Your AI Agent Like a Search Engine: Why You Need an "AI Harness"
AIMay 7, 2026·5 min read

Stop Treating Your AI Agent Like a Search Engine: Why You Need an "AI Harness"

Unstructured AI agents give great answers for an hour and bad answers for a week. A harness — files, conventions, and feedback loops — is what turns them into something that actually ships.

AIAgentsWorkflowEngineering
Are We Overcomplicating RAG Architectures?
AIApr 18, 2026·5 min read

Are We Overcomplicating RAG Architectures?

Vector databases have become the default for RAG — but lately I've been finding that a simpler, vectorless PageIndex often performs just as well, at a fraction of the complexity.

RAGLLMSearchArchitectureAI
Scaling Dashboards with React and D3.js
EngineeringMar 2, 2026·8 min read

Scaling Dashboards with React and D3.js

Patterns I've used to render thousands of live data points in React without dropping frames, from virtualized lists to canvas overlays.

ReactD3.jsPerformanceData Viz
Next.js App Router: Patterns That Worked
Next.jsFeb 14, 2026·6 min read

Next.js App Router: Patterns That Worked

Server Components, streaming, and caching boundaries — a pragmatic guide to shipping fast App Router apps without fighting the framework.

Next.jsRSCApp RouterCaching
From Angular to React: A Migration Journey
ArchitectureJan 21, 2026·10 min read

From Angular to React: A Migration Journey

Lessons from gradually migrating a large Angular codebase to React — strangler-fig routing, shared state, and keeping the team shipping throughout.

MigrationAngularReactArchitecture
Real-Time Visualization at Scale
Data VizDec 10, 2025·7 min read

Real-Time Visualization at Scale

How we streamed live player positions over WebSockets and rendered them with Canvas + D3 without melting the browser on a match-day crowd.

WebSocketCanvasD3.jsStreaming