Skip to content
rohan.jk

teaching a small model to show its work: training an auditable research agent

A 9-billion-parameter open model that answers investment-research questions by looking things up in SEC filings through six tools, doing the maths explicitly, and citing the evidence for every number. Trained with imitation then reinforcement learning, and scored by code that checks every number against the filings.

PythonFine-tuningReinforcement LearningGRPO
1st place · hackathon

mapping your skills to realistic career moves

A Singapore career guide that maps a person's skills to realistic next roles, skill gaps, live courses and matching jobs, using official SkillsFuture data with OpenAI as the interpreter and a 3D role sphere. Won 1st at the OpenAI x AI Singapore x PyCon Singapore 2026 hackathon.

PythonOpenAIAI AgentsReact
3rd place · hackathon

shared context for coding agents

A plugin for Claude Code and Codex that gives every coding agent on a repository a shared room: they see each other's uncommitted edits, announce changes before making them, and preview the merged result before anyone commits. Placed third at the OpenAI x OpenRouter x ClickHouse x AI Tinkerers hackathon.

TypeScriptNode.jsYjsMCP

an agent that runs its own ml experiments

An LLM agent that improves a short-video recommendation model on its own: it reads the last training curve, picks a published technique, writes and runs the training code, and keeps the change only if it beats measured noise. Built by a team of four on the KuaiRand-Pure benchmark.

PythonPyTorchNumPyAI Agents

distilling a financial analyst: small open models, frontier-level numbers

Fine-tuning small open-source models (Qwen3 8B and 14B, QLoRA on one RTX 4090) into a financial memo system where every number is mechanically verified: a tuned writer, a tuned repair model, and a deterministic gate that together match a frontier model on provable correctness. Every experiment pre-registered, including the failures.

PythonFine-tuningLLM SystemsQLoRA

a mastering plugin in C++, from DSP to interface

An audio mastering plugin built in C++/JUCE, combining custom DSP, saturation design, oversampling, preset management, DAW validation, and a polished hardware-inspired interface.

C++JUCEDSPProduct Design

quant strategy research: strategies, and the ways backtests lie

The strategy-research arm of a miniature trading firm: a backtesting engine that makes cheating structurally impossible, pairs trading with Kalman-adaptive hedging, factor strategies with survivorship bias measured at +4.6%/yr instead of disclaimed, and an ML layer that lost to its baseline.

PythonFinanceBacktestingDSP

building a trading firm's machinery: matching engine, risk controls, live execution

The execution arm of a miniature trading firm, built to understand what happens between a signal and a fill: a deterministic C++ limit order book at 10M ops/sec, a risk-control gateway no strategy can bypass, and a live paper-trading pipeline built to measure how far live results drift from what the backtest promised.

C++PythonTrading SystemsRisk Controls

personal AI podcasts from 200+ news feeds

A serverless application that generates personalized 3-5 minute AI-narrated podcasts based on user-selected topics, aggregating stories from 200+ RSS feeds and processing 16,000+ articles daily.

PythonAI AgentsData PipelinesCloud Infra

an AI pipeline that finds new and planned data centers and maps them worldwide

An automated pipeline that finds new and planned data centers in industry news and broker reports, geolocates them, and merges them with public databases into one deduplicated atlas of 10,578 sites worldwide, over 4,000 of them not yet operational. Built with an AI agent, vision-based PDF extraction, and geospatial deduplication.

PythonAI AgentsData PipelinesWeb Scraping

a patent app that checks new filings against existing patents

A mobile app for filing and tracking patent applications that checks each filing's similarity against existing patents pulled from Singapore's IPOS database, and shows applicants the closest existing patents.

React NativePythonFastAPIPostgreSQL

naming the chord you play, in real time

A real-time MIDI and computer-keyboard chord monitor: a root-agnostic chord-detection engine with correct enharmonic spelling, built as a signed and notarized macOS app in Electron, React, and TypeScript.

TypeScriptReactElectronWeb MIDI

tracking every change to the global Supercharger network

A data pipeline that snapshots all 10,000+ Tesla Supercharger sites worldwide and logs exactly what changed at each one between runs (openings, closures, stall counts, power upgrades, non-Tesla access), using schema-driven field-level change detection.

PythonSQLData Pipelines

one set of content, three ways to explore it

My portfolio, rebuilt from a single vanilla-JS page into an Astro site with three complete themes over one source of content: an editorial grid, a metro map and a three.js floor plan. More than twenty interactive article widgets on a shared rendering library, hand-drawn animated artwork, real-time audio meters, and a test suite that keeps all of it honest.

AstroTypeScriptthree.jsWeb Audio API