Hassam Gani

Computer science at Columbia
Machine learning researcher, DAPLab

I'm a computer science student at Columbia and a machine learning researcher at DAPLab, working on language models. I'm interested in them end to end, from tokenization and the transformer up to how they're trained and used as agents. Right now most of my time goes to reinforcement learning and multi-agent systems.

Before DAPLab, I worked on ML security at Columbia's Software Systems Lab. I also co-founded MorningsideMunch, a dining app used by more than 1,000 Columbia and Barnard students.

Hassam Gani
Figure 1. A small neural network (2–16–16–1, tanh, Adam) learning to separate two spirals. It trains as you scroll down the page; scroll back up to rewind.Step 0 of 1,500.

News

  • Oct 2026Started a new DAPLab project on evalling collaboration in multi-agent systems.
  • Sept 2026Submitted 2 papers to ICLR on multi-agent debate and database agent evals.
  • Mar 2026Joined DAPLab at Columbia as a machine learning researcher.
  • Jan 2026Co-founded MorningsideMunch, a dining app for Columbia and Barnard. It reached 1,000+ users within a month of launch.

Research

DAPLab, Columbia

Debate, voting, or self-refinement?

When you can only afford so many LLM calls, is it better to have models vote, refine their own answers, or debate each other? This project tests a theory that predicts which one wins, across six models and six benchmarks.

Self-play for LLM reasoning

Can a language model get better at reasoning by training on problems it makes up for itself, with no labeled data? The system started with math and now covers open-ended writing. Along the way, re-measuring R-Zero, a published self-play method, showed that most of its reported gains shrink to about one point.

Graph vs. SQL database agents

Do LLM agents answer database questions better when the data is stored as a graph instead of SQL tables? On clinical records the graph agent came out slightly ahead, mostly because the SQL agent mishandled questions about relative dates. The project also found 626 correct answers that the benchmark's grader had marked wrong.

Software Systems Lab, Columbia

Malicious code in pickled models

ML models are often shared as Python pickle files, which can run hidden code the moment they're loaded. cpyAnalyzer catches these: its loading policies blocked every malicious model while still accepting 79.8% of benign ones. Supported by a Kluge Scholar grant.

Code

Projects

MorningsideMunch

A dining app covering all 21 Columbia and Barnard dining halls. It reached 1,000+ users within a month of launch, over 30% of Columbia's dining-plan holders.

morningsidemunch.com

SmartSnake

A reinforcement learning agent that starts out knowing nothing about the game. Within 100 games its score improves 733%, levelling off around an average of 31.

Watch it train in your browserCode

FaceGuard

Learns its owner's face in seconds, without a GPU. If someone else wakes the Mac, it emails the owner photos and a short video of them. It recognized the owner within two feet every time.

Code

Experience

Ambassador, Breakthrough Ventures

A community of 40 founders who have raised $50M between them.

Co-founder, stealth startup

Built the foundations of an early computer-vision product.

Teaching assistant, COMS 1404, Columbia

Taught an ML curriculum in NLP and computer vision, built with faculty and PhD students, through workshops and mentoring.

Frontend developer, Columbia SIPA

Designed and maintained course sites for the Executive MPA program.

Penetration tester, CyberPro Tech

Tested 15+ systems and documented 200+ vulnerabilities with Burp Suite, Metasploit, and Wireshark.