Portrait of Harsh Tripathi

Harsh Tripathi

Backend & systems engineer

I build the systems people don't notice until they stop working. Mine run in production for paying customers: billing, integrations and AI agents.

Mumbai, India UTC+5:30
4products in production, built end to end
40Mrecords handled by systems I built
5third-party platforms integrated
970+automated tests across production code

Experience

~14 months shipping production systems
  1. Software Engineer Intern→Software Engineer

    Sep 2025 – Present
    Real Value Infospace·Mumbai
    • Built DeedWatch end to end, a live product banks use and pay for. It monitors new records for each client, generates their reports, and bills through idempotent charges, so no client is ever billed twice.
    • Built the AI pipeline behind the company's core data product, turning a 40M-document archive of scanned records into structured data. I self-host and optimize the model, and the system recovers from failures without losing work.
    • Built Brandflow solo, an AI marketing team of six specialized agents. It researches trends, plans campaigns, creates posts and visuals, and publishes across 5 social platforms. The marketing team uses it daily.
    • Built LeadRelay end to end, a WhatsApp and email CRM that automates lead follow-up. Its AI agent qualifies leads and hands the interested ones to a person, campaigns reach thousands of contacts, and lists import straight from Excel or PDFs.
    TypeScriptPythonSGLangLangGraphCeleryElasticsearchMongoDBNeo4j

    Converted from intern to full-time Software Engineer, AI & Backend Infrastructure, in Aug 2026.

  2. Full-Stack Engineer

    Jul – Aug 2025
    Deepneurons AI Services·Remote
    • Built solo ReviveWorks.io's nationwide provider aggregation system, sourcing providers from Google's Places API and directories like YellowPages, designed to cover every US ZIP code. It prioritizes ZIP codes by population, stays within API rate limits, and deduplicates providers across sources.
    • Built solo the serverless AWS backend (Lambda, API Gateway, S3), and collaborated on the Next.js frontend that got the site onto Google's first page within weeks.
    Next.jsAWS LambdaAPI GatewayS3

Work

4 production systems, all in use

Brandflow

Multi-agent content & publishing platform

In daily use
Used by
In-house marketing team
Role
Built solo, end to end
Agents
6, publishing to 5 platforms
  • Orchestrates six LangGraph agents (trend scouting, planning, content generation, publishing) as one stateful pipeline over a Neo4j GraphRAG store with vector and full-text search.
  • Integration layer for five platforms: OAuth 2.0 with encrypted token storage and token lifecycle handling, plus HMAC-verified webhooks that feed engagement data back to the agents.
  • Multi-tenant, built solo, and in daily use by the marketing team.
PythonLangGraphNeo4jMongoDBOAuth 2.0
Brandflow · how it works

From a brand signing up to posts going live and customers buying

1Onboard
Brand signs up

Account & socials

Email or Google login, then connects Instagram, Facebook, LinkedIn and YouTube through OAuth.

Auto-onboarding

Website crawled into a brand profile

Products, audience, tone and competitors pulled from the site, then confirmed by the brand.

Catalog

Product CSV import

Validated, pushed to the Meta catalog, and written to a product graph with embeddings.

2Understand
Intelligence report

Where and how to grow

Audience
Competitors
Trends
Channels
report_v3PDF
Competitor agent

Who to beat

Finds, verifies and scores real competitors.

3Create
Campaign agent

Campaign strategy

research→strategy→plan
Content planner agent

Posts per platform

Briefs, formats and captions written for each channel.

Higgsfield AI media

Images & video

4Ship
Approve

Post now or schedule

Each post tracked: scheduled → publishing → published, partial or failed.

Publish

One post, every platform

Instagram Facebook LinkedIn YouTube Threads
Sell · WhatsApp sales agent

Customers buy in chat

example
Do you have this in navy, size M?
Yes, the navy one is in stock in M. Want me to add it to your cart?

No made-up prices or stock: the AI picks the intent, product search runs without it, and the reply can only use verified results.

Learn · Tracking

Performance flows back in

ReachsyncedEngagementsyncedAudiencesynced

Analytics from every platform update the next intelligence report.

6 LangGraph agentsOAuth · tokens AES-256 encryptedHMAC-verified webhooksLLM quota circuit breakervector + full-text product searchmulti-tenant

