The work

The things I've worked on, and how I came at them.

Less a list of titles, more the actual problems and how I approached them, in the detail a bullet point never gets. Most recent first, starting with Parrot.

2025–Present

Parrot

Type a card on your phone. It shows up in a mailbox, handwritten and stamped.

Founder · Chicago, IL

What it is

A card you make on a screen, mailed as a real one.

Parrot Postage, Parrot for short, turns a card you make on your phone into one that lands in a mailbox. You design it in the app: upload a photo, write a message, and, if you want, let it generate the handwriting and the cover art. Parrot prints it, handwrites the envelope, stamps it, and drops it in the mail through USPS. You watch it move from submitted to delivered.

The positioning is "real beats impressive." The note is meant to read as genuinely from you, so the product pushes toward believable, low-key, human messages rather than the flowery language on a store-bought card. A card runs about seven dollars, all in.

A bowl of printed Parrot Postage greeting cards: Happy Birthday, Thank You, Thinking of You, Girls Night, Bridesmaid, and more.

What I built

The whole thing, from the editor to the print queue.

I built the product and the operations from zero, raised a pre-seed, and hired the first team. It runs as one codebase with four moving parts: a card-creation app that compiles to web, iOS, and Android from a single source; a backend that renders a print-ready PDF matching the on-screen preview exactly; an internal dashboard operators use to work the mail queue from awaiting-print to mailed; and a helper app that drives the physical printer.

The harder parts are the ones that make it feel human: turning a typed message into real handwriting, keeping the printed card pixel-faithful to what you designed, billing on a ledger that never double-charges, and logging every card so nothing gets lost between the screen and the mailbox.

One card, screen to mailboxThe same design becomes a print-ready file, then a physical object. The first half happens on a device; the second half happens on a printer with a stack of stamps.
  1. Designphoto, message, layout
  2. Generatehandwriting and cover art
  3. Rendera print-ready PDF
  4. Printcard printed, envelope handwritten, stamped
  5. Mailinto USPS
  6. Tracksubmitted to delivered
on a screenin the world

Who it's for

One person, a business, or someone else's product.

Three ways to send run on the same rails. Individuals send personal cards. Businesses run bulk campaigns with mail-merge and a personalized card per recipient. And a partner API lets other products call Parrot's handwriting generation and put real handwriting inside their own apps, the first of them being Handfelt.

2024–2026

Three Pillars

Zillow, but for businesses.

Cofounder · Chicago, IL

What it was

Zillow, but for businesses.

Zillow is quietly one of the most fun sites on the internet. You click around a neighborhood and every house wears a number, an estimate of what it is worth, and you never have to ask anyone. Under the hood it is just a pricing model pointed at houses.

Three Pillars did that for companies. You could browse a library of businesses and see what each one was worth and how it was doing, the same click-around curiosity, with businesses in place of houses. We even shipped a Chrome extension: land on any business listing, hit capture, and it would build you the model on the spot.

The catch is that a house hands you clean comps and a business does not. There are no tidy three-statement financials sitting on the corner coffee shop. Getting from almost nothing to a real, defensible number was the whole game.

Capture a listing, get a valuationThis is a re-creation of what it felt like to use, not the actual product. Pick a listing, then click the Three Pillars browser extension. It reads the page, highlights the numbers that matter, and converts it into a valuation you can check against the asking price.
bizforsale.example/riverside-coffee
Riverside CoffeeFOR SALE
Cafe
Asking Price:$450,000
Gross Revenue
$610,000
Real Estate
Leased
Cash Flow (SDE)
$110,000
Established
2019
Business Description

7 years in business

Turnkey, loyal regulars, and fully staffed.

A stand-in for the real interface, which is still live at three-pillars.com. Illustrative businesses and figures, not real listings.

Why I did it

I spent a year on it because the opening was that clear.

Coming out of an MBA I could have taken a normal job. I spent a year on this instead, and not because I like starting companies. For a private business the important numbers are a guess: what it is worth, whether its performance is any good. That judgment has always been gated behind people you pay and degrees you earn, and AI had just made it possible to hand a first draft of it to anyone with a browser.

