Skip to main content

Command Palette

Search for a command to run...

Building Pulse

Published
10 min read
Building Pulse

I was busy “learning” Google’s Agent Development Kit (ADK) — you know, that comforting phase where you convince yourself you’re making progress just by watching tutorials and nodding along. But at some point, it hits you: passive learning only makes you feel productive. Actually building something is where things start to break… and that’s where the real learning begins.

Right on cue, the GenAI Academy Hackathon showed up — almost like it knew I’d been avoiding reality. I signed up, dive into the codelabs (which politely pretend to guide you while you quietly struggle), and started piecing things together.

And then, the problem statement dropped: Build a Productivity Assistant.

Productivity assistant. Sure. Amazing. Revolutionary.

I stared at that for a while and thought: Todo app? Reminder app? Another calendar app with a slightly different shade of blue?

No. Absolutely not. Hard pass.

The world has enough Todo apps. People literally use their Todo app to add "clean up my Todo app" as a task. We are not contributing to that ecosystem. We are better than that. Probably.

The Part Where I'm Honest About What I Didn't Know

Here's the thing — I had no idea how to build a crypto trading agent. or a viral LinkedIn post generator? Make the cash in no time. I wanted to build something that mattered to someone who wasn't already optimising their morning routine with four productivity apps and a standing desk.

Then I remembered a news story I'd seen a few weeks before.

Farmers. Throwing tomatoes on the roadside. Selling at ₹1 per kilogram. One single rupee. For something they spent months growing, watering, and worrying about — while we sit in air-conditioned rooms dramatically sighing because our food delivery is twelve minutes late.

And I sat there thinking — surely they know which market offers a better price? Surely there's some system, some WhatsApp group, some uncle who knows a guy?

Maybe there is. Maybe some farmers are doing great and absolutely do not need a developer with a laptop and a superiority complex showing up with "solutions." Fair point, acknowledged.

But then the real question hit me — and honestly, it hit harder.

What About the Rest of Us? Yes, I Mean Us.

