Varun S G

Student, building agents

Hi, I'm Varun, a student from Bangalore--:-- here
 
. I'm doing a BTech in Computer Science and AI at Plaksha University, and I graduate in 2027.

I like working on agents, mostly on the parts around the model: the harness that runs the loop, the tools it calls, the context it carries and the checks on what it says. I'm looking for internships and full-time roles as a software or AI engineer, and I can start right away.

I also contribute to open source: 37 merged PRstext-to-cad18ai-sdk-provider7supervision-js4browser-harness3cambai-python-sdk2mem01dbos-transact-py1gear1 so far, mostly in agent and AI tooling. That includes code merged at OpenRouter, mem0, Browser Use, Roboflow, DBOS and Camb.ai.

Away from code, I'm into bikes. Not racing, just all the different kinds of bikes and the engines in them.

Now, Building upheld, and digging into how agent tooling and environments are built today and how they could be better.

AGENT LOOP
The card the agent is working onPress: the model. Drawers: search, read, edit, runThe press stamps the tool it wants, the shuttle carries the card to that drawer and back, and the result is filed on the context tray the press reads from. An answer has to pass the gate on its way out; this run's first answer fails and goes back into context.

Experience

AlgoUniversitytech intern at a YC S21 startupJun – Aug 2026

I built three tools for AlgoUniversity's students and staff. The first is a grading pipeline (Next.js, BullMQ, Redis, Gemini 2.5) that scores a submission's logic and Big-O complexity in under ten seconds. It's hardened against prompt injection and hardcoded outputs, and it replaced manual first-pass grading.

The second is a code coach that gives hints derived from the syntax tree to walk students through logic errors, which cut escalations to human mentors by 60%. The third turns uploaded problem images into structured JSON and Markdown with the Vercel AI SDK, which cut admin time by 80%.

Work

upheldchecks AI citations against their sources74.4 F1

AI search answers mostly cite real links now, but the cited page often doesn't say what the answer claims. upheld splits an answer into claims, finds the passage in each cited source that bears on it, and reports which claims the sources actually back. It also flags dead links, wrong entities and factual sentences with no citation.

QTell me about the Eiffel Tower.

The Eiffel Tower was designed by the engineering company of Gustave Eiffel and completed in 1889.⁠[1] It stands 384 metres tall.⁠[1] It was the tallest man-made structure in the world until the Chrysler Building in New York was finished in 1930.⁠[1] Its design was led by the architect Frank Lloyd Wright.⁠[1] The tower is repainted every three years using a special bronze paint.⁠[2] It is the most visited paid monument in the world.

Claim 1 of 6Supportedscore 0.83

The cited source backs the claim.

It is named after the engineer Gustave Eiffel, whose company designed and built the tower from 1887 to 1889.[1] en.wikipedia.org/wiki/Eiffel_Tower
Claim 2 of 6Unsupportedscore 0.24

The source is real and readable, but doesn't back the claim. Flagged span: “stands 384 metres tall”.

The tower is 330 metres (1,083 ft) tall, about the same height as an 81-storey building, and the tallest structure in Paris.[1] en.wikipedia.org/wiki/Eiffel_Tower
Claim 3 of 6Supportedscore 0.84

The cited source backs the claim.

…the tallest human-made structure in the world, a title it held for 41 years until the Chrysler Building in New York City was finished in 1930.[1] en.wikipedia.org/wiki/Eiffel_Tower
Claim 4 of 6Unsupportedscore 0.27

The source is real and readable, but doesn't back the claim. Frank Lloyd Wright isn't named anywhere in the source.

The design of the Eiffel Tower is attributed to Maurice Koechlin and Émile Nouguier, two senior engineers working for the Compagnie des Établissements Eiffel.[1] en.wikipedia.org/wiki/Eiffel_Tower
Claim 5 of 6Source missingno score

The cited URL is dead and was never archived. [2] returns HTTP 404.

Claim 6 of 6Uncitedno score

A factual-looking sentence with no citation at all.

  1. [1]en.wikipedia.org/wiki/Eiffel_Towerlive · 200
  2. [2]en.wikipedia.org/wiki/Eiffel_Tower_repainting_schedule404 · never archived
Backed by its sourceNot backed, or the source is deadNo citationA real run on a chatbot-style answer, scored by the default verifier, where 0.5 is the line. Two claims hold up, two aren't backed by the page they cite, one cites a page that doesn't exist, and one cites nothing.

