Software developer · AI builder · maker

Softwarethat runsreal businesses.

I build and ship complete products: the backend, the interface, the payments and the mobile app. Three run in production for a live snooker and pool venue. Pick one below and watch it work.

6products built
3live in production
1350+automated tests
1developer
TableTrackerClub management SaaSFull breakdown ↓

Products

Six products, end to end.

Each one below has a reel, what it does, how it works, its specifications and the real screens, captured from the running software with demo data.

Live in production · Club management SaaS

TableTracker

The floor console a snooker and pool club runs on every day: live tables, exact billing, customer ledger and online booking.

What it does

  • Live board of every table with running timer and bill; the bill freezes the instant staff clicks Stop
  • Customer ledger with prepaid wallet, dues and Gold-style membership discounts
  • Public availability board, online booking flow and self-service balance lookup
  • Admin tools: users per floor, analytics, audit log and CSV exports

How it works

  1. 1

    Staff start a session

    Pick a table, optionally attach a customer; the timer and rate are locked in.

  2. 2

    Time and items bill live

    Exact proportional time plus refreshments, discounts applied automatically.

  3. 3

    Settle and record

    Cash, online or wallet; the ledger, dues and analytics update at once.

Specifications

Runtime
TypeScript on Cloudflare Workers (Hono)
Database
Cloudflare D1 (SQLite), additive migrations
Auth
scrypt password hashes, HMAC-signed sessions, CSRF tokens
Money
Integer paise, exact proportional billing, no minimum charge
Tests
Vitest inside the Workers runtime
Rewrite
Ported from Python/Pyodide with a parity harness against the original

Screens captured from a local build with demo data.

Live in production · QR ordering + kitchen app

Weekend Rush Café

Guests scan a floor QR, order and pay; the chef's phone rings until the order is started; the owner sees exact sales.

What it does

  • Mobile QR menu per floor (62 items, categories, cart) with Cashfree checkout
  • Chef dashboard (PWA) and a native Android app that rings until START is tapped
  • Owner dashboard: daily and monthly sales, best sellers, refunds, users, kitchen on/off
  • Paid orders are immutable and reports use the IST business day

How it works

  1. 1

    Scan and order

    Each floor has its own QR; guests pick items and enter a name.

  2. 2

    Pay, then confirm

    An order becomes paid only after Cashfree's own API confirms the payment.

  3. 3

    Kitchen rings

    The chef gets a push and a ringing alert; tapping START stops it.

Specifications

Runtime
Hono Worker + D1 + React/Vite PWA, one deployment
Payments
Cashfree PG, server-side settlement check
Push
Own VAPID keys, RFC 8291 on WebCrypto
Android
Native Kotlin app, watches the kitchen list, no Firebase account needed
Integrity
Paid orders and items locked by DB triggers; money in integer paise
Quality
141 automated tests on real D1 migrations; runs on the Cloudflare free tier

Screens captured from a local build with the built-in payment simulator and demo customers.

Live in production · Tournament platform

Club Tournament

A pool-tournament platform: registration, payments, automatic brackets, live matches and champion tracking.

What it does

  • Player registration with Cashfree payments and verified webhooks
  • Single-elimination bracket generated and locked automatically
  • Per-match status (scheduled, live, completed) with automatic winner progression
  • Public tournament page with the live bracket, plus an admin console

How it works

  1. 1

    Register and pay

    Players sign up; confirmed payments fill the draw.

  2. 2

    Generate and lock

    The bracket is built once registration closes.

  3. 3

    Run matches

    Start a match, enter the result, winners advance to the final.

Specifications

Runtime
TypeScript Cloudflare Worker + D1
Payments
Cashfree with verified webhooks
Bracket
Single elimination, generated and locked from confirmed players
Ops
Live status, champion display, admin password change
Quality
179 automated tests, strict type-check
Status
Production, verified end to end with a real payment

Screens captured from a local build with a demo tournament.

Open source · MIT · AI agent platform

AgentOS

A self-hosted team of AI agents for macOS, with approvals, memory and automations, and the OpenCode CLI as a swappable brain.

What it does

  • Multi-agent runtime with per-agent prompts, models, permissions and timeouts
  • Approval engine: risky commands (sudo, rm, dd and friends) always wait for a human
  • Long-term memory with full-text search, projects, notes and chat
  • Cron and interval automations, crash recovery and a real-time dashboard

