> Stefan Ruffini

Hey, I'm Stefan.

PM at Epic Games. I run side projects in parallel because shipping is how I figure out what's worth getting serious about. What's in flight is below.

> currently building
> Event platform

Marquee

v0

One platform for the whole event: RSVPs, schedule, photos, group chat. Built for weddings first, running live on ours this September.

stack Next.js · TypeScript · Supabase · Tailwind · Anthropic SDK · Resend · Vercel

Built this because the wedding-tech market is a junkyard and we were drowning in research tabs. Wanted to see if a single platform could carry the whole guest experience: RSVPs, schedule, photos, group chat. Shipping it for our own wedding in September is the deadline.

metric
DAU
target:
Audit in progress
metric
Group engagement
target:
Defining in Marquee audit

The live demo runs on fake events so no real guest data is exposed. The real thing is running privately for our wedding this September.

version history
  • v0 first build. RSVPs, schedule, photos, group chat in one app. running live on our own wedding this September.
> Civic engagement

CivicSwipe

When you strip identity from politics, do shared values predict agreement?

Started this because political tools are either rage-bait or homework. Wanted to test whether a swipe-first format could move people from opinions to shares. There are two questions wrapped together here: can this thing distribute (growth metric), and is the underlying thesis even true (research metric).

metric
Shares / DAU
Growth metric. The viability piece.
target: 0.20
Audit in progress
research metric
Value-alignment under blind conditions
Research metric. The real question. Exact measure defined in CivicSwipe audit.
target:
Measuring
> Consumer fintech

Bandolier

v0.3.0

Bandit-driven stock picker. Strategies that beat the S&P stick around. The rest get killed.

stack Python · pandas · numpy · yfinance · uv · pytest · GitHub Actions · Vercel Blob

Built this to see if a portfolio could be run the way an experimentation platform runs A/B tests. The strategies are arms of a multi-armed bandit; capital flows toward whatever's beating the S&P over a rolling window, and lagging strategies get pruned or mutated. The KPI is dead simple: portfolio return vs the index. If I'm under, I'm wasting time vs. just buying SPY. If I'm over, the strategy has signal.

metric
Return vs S&P 500 (5y)
Median 158% vs 91% (+66pp) over 2021-06 to 2026-05, price-based core. Beat SPY across all 20 RNG seeds; excess ranged +28 to +130pp seed to seed. A risk-adjusted bandit moves capital to whatever's beating the index; laggards get pruned.
+66.4pp
target: > 0
Beating, 20/20 seeds
metric
Sharpe vs S&P 500 (5y)
Median Sharpe 1.11 vs 0.85 (+0.26); even the worst seed (0.95) beats the index. Honest weak spot: drawdown runs a touch deeper than SPY, about -26% vs -25% on the median.
+0.26
target: > 0
Beating, every seed
version history
  • v0.3.0 return-with-guardrails objective (a risk-adjusted bandit plus a hard drawdown breaker), an evolving agent population across a risk spectrum, and a live daily paper-trading track. headline reframed to the reproducible price-based core so the live number does not wobble on a scraped data source.
  • v0.2.0.1 RegimeDefensive arm. real downside defense that parks in cash when the market rolls over, replacing the accidental protection a v0.1 bug had been faking.
  • v0.2.0 engine rework. strategies with no signal now sit out instead of teaching the bandit fake zero returns, plus a shift timeline logging what moved between arms and whether the move paid off.
  • v0.1 the alt-data arms: congressional trades (House + Senate) and Form-4 insider clusters. universe grew to 37 names, with real transaction costs baked in.
  • v0 first cut. Thompson-sampling bandit over 4 price strategies, weekly rebalance, 5-year backtest. proving the allocation math before anything fancy.
βγαθρ
> /ps -A · the other things running

Background processes.

01photographyongoing

amateur. mostly food, friends, and places I'm in. occasionally good.

02guitarweekly

weekly jam group in Seattle. not technically good but having a great time.

03bbq fest audioseasonal

a buddy throws a backyard BBQ music festival every summer. I help him run sound.

04hockeyweekly

pickup when I can get on the ice. more hustle than hands.

05video gamesongoing

lifelong. Donkey Kong Country 2 is the GOAT, no debate. still chasing 102%.

About: PM at Epic Games, ex-Disney and ex-Yahoo. I build a lot of stuff on the side because I get restless, and because shipping is how I figure out where I'd want to start something next. The processes above are the rest of who I am. If you're ever in Seattle, feel free to reach out.