About me
I'm Griffin. I'm Chief of Staff at Apparent Capital, a real estate investment firm in Avon, Connecticut, and I live a few towns over in West Hartford. I came here out of Bates in 2025 with an economics degree and a thesis I wrote in Stata.
My job is underwriting and reporting. The building part happened because I kept running into the same problem: somebody on the team was spending a day a week keeping a spreadsheet alive, and the numbers in it were always a week old. So I started replacing them one at a time. The property-management dashboard came first. The underwriting parser came when I got tired of paying per deal for one. Most of what's on this site is the list of things that used to be spreadsheets.
Outside the firm I co-founded OnPlane, which is software for running a golf club's caddie program, and I own a GrillRenewCT territory in Hartford County with four technicians on the schedule.
I swam at Bates for four years. I've played saxophone for thirteen. I snowboard, I fish, I do my own car maintenance, and I speak Spanish. I spent a semester in Stockholm.
How I work
The model never does the math
I let Claude figure out which column is market rent and which GL line is pest control. Python adds it up. If the model gets something wrong, I end up with a mislabeled column, not a wrong NOI.
Every number ties out
A parse doesn't count until it matches the totals printed in the source file. When it doesn't, the screen shows me the exact line to go check. I'd rather see a red flag than publish a guess.
One property at a time, and no guessing
The research bots look at one property at a time and report what's published today, with a date and a link. 'No rent listed' is a real answer. A guess isn't.
The dates and titles are on the resume. Resume