How it works

  1. 1

    Queue a task

    Priority queue with concurrency limits, progress logs and cancel/retry.

  2. 2

    Compose the prompt

    Agent instructions, project context, notes and relevant memories.

  3. 3

    Run and audit

    The brain executes; approvals, output and logs stream to the dashboard.

Specifications

Backend
Fastify + TypeScript, SQLite (FTS5)
Frontend
React 18 + Vite, server-sent events
Security
scrypt (N=65536), lockout, rate limits, no shell execution
Execution
spawn with argv only, shell disabled
Quality
109 tests
License
MIT

Screens captured from a fresh instance with demo data.

Shipped · Android · Offline shop app

Kali Dinali

An offline Android app for a small shop: sales, stock and a customer ledger that work with no internet.

What it does

  • Sell by box or loose unit, take part payments and keep the balance
  • Stock kept in boxes with loose units tracked automatically
  • Customer dues and payments, with a lock screen and backup / restore
  • Distributed as signed release builds

How it works

  1. 1

    Set up products

    Box price, loose price and units per box, once.

  2. 2

    Record a sale

    Pick customer and product, enter what was paid now.

  3. 3

    Track the rest

    Stock drops and the customer's due updates instantly.

Specifications

Platform
Native Android (Java)
Storage
On-device local database, fully offline
Screens
Sales, Inventory, Customers, Management, Backup / Restore
Security
App lock screen
Release
Signed APKs on GitHub Releases

Illustrative screens: a recreation built from the app's real screen layout and labels, not a device capture.

Published on Y8 · Browser typing game

Type Recall

A typing game where the next words disappear: read ahead, remember, then type them from memory.

What it does

  • Read-Ahead levels 0 to 3 hide the words just ahead of the cursor, so you type them from memory
  • Live WPM, accuracy, raw speed and errors, with a results screen that adds memory stats: blind accuracy and recall time
  • Adaptive training picks the next passage from your history to work on your weak keys
  • Progress panel with trends and per-key stats, stored locally with no account

How it works

  1. 1

    Glimpse

    The upcoming words are visible until you start typing them.

  2. 2

    Hide and recall

    Your first keystroke hides the band, and you finish the words from memory.

  3. 3

    Measure and adapt

    Every key is logged; the stats and the next passage are worked out from that log.

Specifications

Platform
HTML5 browser game, published on Y8.com
Frontend
TypeScript + Vite, framework-free DOM
Engine
Pure, dependency-free core: typing model, concealment, scoring, difficulty
Replay
Every run is an event log; all stats can be rebuilt from it exactly
Storage
IndexedDB history; optional Fastify + PostgreSQL sync
Quality
229 unit tests plus Playwright end-to-end tests

Screens and reel captured from a local build with demo runs.

In progress & the lab

What I’m building next.

In development

Table Tracker v10

A clean-slate multi-tenant rebuild for venues that rent out resources (snooker, pool, PlayStation, bowling): companies with many branches, each with its own pricing, staff and memberships, no code change per game type.

Fastify · TypeScript · PostgreSQL · raw SQL · tenant isolation enforced in every query

Open-source prototype

Lead Generation Manager ↗

A local CRM for freelance client acquisition: research prospective businesses, draft personalized outreach, organize a pipeline and prepare onboarding briefs. Human approval stays in control of sending.

Python · SQLite · Claude Code · Dashboard screenshot ↗

Hardware

Embedded & electronics

ESP microcontroller projects: a Bluetooth presence scanner, 433 MHz button monitors and diagnostics, small physical systems wired to software.

ESP · BLE · RF433 · Arduino

Experiments

Automation & research

Side projects built to learn: a trading-research bot, a voice assistant and a home server.

About

Hi, I’m Hrishank.

I turn a real problem into a product people use every day, then keep it running.

My work starts at a real counter: a club that needs exact billing, a café that needs orders to reach the kitchen, a shop with no signal. I design the data model, write the backend, build the interface and the Android app, connect payments, and deploy on infrastructure cheap enough for a small business to keep.

I work with AI coding agents inside strict guardrails: every change passes type-checks and tests before it ships, money is handled as integers, and anything touching payments or authentication gets a security review.

01Correctness before cleverness
02Small, boring, reliable stacks
03Ship, watch it run, improve

Toolbox

TypeScriptCloudflare WorkersD1 / SQLitePostgreSQLReactHonoFastifyAndroid (Kotlin/Java)Cashfree paymentsWeb PushESP / ArduinoPython

Have something to build?

Need a better website, a business dashboard, a booking or billing system, or a small SaaS product? Tell me what you need and I’ll help scope the build.