Next

Have a messy data problem? Let's look at it together.

Tell us what you're working with. We'll say honestly whether we're the right fit.

Start a project

pwlive.fyi · Portfolio

Selected work

09 projects

Scroll to open

A few systems we've built, with screenshots from the real thing.

Client data is redacted where it needs to be.

pwlive.fyi · Sidd@pwlive.fyi

01 — Document AI

  • Three extraction backends: PyMuPDF form widgets, OpenCV checkbox detection, and a local Ollama vision model
  • Drag-and-drop A/B compare that puts differences first
  • Compliance rules written in YAML, each citing the IRC, Treasury Regs, or the base plan document
  • Recognizes ADP, Empower, and FIS templates and suggests the matching plan elections

Document AI

Plan Matrix

Compares retirement plan adoption agreements field by field and checks them against IRS rules. It reads fillable, flattened, and scanned PDFs, maps every field onto one schema, and shows the differences that actually matter in a single matrix.

extraction backends
3
recordkeeper templates
3
  • Python
  • FastAPI
  • Next.js
  • TypeScript
  • PyMuPDF
  • OpenCV
  • Ollama

02 — Market intelligence

  • Cohort network with 169 co-investor and shared-condition links across sub-categories like AI drug discovery and cell therapy
  • Patent and SEC filing summaries from Gemini 2.5 Flash
  • Clinical trial tracking and news sentiment
  • Enrichment pipelines on Google Cloud, with data in BigQuery

Market intelligence

Biotech Unicorns Intelligence

A tracking platform built for Riceberg Ventures that follows 112 biotech unicorns worth $526B combined. Patents, SEC filings, clinical trials, and news land in one place, with Gemini summarizing what changed.

unicorns tracked
112
combined value
$526B
cohort links
169
  • Next.js
  • React
  • Flask
  • BigQuery
  • Gemini
  • Google Cloud

03 — Optimization

  • Joins 10 public datasets, including FAF5 freight flows, HPMS highways, AFDC stations, and EIA grid data, in SpatiaLite
  • Four-layer Dagster asset graph from raw files to final rankings
  • Freight network of about 200K weighted edges built in GRAPE
  • Four Gurobi facility-location models (CFLP, P-Median, Set Cover, Flow-Refueling) combined into one consensus ranking

Optimization

EV Charging Optimization

Recommends 100 new sites for heavy-duty electric truck fast chargers across the lower 48 states. Built as the capstone for Georgia Tech CSE 6242.

sites recommended
100
datasets joined
10
freight edges
~200K
  • Python
  • Dagster
  • SpatiaLite
  • Gurobi
  • GRAPE
  • Leafmap

04 — Social AI · HackGT 13

  • Live D3 force graph where the waves between people warm from violet to aqua to amber as bonds strengthen
  • Bridge suggestions that name specific shared ground, plus inclusion notes when someone goes quiet
  • "Make a plan nearby" maps a shared topic to OpenStreetMap tags, queries Overpass within 3 km, and has Muse write the invite
  • Judges join by QR code on their phones; a seeded demo has the graph lit before they say a word
  • Budget guard caps reasoning tokens, analysis frequency, and total calls per room

Social AI · HackGT 13

Wavelength

A group chat that shows the room finding its frequency. Built at HackGT 13 for Meta's "Bringing People Closer Together with AI" challenge: Meta Muse Spark reads the conversation live and surfaces who is clicking, what they share, and who could use a way in.

  • Next.js
  • TypeScript
  • Socket.io
  • D3
  • Framer Motion
  • Zustand
  • Meta Muse

05 — AI safety · Red teaming

  • Three attacker personas, Axiom, Ghost, and Decomposer, each isolated in its own container with its own sampling temperature
  • Judge model scores every attempt from 0 to 1 and labels it blocked, partial, or extracted
  • Evolver breeds each generation from the best-scoring attacks across 10 rotating strategies
  • Every stage runs in its own container, coordinated over Redis, with a live campaign dashboard

AI safety · Red teaming

HYDRA

An automated red-team engine where a model attacks itself, judges itself, and breeds better attacks with a genetic algorithm. It finds weak spots in a model's safeguards before someone else does.

attacker personas
3
rotating strategies
10
  • Node.js
  • Express
  • Socket.io
  • Redis
  • Docker
  • Claude API

06 — AI safety · Research

  • Against undefended Llama-3.2-3B-Instruct, evolved prompts took attack success from 50% to 100% in 20 generations
  • Successes verified with the HarmBench classifier, not keyword matching
  • Membrane defense campaign: 100 generations on Georgia Tech's PACE Phoenix cluster, with attack success peaking at 90% and settling at 30% with no false positives on static probes
  • Tracks success by strategy, attack half-life, and false-positive rate on one dashboard