That kind of opening only shows up once in a while. It was worth a year to find out whether it was real.

How it worked

From a listing to a number you can defend.

Getting there meant working backwards from how a normal model does it. A traditional DCF starts from a top-line growth rate you assume and rides on a few blanket numbers. Three Pillars built the business up from its actual operating units instead, for a coffee shop, down to cups and croissants, then bounded every estimate against reality by reading public-company filings. A cafe pulls a comp like Starbucks' 10-K to anchor revenue per store and employees per store, so hundreds of granular inputs each stay inside what public markets actually show.

And because it was a real structured model, not AI writing a number into a cell, you could interrogate it with a sensitivity analysis across about five hundred inputs.

How it differed from a normal modelA traditional DCF, and the way Three Pillars built one.
Traditional DCFThree Pillars
Starts from
a top-line growth rate you assumethe business's real operating units
Runs on
a handful of blanket assumptionshundreds of granular inputs
Kept honest by
the analyst's judgmentreal benchmarks from public-company filings
Stress-test
a few cells at a time~500 inputs at once
You end with
a number riding on your growth guessa standardized, referenceable model

Illustrative: made to show the approach, not exact data.

The trick

It learned from the ten thousand that already exist.

A new coffee shop feels like a blank page, but it isn't. Thousands are already open, and the big chains publish their economics to the decimal in their 10-Ks. So the model never guessed your shop from scratch. It read the giants' filings for structure, cost ratios, revenue per store, revenue per square foot, and leaned on the crowd of comparable shops for the range. It is the Moneyball move: no single one of them is your business, but in the aggregate they add up to a number you can stand on.

You can't hold ten thousand businesses in your head. Pillars could, and not just for coffee shops. Here is the idea in miniature, one target company you can actually move around:

Where a business landsPillars never showed you this exact picture, but it is the move underneath everything it did: drop a target company into the sea of comparable ones, anchor it with the public names, and read the value that falls out. It ran this automatically, across thousands of comps and hundreds of inputs, for any business, not just coffee shops.
$648,000estimated valuation
Reference companies
comparable companiescompany averagetarget co

Illustrative distribution and figures, not real data.

Play with it

One valuation is a guess. Run it ten thousand times.

A single number pretends to a precision it does not have. The tool's answer was to run the whole model thousands of times over, wiggling every driver at once, and hand you the range instead of a false-precise point. Toggle the drivers and re-run it. Fewer moving parts, tighter spread. This is a stripped-down stand-in for the real thing, which is still live atthree-pillars.com.

Monte Carlo valuationEvery enabled driver varies ±15% at once, 10,000 runs. Bars are the range of what the business is worth; the dashed line is the single-point baseline.
10,000 runs
meanmedianσ5–95%25–75%baseline

Drivers, sorted by impact

Illustrative model and figures, not the real one. A stand-in for the tool at three-pillars.com.

The pull was real

People didn't need convincing.

The enthusiasm in customer discovery was the strongest signal I have ever gotten for anything. I won't name names, but the reaction kept rhyming:

"This is our holy grail."

head of technology, a top-three global fund of funds

"You've answered the question I stay up at night, staring at the ceiling, trying to solve."

a professor at a top business school

"This is exactly what we were looking for."

numerous seasoned executives

It was credible enough that a roughly $100M legal case engaged us to run the valuation.

What it took

I built the machine and rallied the room.

This was not a thin wrapper over a chatbot. I wrote the reasoning agents, the full front and back end, and the gnarly data structures underneath. The hard part of a system like this is the plumbing nobody sees, and I built it.

And I did it close to broke. On almost no money I got PhD and master's level engineers building with me, a bench of pedigreed advisors behind it, a standing working session with a fund of funds, and a development partnership with a leader in the finance industry who wanted in. The budget was tiny. The people around it were not.

A dual build: the system, and the peopleMost of it on a shoestring.
What I built
  • AI reasoning agents
  • A full front and back end
  • Complex data structures under the hood
Who I got in the room
  • PhD and master's engineers out of the University of Chicago, for almost nothing
  • A bench of pedigreed advisors
  • Standing sessions with a fund of funds
  • A development partnership with a finance-industry leader
  • An angel who invested and met with me weekly for six months