CloutBets

On-chain prediction markets for social metrics

Live

Parimutuel betting on creators' social metrics. Funds sit in on-chain escrow until a resolver settles each market from platform data. Built at Colosseum's Cypherpunk hackathon.

RustAnchorSolanaNode.js
cloutbets.fun ↗
live demo · cloutbets
Show the lifecycleHide the lifecycle4 stages · wallet → market → bet → payout
CloutBets · how it works

From connecting a wallet to SOL paid out on-chain the moment a post hits its number

1Connect
Phantom wallet · devnet

Wallet is the account

7xKX…9Qf2 4.2081 SOL

No email, no password. One click connects Phantom; the balance stays live through an on-chain account subscription.

Profile

Created lazily by address

Display name, bio and a generated avatar. Win rate, streaks and net profit are recomputed from bet history.

2Create market
Paste a post

Platform detected from the URL

Post ID is extracted, then a metric is picked: views, likes, comments, shares or upvotes.

Live preview

Set a target above today's number

likes now 8,420target 10,000

The current value is fetched before the form submits. Target must beat it; the window runs 5 minutes to 1 hour.

create_pool

Sign once, market exists on-chain

counter→PDA→sign→save
seeds = ["pool", sha256(url), counter]

The API hands out a per-URL counter, the browser derives the pool address, Phantom signs, and the record lands in MongoDB with its PDA. An opening bet is an optional second signature.

3Wager
Place order

Pick a side, pick a stake

Side percentages are each side's share of the pool. Minimum stake 0.0001 SOL, enforced by the program.

place_bet · escrow

SOL leaves the wallet, lands in the pool

The program checks the pool is active and before its end time, moves the lamports, and appends the bettor and stake to its own lists. Nobody can withdraw early.

Backend confirm

Signature checked against the chain

4Resolve
Oracle resolver · every 15 s

Final number fetched at the deadline

ended pools→metric→winners

Reads the bettor list from the pool account, builds the winner set, and submits end_pool with winners as remaining accounts.

end_pool · payout

Program settles and pays in one transaction

Each winner address is verified against the on-chain bettor list, the rent floor is preserved, rounding dust goes to the last winner, and is_active flips off before any lamport moves.

Track · while the pool is open

Metric and countdown stay live

30 spage poll60 smetric refresh TTL2 minbackend sweep00:04:12countdown

The pool page polls every 30 seconds and the API refreshes a platform metric at most once a minute. A backend sweep re-reads pools ending within five minutes, then the resolver takes over at zero.

Payout · back in the wallet

No claim button. Winners are already paid.

Lamports land in winner wallets inside the same transaction. The pool page links the Explorer entry, and profile stats and leaderboards update from the recorded bets.

Rust · Anchor 0.29escrow in a program-derived accountparimutuel · 2% feewinner list verified on-chaindirect lamport payout, no claimPhantom · Solana devnetNode oracle · 4 metric sourcesReact + Vite · Express + MongoDB

DeedWatch

Usage-billed monitoring & alerting platform

Live · paid
Clients
Paying B2B clients, including banks
Role
Built the backend end to end
Tests
~725
How it worksbilling + notifications
ScheduleLease-locked jobsone runner, no overlap
MatchEvent matchernew data vs client rules
ChargeWallet ledgeridempotency-keyed debits
DispatchNotification fan-outemail + Telegram
DeliverPDF reportsper client
on failureper-channel backoff→retry with same key→never charged twice
prepaid walletsexactly-once chargesshared Zod contracts
  • Clients pay from prepaid wallets. Every debit carries an idempotency key, so retries, crashes and duplicate events can never charge a client twice.
  • Notifications fan out to email and Telegram, each channel with its own retries and backoff, so one provider going down never blocks the others.
  • Lease-coordinated scheduled jobs prevent overlapping runs; shared Zod contracts keep the Express API and Next.js app in sync; ~725 tests.
TypeScriptExpress 5Next.jsMongoDBZod

DeedGraph

Multi-stage LLM pipeline for messy, unstructured documents