Think about a Gen Z kid or a 90s child — and yes, I am including myself in this indictment — whose entire relationship with food can be summarised as: order it, rate it three stars, complain about the packaging (I haven't ordered anything so no complaints :)

One day, that person inherits farmland. Or decides farming is their calling after watching one too many Instagram reels about sustainable living.

Do they know what crop to grow? Do they know what the soil needs? Do they know the sowing window, the pest cycle, when to irrigate, when to fertilise, and when the correct move is to do absolutely nothing and let the land breathe?

I don't. I will stand here and admit that if you handed me two acres tomorrow and said "figure it out," I would google "how to farm" and immediately feel worse about myself.

So how does someone like us actually learn agriculture? Can we learn it from our phones — the same phones we use to order mangoes we could theoretically grow ourselves?

That felt like an idea worth not abandoning immediately. So I kept going.

Building the Puzzle, One Piece at a Time

I mapped the problem out like this. A new-gen farmer — or a genuinely confused person who just inherited land — needs answers to five things:

  1. What crop suits their location and soil right now

  2. When exactly to grow it — seasons, weather windows, soil conditions

  3. What price they'll realistically get at harvest time

  4. Which mandi gives the best deal so their hard work isn't sold for nothing

  5. What government schemes or subsidies they qualify for — because if PM-KISAN exists and someone misses it because the portal is incomprehensible, that's a systemic failure dressed up as user error

Five problems. One assistant. Let's see if this actually works.

Puzzle Piece 1: Finding a Single Source of Truth

You cannot build anything trustworthy on top of unreliable data. This is basic. This is obvious. And yet I spent a non-trivial amount of time figuring out where reliable Indian agricultural market data even lives.

With some help from Claude and Gemini — because even developers need help navigating government portals without losing their sanity — I landed on data.gov.in. The Indian government's open data platform. Live commodity prices from APMC mandis across every state in India, available as an API.

Real. Live. Mandi prices. From across the entire country. In one place. For free.

I sat with that for a moment. Then I got to work.

First, Third and Fourth puzzle got solved in one go. We had live market data.

Puzzle Piece 2: What Should Someone Even Grow Here?

"Here" is doing a lot of heavy lifting in that question. What works in Coimbatore doesn't necessarily work in Nagpur. What makes sense in January doesn't make sense in July.

So I built a Weather Agent that takes a location, reads current and seasonal weather conditions, and passes that context to a Crop Agent that delivers region-specific guidance — sowing windows, soil health, pest management — powered by real-time search via Serper MCP.

Two agents. Talking to each other. Giving advice that's actually relevant to where you are, not generic advice that could apply to any field on any continent.

Second and Fifth puzzle solved .

The Architecture: What Pulse Actually Is Under the Hood

This is the part where I stop being sarcastic and just explain the thing, because it's actually pretty cool and it deserves a straight explanation.

Pulse is a multi-agent AI ecosystem built on the Orchestrator-Worker pattern using Google's ADK with TypeScript. The root agent — Pulse itself — sits at the top, receives natural language input, figures out what you're actually asking, and delegates to the right specialist agent. No hardcoded routing rules. No if-else chains. Just Gemini 2.5 Flash doing intent inference and composing multi-agent workflows on the fly.

The Four Specialist Agents

Mandi Agent — Market Intelligence Fetches live APMC mandi prices and cross-references them with the MSP (Minimum Support Price). So instead of a farmer selling tomatoes for ₹1 and going home with nothing, they can ask Pulse: "What's the price in Lasalgaon today?" — and get an actual, data-backed answer with context about whether it's worth selling now or waiting.

Crop Agent — Agricultural Advisory Crop recommendations based on your actual location and current weather. Powered by real-time search, so the information isn't from a textbook that was printed before your phone was invented. Sowing windows. Soil health. Pest cycles. All of it, specific to where you are.

Schemes Agent — Government Navigation PM-KISAN, PMFBY, state-level subsidies — they exist, they help people, and they are buried under layers of UX that would make a UX designer weep. The Schemes Agent decodes all of that into plain language and tells you what you qualify for and when the deadline is. Before you miss it.

Notes Agent — Field Documentation Directly integrated with Notion. Say "save today's onion price in Lasalgaon to my notes" and it's done. No switching apps. No copy-pasting. Just talk, and it's logged. A field diary that doesn't require you to own a pen.

How a Real Query Actually Flows Here's what happens when you ask Pulse

something compound — something that touches multiple domains at once: User → "What is the current onion price in Lasalgaon and save it to my notes?"

  1. PARSE → Pulse identifies two intents: Market Price + Documentation

  2. DELEGATE → mandiAgent queries live APMC data via Serper MCP → notesAgent prepares a structured Notion entry

  3. EXECUTE → Both agents run in parallel

  4. SYNTHESIZE → "Onion at Lasalgaon: ₹1,840/quintal (MSP: ₹1,550). Saved to your Notion field diary." One sentence from you. Two agents activated. One clean, unified response. No portal logins. No browser tabs. No calling someone's cousin who might know.

The Full Tech Stack

Layer Technology
Agent Framework Google ADK
Language TypeScript
LLM Gemini 2.5 Flash via Vertex AI
Runtime Bun / Node.js v20+
Database NeonDB (PostgreSQL)
ORM Prisma
Live Search Serper MCP
Notes Integration Notion API
Containerization Docker

Building this in TypeScript with ADK was — to put it diplomatically — an education in patience and error messages. But watching agents orchestrate themselves, pull live data, and return something genuinely useful? That feeling is worth every cryptic stack trace.

Excited?? Want to see it in action??

https://youtu.be/0wszNQ4v8xA?si=E4JTUg2ghk16VJGU

What This Is and, More Importantly, What It Isn't

Pulse is a prototype. A working, functional, not-embarrassing-to-show prototype — but a prototype with a soul and not a body (Has only API and doesn't have a Frontend :)

It doesn't speak Tamil or Kannada yet. It doesn't run on a ₹2,000 Android phone with inconsistent signal in the middle of a field in rural Maharashtra. It doesn't have a voice interface that a first-generation farmer can pick up without a three-hour onboarding session.

The distance between "works on my laptop" and "works in a field in Erode at 6am during harvest season" is not a small distance. I am aware of this.

But here's what it does prove: the building blocks exist. Live government data is accessible via open APIs. Multi-agent AI systems can understand and respond to compound agricultural queries in natural language. The gap between a confused new-gen farmer and the information they need to make better decisions — that gap is technically closeable.

The question was never can we build this. The question is how seriously do we want to take it from here.

One Last Thing

Tomatoes rotting on a roadside because the person who grew them didn't have access to the right information at the right time — that's not a technology problem at its root. It's an information access problem. And those, historically, are exactly the problems that technology is supposed to solve.

We haven't solved it. Not even close. This is step one of a very long staircase.

But as someone once said — "The secret of getting ahead is getting started."

We started. Still a very long way to go.

Pulse is a prototype built for the Google GenAI Hackathon. Open source, open to contributions, and very open to being made better by people who know more about farming than I do — which is most people.

https://github.com/nidhinkumar06/pulse