Skip to content
Harshith Pramod

Full-stack developer

Harshith Pramod

I build full-stack products, with AI where it earns its place.

React and TypeScript on the screen, Postgres and Supabase underneath, and a model call only where it makes the product better. Three shipped so far.

Building
The next release of PentestAI, and whatever comes after it
Watching
Bleach, and The Mentalist
Bengaluru
--:--:-- IST
Available
Open to software engineering internships and full-time roles

Inspect the stack

GET/api/work?sort=shippedpending

  1. clientReactuseQuery(['work']) fires110 ms
  2. edgeEdge functionGET /api/work, verifies the anon key240 ms
  3. dbPostgresselect * from projects order by shipped desc260 ms
  4. modelGeminisummarise each project in one line820 ms
  5. clientReactrender <WorkList /> with 3 rows150 ms

Pick a question to send a request.

A scripted replay: 5 spans, 0 ms. The model runs only where it earns its place.

Work

Three products, each built end to end, with a model only where it earns its place. Each one says what it does, what it runs on, and how it fits together.

  1. 第一話Episode 01 · The Door Left Open

    PentestAI

    Personal project, 2026

    Automated penetration testing for GitHub repositories that checks whether a vulnerability is actually reachable.

    3 standards behind every finding: CVSS for severity, CWE for the weakness, OWASP for the category. Reports ship as PDF and JSON.

    • React 19
    • TypeScript
    • TanStack Start
    • Supabase
    • PostgreSQL
    • Gemini
    How a repository moves through PentestAIGitHub repo to Secret scan; GitHub repo to LLM analysis; LLM analysis to Sandbox (high and critical only); Secret scan to Verdict; Sandbox to Verdict; Verdict to Report; Verdict to Youhigh and critical onlyGitHub reporead-only cloneSecret scanruns firstLLM analysisGeminiSandboxCodeQL taint trackingVerdictHMAC-signed callbackReportPDF and JSONYoutriage what's left
    How a repository moves through PentestAI
  2. 第二話Episode 02 · One Frame, Many Faces

    AdForge.ai

    Personal project, 2026

    One product photo and a tagline in, a finished image ad and a narrated video ad out.

    3 creative variants per run, with automatic retries so one failed model call never sinks the batch.

    • React
    • TypeScript
    • Vite
    • Tailwind
    • Gemini Vision
    • Tool calling
    From one photo to two ad formatsPhoto and tagline to Gemini Vision; Gemini Vision to Retry guard; Retry guard to Gemini Vision (a failed call is retried); Retry guard to Image ad; Retry guard to Web Speech API; Web Speech API to Narrated videoa failed call is retriedPhoto and taglineGemini Visionstructured tool callsRetry guardper variantImage adWeb Speech APIin the browserNarrated video
    From one photo to two ad formats
  3. 第三話Episode 03 · Nothing Goes to Waste

    Smart Pantry

    2nd place, PyGenic ARC Project Expo, 2025

    A pantry that logs a grocery run without typing: barcode, bill photo or voice.

    15% less weekly grocery spend, by tracking stock, building the shopping list for you and suggesting recipes from what's already there.

    • React
    • TypeScript
    • Vite
    • Tailwind
    • Flask (Python)
    • Supabase
    Three ways in, one pantryBarcode to Edge functions; Bill photo to Edge functions; Voice to Edge functions; Edge functions to Pantry; Pantry to Shopping list; Pantry to Iron Chef; Pantry to MarketplaceBarcodeproduct lookupBill photoOCR readerVoiceassistantEdge functionsSupabasePantryrow-level securityShopping listbuilt automaticallyIron Chefrecipe suggestionsMarketplacesell or donate surplus
    Three ways in, one pantry

About

Full-stack developer in Bengaluru, in the final year of a computer science degree. I build products end to end: the React screens, the Postgres schema and its access rules, and the server code in between.

Then I build AI into them where it earns its place: Gemini turning one product photo into an ad, a voice assistant that logs a grocery run, a model that reads a codebase and flags what looks risky. The model is one part of the product, never the whole of it.

Download my resume (PDF)

439 contributions in the last year

Stand「Under Pressure」
BAABBA
Power B
Three products, each shipped end to end
Speed A
Three products in eight months
Range A
From Postgres access rules to the React screen
Durability B
Retries so one failed model call never sinks a batch
Precision B
Structured tool calls instead of parsing prose
Potential A
Final year, and not slowing down

Ability Builds the whole thing, screen to schema, and wires in a model only where it pulls its weight.

Tech stack

Languages
TypeScript, JavaScript, C++, Java, SQL (Postgres), Python, HTML/CSS
Frameworks
React, Next.js, Node.js, Flask, FastAPI, Tailwind
Backend and data
Supabase, PostgreSQL, Edge functions, Row-level security, REST APIs
Cloud and tools
Docker, AWS, Vercel, Cloudflare Workers, Git

Things he currently enjoys

  • Films, series and anime
  • Gym
  • Football
  • Learning Japanese[ 日本語 ]
  • Manchester United[ MUFC ]
  • Video games

Things he hopes to complete

  • Done: Ship three products end to end
  • Done: Podium at a project expo
  • Not yet: Play Elden Ring
  • Done: Finish reading Berserk
  • Not yet: Find out who Red John is
  • Not yet: Be there when the One Piece is finally found
  • Not yet: A matchday at Old Trafford

Off the clock

  • Thors · Vinland Sagafor "you have no enemies"
  • Sōsuke Aizen · Bleachfor being three plans ahead of everyone, including the reader
  • Monkey D. Luffy · One Piecefor never once doubting the dream
  • Dio Brando · JoJo's Bizarre Adventurefor ZA WARUDO, obviously
  • Patrick Jane · The Mentalistfor reading the room before anyone speaks
  • Bruno Fernandes · Manchester Unitedfor the armband and the assists

The deck

Narrator's noteWith every feat accomplished, a new card is forged and added to his deck.5 cards and counting. Press one to turn it over.

Let's talk.

I'm always up for a chat, whether it's discussing bizarre adventures, ridiculous Stand abilities, or the next strange project on my mind. You can reach me at…

Berserk manga panel: Guts lying on his back in tall grass, face turned up to a night sky of falling rain

Some nights the rain wins. You get up anyway.

ガッツGuts · Berserk, Kentaro Miura