AI safety · Research

Beaver

An evolutionary robustness harness for LLM safety. Static jailbreak benchmarks test fixed prompts; Beaver evolves attacks across generations to show how much those benchmarks understate real risk, and measures how well a defense holds up as the attacks adapt.

attack success, 20 gens
50→100%
generation campaign
100
static false positives
0
  • Python
  • PyTorch
  • FastAPI
  • React
  • Vite
  • Tailwind
  • HarmBench
  • Slurm

07 — AI safety · Evaluation

  • The attacker learns from the full lineage of failed attempts in its branch, not just the last turn
  • Each run stages the planted directive in its own throwaway directory, so runs never collide or touch the real workspace
  • Responses scored for robustness, safety, and factuality by a local Ollama judge
  • FastAPI services with a Next.js console that streams each run live

AI safety · Evaluation

adversarial-ml-eval

A harness that measures whether an AI coding assistant can be hijacked by instructions planted in project files like CLAUDE.md. A local attacker model rewrites the attack after every failure until the target breaks or the turn budget runs out.

  • Python
  • FastAPI
  • Ollama
  • Next.js
  • Postgres
  • BigQuery
  • Docker

08 — Automation

  • One "Go" button runs scout, judge, and post-next-approved end to end
  • Generate drafts from a written angle, or let the arXiv scout find one
  • Background daemon with status, daily counts, and an activity log
  • Dry-run mode and keyboard-driven review: j/k to move, a to approve, p to post

Automation

safetytax/ctl

An operator console for a research-posting pipeline. Scouts pull candidate topics from the web and arXiv, a judge filters them, and approved drafts go out from a queue on a schedule.

09 — Computational biology

  • Three escape mechanisms: antigen loss, MHC knockout with NK "missing-self" counterpressure, and checkpoint armor at a fitness cost
  • Population stored as counts over all 2^n antigen profiles, so clone merging is implicit and fast
  • Replicated Monte Carlo sweeps with Wilson score intervals, because a single run is close to a coin flip
  • 215 math correctness checks and self-contained samplers with no toolbox dependencies

Computational biology

Antigen Escape Simulator

Immunotherapy can fail because tumors adapt: they drop the antigens the therapy targets, knock out the machinery that presents them, or switch the attack off with checkpoint signals. This simulator runs each escape route as a stochastic process and estimates how likely a tumor is to escape, and which therapy designs make that less likely.

escape mechanisms
3
correctness checks
215
  • MATLAB
  • Octave
  • Monte Carlo

That's the book

Every project here started as a question someone couldn't answer with the data they had.

Scroll, drag the page, or use the arrow keys. Scroll, or swipe the page sideways.

00 / 11 · Cover

Document AI

Plan Matrix

Compares retirement plan adoption agreements field by field and checks them against IRS rules. It reads fillable, flattened, and scanned PDFs, maps every field onto one schema, and shows the differences that actually matter in a single matrix.

extraction backends
3
recordkeeper templates
3
  • Three extraction backends: PyMuPDF form widgets, OpenCV checkbox detection, and a local Ollama vision model
  • Drag-and-drop A/B compare that puts differences first
  • Compliance rules written in YAML, each citing the IRC, Treasury Regs, or the base plan document
  • Recognizes ADP, Empower, and FIS templates and suggests the matching plan elections
  • Python
  • FastAPI
  • Next.js
  • TypeScript
  • PyMuPDF
  • OpenCV
  • Ollama

Market intelligence

Biotech Unicorns Intelligence

A tracking platform built for Riceberg Ventures that follows 112 biotech unicorns worth $526B combined. Patents, SEC filings, clinical trials, and news land in one place, with Gemini summarizing what changed.

unicorns tracked
112
combined value
$526B
cohort links
169
  • Cohort network with 169 co-investor and shared-condition links across sub-categories like AI drug discovery and cell therapy
  • Patent and SEC filing summaries from Gemini 2.5 Flash
  • Clinical trial tracking and news sentiment
  • Enrichment pipelines on Google Cloud, with data in BigQuery
  • Next.js
  • React
  • Flask
  • BigQuery
  • Gemini
  • Google Cloud

Optimization

EV Charging Optimization

Recommends 100 new sites for heavy-duty electric truck fast chargers across the lower 48 states. Built as the capstone for Georgia Tech CSE 6242.

sites recommended
100
datasets joined
10
freight edges
~200K
  • Joins 10 public datasets, including FAF5 freight flows, HPMS highways, AFDC stations, and EIA grid data, in SpatiaLite
  • Four-layer Dagster asset graph from raw files to final rankings
  • Freight network of about 200K weighted edges built in GRAPE
  • Four Gurobi facility-location models (CFLP, P-Median, Set Cover, Flow-Refueling) combined into one consensus ranking
  • Python
  • Dagster
  • SpatiaLite
  • Gurobi
  • GRAPE
  • Leafmap