It runs on a laptop with no API key. The default verifier combines MiniCheck, word overlap and LettuceDetect with a four-number logistic regression, and scores 74.4 macro-F1 on AttributionBench, above every zero-shot system in the benchmark's paper.

deadlock1v1 competitive programming, live1,600+ problems

Two players get the same Codeforces problem and the first correct submission wins. Matchmaking and match state live in Redis, each player sees the other's progress over Socket.IO, code runs on Judge0 in more than ten languages, and results feed an Elo rating.

There's ranked matchmaking with problems picked to match both ratings, invite links for private duels, and ghost replays. Seat claims and match starts are Redis Lua scripts, so they're atomic, and a shared judge queue stops test runs from causing false time-limit failures. For fair play, the editor blocks outside pastes and large inserts, opponents see when you switch tabs, and each player gets an integrity record that a person reviews instead of an automatic penalty.

Budget-conditioned racingone RL policy that races to an energy budget4.51 / 5.0

A Soft Actor-Critic driver for TORCS that takes its remaining energy as an input, the way a Formula E car manages its battery. The budget was grafted onto a pretrained 32-input driving policy as a 33rd input, so it kept its racing line while learning to lift and coast when energy runs short.

On a budget of 5.0 it finishes every lap and uses 4.51 of it. The unconstrained baseline runs dry 94% of the way round.

Open sourceOpenRouter, mem0, Browser Use and more37 merged

I'm the most active outside contributor to text-to-cad, and I added a public rerankingModel() API to OpenRouter's AI SDK provider. The rest is mostly fixes in agent and AI tooling.

text-to-cadOpenRouterRoboflowBrowser UseCamb.aimem0DBOSgear187432111

37 merged PRs · 8 repos · since August 2026

earthtojake/text-to-cad · 25.1k stars · 18 merged

I'm its most active outside contributor: 18 PRs and over 20,000 changed lines in under a month. I split the 5,200-line Python codebase into single-purpose modules, kept the viewer inside its root, streamed multi-gigabyte assets in 64 KiB chunks and built a 3D measure tool.

  1. 26 Aug#335skills: fix gcode's export remediation; add cad-viewer test suite; repair skill deps
  2. 26 Aug#305viewer: add worker and cold process timeouts and stream large assets
  3. 25 Aug#333viewer: stream asset and download responses in 64 KiB chunks
  4. 25 Aug#304viewer: enforce root containment, fix symlink escapes, and guard scanner loops
  5. 23 Aug#312cadgen: safe STEP metadata id minting; GLB reader and table-helper dedupe
  6. 23 Aug#311implicitjs: shared theme settings and GIF encoding, declared materials honored
  7. 23 Aug#310cadgen: fix Windows lock probe handle mode and scene-cache rename races
  8. 14 Aug#261cadgen: split generation.py and step_scene.py into single-concern submodules
  9. 14 Aug#260Add Windows msvcrt fallback to the coordination lock
  10. 14 Aug#259Add skill-level tests for sendcutsend, step-parts, and implicit-cad
  11. 14 Aug#258Add TYPE_CHECKING imports for cadgen public API
  12. 14 Aug#257Rename cadgen.step_artifact module to step_artifact_cli
  13. 14 Aug#256cadgen: annotate or narrow every bare exception handler
  14. 14 Aug#255docs: add SECURITY.md with the Viewer trust model
  15. 14 Aug#254release: sync implicitjs versions with the canonical VERSION
  16. 14 Aug#253cadgen: drop the dead traversal in _scene_has_assembly_structure
  17. 12 Aug#193Add full 3D measure tool to the CAD viewer
  18. 5 Aug#192fix(viewer): survive malformed percent-encoding in legacy CAD paths

More on GitHub.

Awards

Kaggle silver medalHull Tactical market prediction166th / 3,677

Forecasting S&P 500 excess returns with an FT-Transformer and XGBoost pipeline, trained with sharpness-aware minimization. It reached a Sharpe ratio of 1.699 and placed 166th of 3,677 teams.

Dot Slash hackathonproduct cataloging for local vendors1st place

A cataloging pipeline for local shops: bounding-box detection finds each product in a photo, and the Gemini API pulls its details into a product CSV.

Stellar Community FundKickstart award for a Web3 project$10k grant

A $10k Kickstart grant for a Web3 project on the Stellar chain, designed to drive use of the network and let people monetize their content.

Contact

Email is the best way to reach me: varunsg666@gmail.com