How it ended

Why I stopped.

I stopped pushing it. The window to build it into a real business looked like it was closing faster than I expected, with commercial AI getting better at the exact thing that made Three Pillars worth using. I decided that wasn't a bet worth more years of my life, so I put it down and moved on.

The demand was never the question. The timing was.

2022–2025

Skyworks

The numbers behind a plane built to beat the one I used to fly.

Strategy & Finance Associate

The question

Could you build a plane to beat the V-22, and pay for it?

Right after I stopped flying the V-22 Osprey, I spent three years modeling whether someone could build a plane to beat it. At Skyworks I worked directly for the chairman, a former University of Chicago trustee, as the person responsible for one question: was a next-generation aircraft, meant to compete with the Osprey, realistic to develop and to finance? The program contemplated hundreds of millions of dollars of planned investment.

What I built

One integrated model, eight separate aircraft.

I owned and built the full financial model, and not for one aircraft but for eight entirely separate ones. Each needed its own development budget, timeline, testing and prototyping plan, certification path, DCF, and set of fundraising tranches, all wired together so a change in one showed up everywhere. I worked directly with PhD-level engineers to keep the development timelines honest rather than optimistic, because that is the assumption everything else rides on.

One model, eight aircraftEach aircraft ran through the same stack, all connected so leadership could see which programs to fund, and when.
Development budgetTimeline and milestonesTesting and prototypingCertification pathDCF valuationFundraising tranches
× 8 aircraft, wired together into what to build, in what order, and how to fund it.

Where it went

It sized a nine-figure raise.

The model let leadership make the real calls: prioritize requirements, adjust timelines, work out which of the eight aircraft actually mattered, and sharpen the raise. It was solid enough to build the documents behind a nine-figure fundraise. The chairman and board used it, and the board included a former Secretary of Defense and the son of a president. I built the case. I did not present or defend it in the room.

How it ended

The internship ended.

This was an internship, and it ran its course. I left with the model built and a clearer sense of how a nine-figure aircraft program actually gets priced: how much of it comes down to credibility rather than spreadsheets, and how development risk shows up once real money has to move.

2022–2024

reOrbital

Making optical fiber in orbit was the easy part. The bet was doing it fast.

Cofounder · Chicago, IL

The problem

The internet runs on glass with a floor.

Nearly every long-haul internet signal travels as light through silica glass fiber. Silica is cheap and clear, but it has a floor: past roughly 1.5 microns of wavelength it starts absorbing its own signal, so the light fades and has to be caught and re-amplified every so many kilometers down the line.

One glass doesn't have that floor. ZBLAN, a fluoride glass of zirconium, barium, lanthanum, aluminum and sodium, stays clear far deeper into the infrared. In the mid-IR band where silica quits, it can carry a signal with up to about 20× less loss. It has been known since the 1970s. Almost nobody uses it, for one stubborn reason.

A hair-thin thread you sell by the meterPrice per meter, log scale. We planned to price around $900/m (premium specialty territory) and bring back ~50 km per launch.
$0.10$1$100$10,000price per meter →Standard telecom fiber≈ $0.30 / mTop-end specialty fiber · photonic-crystal≈ $200–600 / mSpace-drawn ZBLAN · our projection≈ $900 / m
~$900 per meter  ·  ~50 km of it per launchZBLAN fiber is about as thin as a human hair, so 50 km is a small, light spool. The whole run comes home in one vehicle. Initial estimates; the launch itself we projected near $54K.

Prices per meter: standard single-mode fiber ≈ $0.30 (2025 fiber pricing); photonic-crystal specialty fiber ≈ $200–600 (RP Photonics). The ~$900/m and ~50 km/launch are reOrbital's own initial estimates.

Illustrative: made to show the shape of the argument, not exact data. Don't take the precise numbers as gospel.

Why nobody uses it

On the ground, gravity clouds the glass.

As the drawn glass cools, a crystal can nucleate inside it. It'slighter than the glass around it, so it starts to rise, and rising drags the surrounding glass into motion. That disturbance is what grows the crystal and seeds the next one. On Earth a single nucleus can start the chain. In orbit it has no reason to rise, the glass stays still, and it mostly just sits there. Same cooldown, two gravities:

As the glass cools, one crystal starts a chainIt happens on cooldown, not melting. In tests, 1g crystallizes while 0g stays clear.
1g · Earth
it rises, stirs the glass, and seeds another
0g · Orbit
no rise, no stirring, it just sits
The rising is the trigger: a buoyant crystal drags the glass into motion, and that motion seeds the next. Remove gravity and nothing rises. (Theoretical loss approaches ~0.001 dB/km.)

Illustrative: made to show the shape of the argument, not exact data. Don't take the precise numbers as gospel.

…and this is the fiber you getThe same difference, frozen into the drawn fiber: crystallites cloud the 1g fiber; the microgravity fiber stays clear.
1g · Earthcloudy: light scatters
0g · Orbitclear: light passes
NASA electron micrographs: ZBLAN fiber drawn in 1g is covered in crystallites; the same fiber drawn in microgravity is smooth and clear.A drawn ZBLAN fiber, clear on one side and crystallized/cloudy on the other.
The real thing: NASA electron micrographs of ZBLAN drawn in 1g (crystal-riddled) versus microgravity (µg, clear), beside a drawn-fiber comparison. Images: NASA.

The rendered fibers are illustrative: for the shape of the idea, not exact data. The micrographs are real (credited above).

The real problem

Space fixes the glass. Space is also slow.

The part that mattered: everyone already knew all of the above. NASA and others have drawn ZBLAN in microgravity since the 1990s, and in 2024 a company pulled roughly 12 kilometers of it aboard the ISS. The physics question was settled. The businessquestion wasn't, because the ISS way is painfully slow. You're a guest in someone else's lab, rationed by crew time, and a finished spool can wait months for a ride home on the next return capsule.

reOrbital's whole thesis was that this is a throughput problem, not a physics problem. Put the production on reusable rockets instead of the station: short, dedicated runs (a few days in orbit) that come straight back down and fly again. Many fast cycles beat one long one. That's the number a factory in space lives or dies on: usable fiber returned per unit of time.

Why the vehicle matters more than the furnacereOrbital's framing of the cadence bet.
ISS routeone ~6-month increment · crew-gated · then wait for a return rideReusable~3-day production runs · return · fly again · fly again

Illustrative: made to show the shape of the argument, not exact data. Don't take the precise numbers as gospel.

Why it could work now

The economics only work once launch gets cheap enough.

None of this was settled fact. It was the projection we were building against. A reOrbital run carried roughly 360 kg, so the bill for one launch is just the price per kilogram times ~360. As that price fell, the cost of flying our factory fell with it, from about$54,000/kg on the Shuttle, to $2,700/kgon a reused Falcon 9, toward Starship's $150/kg target.

And it doesn't slide down smoothly. It crosses thresholds. At Shuttle prices one launch runs into the tens of millions: no-go. At reused-Falcon prices it's about $970K, a real but survivable line item: economically viable. At Starship's target it drops near $54K a flight, roughly the ~$60K we were planning around, and cheap enough that the fiber inside is worth far more than the ride: valuable.

What one of our launches would cost, and when it starts to pencilOur projection as we built. A reOrbital run carried ~360 kg, so one launch ≈ $/kg × 360. Log scale; Starship is a target.
NO-GOECONOMICALLY VIABLEVALUABLEcost of one ~360 kg launch$10M$1M$100K$19M / launchShuttle · $54,000/kg$970K / launchFalcon 9 · $2,700/kg$54K / launchStarship · $150/kg

Illustrative: made to show the shape of the argument, not exact data. Don't take the precise numbers as gospel.

The approach

The unproven part was throughput, not physics.

Drawing ZBLAN in orbit wasn't our idea. NASA and others had done it, and the ISS had made kilometers of the stuff. What nobody had really shown was whether you could make enough of it, fast enough, for the economics to hold up. That's the part I worked on: throughput per run, on a vehicle that could fly often enough to matter. It's a narrower and less romantic question than "manufacturing in space," but it's the one the business actually turned on.