Social AI · HackGT 13

Wavelength

A group chat that shows the room finding its frequency. Built at HackGT 13 for Meta's "Bringing People Closer Together with AI" challenge: Meta Muse Spark reads the conversation live and surfaces who is clicking, what they share, and who could use a way in.

  • Live D3 force graph where the waves between people warm from violet to aqua to amber as bonds strengthen
  • Bridge suggestions that name specific shared ground, plus inclusion notes when someone goes quiet
  • "Make a plan nearby" maps a shared topic to OpenStreetMap tags, queries Overpass within 3 km, and has Muse write the invite
  • Judges join by QR code on their phones; a seeded demo has the graph lit before they say a word
  • Budget guard caps reasoning tokens, analysis frequency, and total calls per room
  • Next.js
  • TypeScript
  • Socket.io
  • D3
  • Framer Motion
  • Zustand
  • Meta Muse

AI safety · Red teaming

HYDRA

An automated red-team engine where a model attacks itself, judges itself, and breeds better attacks with a genetic algorithm. It finds weak spots in a model's safeguards before someone else does.

attacker personas
3
rotating strategies
10
  • Three attacker personas, Axiom, Ghost, and Decomposer, each isolated in its own container with its own sampling temperature
  • Judge model scores every attempt from 0 to 1 and labels it blocked, partial, or extracted
  • Evolver breeds each generation from the best-scoring attacks across 10 rotating strategies
  • Every stage runs in its own container, coordinated over Redis, with a live campaign dashboard
  • Node.js
  • Express
  • Socket.io
  • Redis
  • Docker
  • Claude API

AI safety · Research

Beaver

An evolutionary robustness harness for LLM safety. Static jailbreak benchmarks test fixed prompts; Beaver evolves attacks across generations to show how much those benchmarks understate real risk, and measures how well a defense holds up as the attacks adapt.

attack success, 20 gens
50→100%
generation campaign
100
static false positives
0
  • Against undefended Llama-3.2-3B-Instruct, evolved prompts took attack success from 50% to 100% in 20 generations
  • Successes verified with the HarmBench classifier, not keyword matching
  • Membrane defense campaign: 100 generations on Georgia Tech's PACE Phoenix cluster, with attack success peaking at 90% and settling at 30% with no false positives on static probes
  • Tracks success by strategy, attack half-life, and false-positive rate on one dashboard
  • Python
  • PyTorch
  • FastAPI
  • React
  • Vite
  • Tailwind
  • HarmBench
  • Slurm

AI safety · Evaluation

adversarial-ml-eval

A harness that measures whether an AI coding assistant can be hijacked by instructions planted in project files like CLAUDE.md. A local attacker model rewrites the attack after every failure until the target breaks or the turn budget runs out.

  • The attacker learns from the full lineage of failed attempts in its branch, not just the last turn
  • Each run stages the planted directive in its own throwaway directory, so runs never collide or touch the real workspace
  • Responses scored for robustness, safety, and factuality by a local Ollama judge
  • FastAPI services with a Next.js console that streams each run live
  • Python
  • FastAPI
  • Ollama
  • Next.js
  • Postgres
  • BigQuery
  • Docker

Automation

safetytax/ctl

An operator console for a research-posting pipeline. Scouts pull candidate topics from the web and arXiv, a judge filters them, and approved drafts go out from a queue on a schedule.

  • One "Go" button runs scout, judge, and post-next-approved end to end
  • Generate drafts from a written angle, or let the arXiv scout find one
  • Background daemon with status, daily counts, and an activity log
  • Dry-run mode and keyboard-driven review: j/k to move, a to approve, p to post

Computational biology

Antigen Escape Simulator

Immunotherapy can fail because tumors adapt: they drop the antigens the therapy targets, knock out the machinery that presents them, or switch the attack off with checkpoint signals. This simulator runs each escape route as a stochastic process and estimates how likely a tumor is to escape, and which therapy designs make that less likely.

escape mechanisms
3
correctness checks
215
  • Three escape mechanisms: antigen loss, MHC knockout with NK "missing-self" counterpressure, and checkpoint armor at a fitness cost
  • Population stored as counts over all 2^n antigen profiles, so clone merging is implicit and fast
  • Replicated Monte Carlo sweeps with Wilson score intervals, because a single run is close to a coin flip
  • 215 math correctness checks and self-contained samplers with no toolbox dependencies
  • MATLAB
  • Octave
  • Monte Carlo

Next

Have a messy data problem? Let's look at it together.

Tell us what you're working with. We'll say honestly whether we're the right fit.

Start a project