Vithu
Founder, Velaris
Building Velaris — an operating system where AI agents do real work across your tools, with approvals you control. Writes the engineering notes and the build-in-public posts here, including the ones about our own mistakes.
47 posts
-
Building in public
The scroll animation that hid our content permanentlyA reveal effect and the observer meant to trigger it deadlocked each other. The bug was invisible in dev, total in production, and obvious in hindsight.
-
Building in public
The audit that measured nothingI grepped a file to check for missing data, found the problem, and reported it. The strings I counted didn't exist. What I built instead was better.
-
Building in public
We built a demo Google couldn't seeEleven interactive apps, a guided tour, thousands of lines of React — and a crawler that received 76 words. One directive was the difference.
-
Building in public
We built a redesign, then deleted all of itFour phases of work, reverted in one message. Why that was the right call, what made it expensive, and the cheaper way to be wrong.
-
Engineering
AI agent memory: what to keep and what to throw awayContext windows aren't memory. The four tiers a working agent needs, why summarising too early destroys runs, and how to stop context rot.
-
Tutorial
AI agent security: scoping access before you grant itThe threat model isn't a rogue AI — it's an agent doing exactly what an attacker's email told it to. Practical controls, in the order they matter.
-
Concepts
AI agent use cases: where they work and where they don'tA grounded map of what AI agents are genuinely good at today, the tasks they quietly fail, and the property that separates the two.
-
Tutorial
How to automate inbox triage with an AI agentA working triage setup: what to classify, what to automate, what must stay manual — and the archive-don't-delete rule that makes it safe.
-
Tutorial
How to automate meeting scheduling with an AI agentBooking links solve the easy half. What an agent adds, the timezone and buffer rules that decide quality, and why sending the invite needs a human.
-
Engineering
client:only vs client:load — the directive that cost us a pageOne Astro directive made an interactive page invisible to search engines. How to tell which you need, and how to check what crawlers actually see.
-
Tutorial
How to design tools an AI agent can actually useMost agent failures are tool design failures. Naming, arguments, error messages, and why wrapping your REST API one-to-one produces a bad agent.
-
Tutorial
How to monitor AI agents in productionUptime and error rates tell you almost nothing about an agent. What to trace, which four metrics actually matter, and how to alert without noise.
-
Tutorial
How to reduce LLM API costs without making it worseSeven levers, ordered by how much they save per hour of work. Start with the requests you shouldn't send at all, not with a cheaper model.
-
Tutorial
How to test AI agents when output isn't deterministicAssert on behaviour, not strings. Golden traces, tool-call assertions, and the adversarial cases most agent test suites never cover.
-
Engineering
Multi-tenant isolation in Postgres: deny by defaultRow-level security only helps if the policies are right. The failure modes that look secure in review — and the assertions that catch them.
-
Comparison
MCP vs function calling: a protocol, not a replacementThey operate at different layers and people compare them as rivals. What MCP actually standardises, what it doesn't, and when a direct integration wins.
-
Tutorial
How to migrate from Zapier to AI agentsNot a rip-and-replace. Which Zaps to keep forever, which ones an agent handles better, and a five-step migration that never leaves you without a fallback.
-
Engineering
OAuth token storage: encrypting what you can't afford to leakRefresh tokens are long-lived credentials to someone else's account. Envelope encryption, scoping per run, and the refresh race that corrupts them.
-
Comparison
Open-source vs proprietary LLMs: the cost math nobody showsSelf-hosting looks cheaper per token and usually isn't. Where the crossover actually is, and the three reasons that beat cost either way.
-
Engineering
Prompt injection: why you can't prompt your way out of itEvery mitigation people reach for is probabilistic. The only controls that hold are architectural — and they assume the injection already succeeded.
-
Comparison
RAG vs fine-tuning: which problem are you actually solving?RAG adds knowledge. Fine-tuning changes behaviour. They fix different failures, and the wrong choice is expensive in a way that isn't obvious for months.
-
Engineering
Rate limiting when you're the client, not the serverMost guides teach you to protect your API. Agents mostly consume other people's. Token buckets, jitter, and respecting Retry-After properly.
-
Comparison
Single agent vs multi-agent: when splitting actually helpsMulti-agent architectures are fashionable and often worse. The three conditions that justify a split, and the coordination costs nobody budgets for.
-
Engineering
Streaming LLM responses: the parts that break in productionStreaming is easy until a connection drops mid-token. Backpressure, resumability, buffering proxies, and why tool calls change the whole problem.
-
Building in public
The mascot that kept flying backwardsA 3D robot flies through our homepage. Getting it to face the right way took three failed fixes and taught me to stop debugging by eye.
-
Concepts
Types of AI agents: a taxonomy that actually helpsTextbook agent categories don't map to anything you'd build. A more useful split by autonomy, scope, and how many steps an agent plans ahead.
-
Building in public
We built a demo you can break instead of a product videoVideos show the happy path at the vendor's pace. We shipped the real interface with fake data, and the constraint made the product better.
-
Engineering
Webhook idempotency: handling the same event twiceProviders deliver at least once, so your handler will see duplicates. Verify the signature, key on the event id, and do the work in one transaction.
-
Building in public
We deleted our best marketing stats because they weren't true2.1M kg of CO₂ saved. $12M in compute costs. 200+ apps. Every one of those numbers came out of our site, and the pages got better.
-
Concepts
What is an AI operating system? A definitive guideThe full definition: the five properties, the architecture underneath, what it isn't, the hard problems nobody solved yet, and how to evaluate one.
-
Concepts
What is an AI workflow?The middle ground between a rigid automation and a free-roaming agent: fixed steps with model calls inside them. Often the right answer, and underrated.
-
Concepts
What is retrieval-augmented generation (RAG)?RAG lets a model answer from documents it was never trained on. How the pipeline works, where it breaks, and why agents lean on it constantly.
-
Concepts
AI agent orchestration: coordinating more than one agentMulti-agent systems fail in ways single agents don't. The patterns that hold up, the ones that don't, and when one agent is the right answer.
-
Concepts
AI agents vs workflow automation: when each one winsZapier-style rules are deterministic and cheap. Agents handle judgement. An honest comparison of where each belongs, from people building both.
-
Comparison
AI copilot vs AI agent: who is holding the controlsA copilot works beside you in one app. An agent works instead of you across many. The distinction is about initiative, not intelligence.
-
Comparison
Build vs buy AI agents: an honest decision frameworkThe demo takes a weekend. The 20% that follows takes a year. What actually costs time when you build agents in-house — and when it's still right.
-
Comparison
Chatbot vs AI agent: the difference that mattersBoth take a message and reply. Only one changes the state of your systems. Where the line actually falls, and why most 'agents' are chatbots.
-
Engineering
LLM model routing: the cheapest model that can do the jobSending every prompt to a frontier model is the default and it's wasteful. How to classify a request first, then route it — including the fallback chain.
-
Engineering
Programmatic SEO without shipping doorway pagesWe generated 600 integration pages. The difference between a page set that ranks and one that gets demoted is what varies between the pages.
-
Comparison
RPA vs AI agents: what changes when the bot can readRPA automates the clicks. Agents work at the API layer and handle judgement. Why brittleness, not intelligence, is the real difference.
-
Tutorial
Transactional email that actually arrives: SPF, DKIM, DMARCYour sign-in codes are worthless in spam. The DNS records that authenticate your domain, and why one suppression list will lock users out.
-
Concepts
What is agentic AI? The term, minus the hypeAgentic AI describes a spectrum, not a switch. The five levels from autocomplete to autonomy, and an honest account of where the technology actually is.
-
Concepts
What is an AI agent? A working definitionAn agent isn't a chatbot with plugins. The four properties that separate an agent from a very good autocomplete — and the one most products are missing.
-
Engineering
Email enumeration: how your login form leaks your user listIdentical error messages aren't enough — response timing leaks the same secret. How to make a signup endpoint that reveals nothing about who has an account.
-
Engineering
How to store OTP codes securely (not as plain hashes)A 6-digit code is only a million possibilities. Why SHA-256 isn't enough, what a server-side pepper buys you, and how to make verification atomic.
-
Engineering
Human-in-the-loop: shipping agents that don't scare peopleNobody wants an agent with root access. The three-tier approval model behind Velaris, why per-run scoped credentials matter, and what we refuse to automate at all.
-
Engineering
How Velaris picks 1 tool from 1,000: the capability meshTool schemas don't fit in a context window. How we treat connectors as data an agent searches at runtime, instead of stuffing 1,000 definitions into a prompt.