I joined a senior space engineer already chasing the process; my job was to turn a promising run into something a customer and an investor could underwrite.

Where it went

Enough people bet on it to keep it alive for two years.

We took it through the New Venture Challenge, Booth's accelerator, and placed 2nd of 65, which came with $280,000. Duality, the national quantum accelerator, took us into its third cohort with another $50,000, and we opened an SBIR to pull in non-dilutive government funding.

  • ~20×less signal loss than silica, in the mid-IR
  • 2nd / 65New Venture Challenge
  • $280Kraised at the NVC
  • $50K+ a Duality cohort seat

How it ended

Why I'm not still doing this.

Fair question, after all those numbers: if one launch could bring back that much fiber, why stop?

Because the piece we'd treated as solved wasn't. The underlying fiber-drawing technology wasn't nearly as mature as we thought, and you can model orbital throughput and price all day, but none of it matters until you can reliably draw good fiber in the first place. That base layer wasn't ready. We pivoted to work on it, but the path to a real product kept getting longer, and after about a year with the venture I moved on.

The economics were real. The technology under them wasn't there yet.

2013–2022

The Osprey years

Nine years as a Marine, most of them in the cockpit of the Osprey.

United States Marine Corps · Osprey pilot and aviation planner

What I flew

A helicopter and an airplane at the same time.

Long before any startup, I spent eight years flying the MV-22B Osprey for the Marine Corps. It lifts off straight up on two big rotors like a helicopter, then tilts those rotors forward and cruises like a turboprop, roughly twice as fast and far as any helicopter can go.

A pen drawing of an MV-22B Osprey tiltrotor in helicopter mode, rotors vertical and landing gear down.

The flying

Moving 24 Marines, in any conditions.

The job under all of it was simple to say and hard to do. Put 24 Marines into a landing zone in enemy territory, day or night, in any weather, on less than six hours' notice, sometimes launching off the deck of an aircraft carrier. Each of those flights was a call you could not take back, with other people's lives in the back of the aircraft.

That kind of work builds one specific thing: a tolerance for irreversible decisions made fast, on incomplete information, with real consequences. It is the tolerance I carried into everything after.

Running the operation

Deciding which aircraft flew each day.

Later I ran current operations, which meant I set the squadron's daily flying. On deployment that was about 48 aircraft across six types, roughly $2B worth, spread over three ships and outside bases; in garrison it was smaller, about a dozen aircraft of one type. The hard part was never the flying. It was the scarce shared resources: competing Navy and Marine Corps priorities, ship positioning and flight-deck access, which Marines had to move and when, and constant re-planning as aircraft broke or readiness changed.

That is resource allocation under uncertainty, the same core problem as running a company's capacity or a portfolio, just with louder failure modes. It taught me that operations is mostly triage, done well, over and over.

Building a tool

Replacing the paper ticket book with software.

I inherited a paper green book for managing every IT and comms request in a 250-person organization. I earned the CompTIA Network+ certification, which none of my peers bothered with, and built a real ticketing system in Microsoft Access. On it I logged roughly twice the request volume of anyone who had held the job, and turnaround dropped by about four business days. A separate fix, running a network line so people used a fixed computer instead of carrying laptops back and forth, gave pilots back more than 500 hours of mission-planning time.

None of it was assigned. It is the same instinct that later had me writing agents and a full-stack app at Three Pillars: find the friction everyone has quietly accepted, and build the thing that removes it.

Liaison to Saudi Arabia

Getting four US warships into a Saudi port.

My last tour was liaison work, and the piece that mattered was bringing four US warships into Jeddah Islamic Port, the first such visit in three years and the largest in a decade. I was the central coordinator. That meant getting the US Navy, the Marine Corps, the Jeddah port authorities, the Saudi Ministry of Defense, the Ministry of Interior, and a line of suppliers all aligned on one plan for the ships to enter, and making sure each side understood the security, logistics, customs, and supply it had to provide. Some of it was tactical, some logistical, a lot of it cultural. The Commanding General recognized the effort when it came off cleanly.

A company would call this program management, or partnerships: getting organizations that do not report to you, and do not share your priorities or your assumptions, to move together on a deadline.