RSSAmplifier

Blog

jngiam

Jiquan Ngiam's bear blog, co-founder Lutra AI, previously at Google Brain, Coursera, Stanford. linkedin @jngiam x/twitter @jiquanngiam lutra ai su...

jngiam.bearblog.devRSS feed ↗7 posts

Latest posts

MCPs, CLIs, and skills: when to use what?

If someone tells you "MCPs are dead" or "CLIs are overhyped," they're missing bigger picture. I use Skills, CLIs, and MCPs, and the mix is completely different between my personal and work setups. My personal and work AI setups use the same three primitives: skills, CLIs, and MCPs, but the mix is completely different. Personal: 12 skills, a handful of CLIs, direct API integrations, 4 MCP servers.…

LaTeX is a great hack for generating PDFs with Claude Code

TL;DR: I made a Skill that reliably gets Claude to generate PDFs using LaTeX. Professional bar charts, vector graphics, proper typography. Works on mobile too: LLMs are really good at LaTeX. Now when I ask Claude to "create a PDF of my solar production data", it produces professional bar charts comparing monthly production vs consumption, a net grid exchange chart, summary tables, seasonal…

Syncing Apple Health data to my AI (Claude Code)

TL;DR: iOS Shortcuts + Cloudflare Worker + GitHub Actions = automatic Apple health data sync. No third-party apps, full control over your data. When I ask Claude "how's my recovery?" it actually knows: HRV trending up at 53ms, sleep has been short at 6.7 hours, haven't run in 2 days. This comes from Apple Health data synced automatically to my git repo. Getting here was harder than expected. Apple…

The instruction that turns Claude into a self-improving system

TL;DR: Use auto-logging instructions to turn Claude Code from a chat tool you use into a personal AI agent that learns and remembers automatically so that every conversation compounds. I've been running my personal life through Claude Code for a few weeks now, and one instruction is key to how the whole system works: auto-logging. Instead of Claude asking what to track and where to put it, it…

How MCP is changing the AI agents ecosystem

TL;DR: Model Context Protocol (MCP) decouples an agent’s intelligence (chat/reasoning loop) from its tools (connectors that read data or take actions). With a common, open interface, any capable AI can discover and call any MCP-compatible tool. This unlocks consumer client consolidation, composability for enterprise AI deployments, and a new distribution channel for developers. We've been building…

MCPs vs APIs: Why designing tools for LLMs is different

TL;DR: We share three engineering patterns which are import for MCPs / AI tool integrations: dynamic error handling with recovery hints, schema observation tools, and well-typed execution environments. We've been building AI agents at Lutra that connect to real-world applications, and have learned that the hardest apps to work with are the ones where users can customize everything. When you…

LLM function calls don't scale; code orchestration is simpler, more effective.

TL;DR: Giving LLMs the full output of tool calls is costly and slow. Output schemas will enable us to get structured data, so we can let the LLM orchestrate processing with generated code. Tool calling in code is simplifying and effective. One common practice for working with MCP tools calls is to put the outputs from a tool back into the LLM as a message, and ask the LLM for the next step. The…