Backfill running
Scale
40M records, continuous ingestion
Model
Qwen3-14B, self-hosted, chosen by benchmark
Throughput
~4.3 docs/s · 99.9% success
How it workscrash-safe batch
IngestMessy OCR textmultilingual, noisy
RouteToken-budget tierssplit long documents
ExtractQwen3-14BSGLang · 56 workers
ValidateSchema-bound JSONconstrained decoding
ResolveEntity matchingfuzzy → score → LLM check
StoreElasticsearchidempotent upserts
on failurecircuit breaker trips→atomic checkpoint→resume where it stopped
14B beat 8B on real throughputKV-cache & concurrency tuning3.4× verifier throughput
  • Turns noisy, multilingual OCR text into validated records in stages: token-budget routing, LLM extraction with schema-constrained output, then entity resolution.
  • Picked the model by benchmark, not size. An 8B model looked faster but failed hard documents far more often, and the retries cost more than it saved. Tuned KV cache, concurrency and token budgets on self-hosted SGLang.
  • A crash never loses or duplicates work: 56 concurrent workers, atomic checkpoints, a circuit breaker and idempotent writes; 3.4× verifier throughput after concurrency tuning; 132 tests.
PythonasyncioSGLangQwen3-14BElasticsearch

LeadRelay

Queue-driven messaging engine with an AI sales agent

In daily use
Used by
Marketing team
Channels
WhatsApp, email
Tests
115, in CI
How it worksqueue-driven
ImportCSV · Excel · PDF~24k rows, dedup
QueueCelery + Redisrate-limited sends
SendWhatsApp + emailresumable campaigns
ReplyLLM sales agentdaily spend cap
CloseHuman handoffwhen it matters
on failurebackoff retries→dead-letter queue→replay
  • Bulk sends run through Celery and Redis, throttled to provider rate limits and resumable from checkpoints; failures retry with backoff into a replayable dead-letter queue.
  • HMAC-verified, idempotent webhooks, so a provider delivering the same event twice never triggers a second action.
  • An LLM sales agent answers replies within a daily spend cap and hands off to a person; contact imports of ~24k rows from CSV, Excel and PDFs with dedup and per-row error reports.
FastAPICeleryRedisMongoDBJWT

Side projects

open source · on GitHub

SaigonBot

Grounded RAG assistant for Superteam Vietnam

Bounty build
How it workslocal RAG
DocsCommunity uploadsguides, FAQs
EmbedMiniLM → FAISSvector index
AnswerLlama 2, localgrounded in docs
GateConfidence checkrefuse if unsure
PostHuman approvalthen Telegram

A Telegram assistant that answers only from the community's own docs, says so when it doesn't know, and never posts without a person approving it.

PythonLangChainLlama 2FAISS
GitHub ↗

Stack

what I reach for
Languages
TypeScriptJavaScriptPythonGoSQLC++
Backend
Node.jsExpressFastAPIRESTGraphQLWebSocketsOAuth 2.0gRPCJWTMicroservicesZodasyncio
Async
KafkaCeleryRedis queuesEvent-drivenDead-letter queues
AI
SGLangQwen3LlamaLangGraphLangChainRAGTool callingEvalsStructured decoding
Data
PostgreSQLMongoDBRedisElasticsearchNeo4jFAISSMySQL
Infra
AWS · Lambda, EC2, S3, ECS, API GatewayGCPDockerKubernetesGitHub ActionsLinux
Integrations
WhatsApp Cloud APITelegram Bot APIMeta Graph APIYouTube Data APIHMAC webhooks
Frontend
ReactNext.jsTailwind CSSVite
Web3
SolanaRustAnchorPhantomBackpack

Recognition

competitions & open source
Hackathon · 1st Runner-Up

Level-Up National Hackathon

KJ Somaiya. Led the team to a ₹30,000 prize.

Open source

GSSoC 2024 & Social Summer of Code

Contributor to open-source projects in both programs.

Hackathon · Solana

Colosseum Cypherpunk

Built and shipped CloutBets, now live at cloutbets.fun.

Education

B.E. Computer Engineering

University of Mumbai, 2022–2026. CGPA 8.75.

Building something that has to work at scale? Let's talk.

I like owning systems end to end, from the first schema to the retry logic. Email is the fastest way to reach me.

harshtripathi752@gmail.com Resume ↗
esc