Starting Graphite

December 3, 2025 • Greg Foster

My cofounders and I go way back, over a decade at this point. I met Merrill and Tomas at Harvard. Tomas and I were both class of 2017, and since we had coded a bunch in high school, we skipped ahead into CS61, a systems course that was normally the third CS class you took. There were a handful of freshmen in the class, all of whom were at the time, and since have continued to be, legends - Gabriel Guimarães, Jared Pochtar, Jonah Kallenbach, etc.

Tomas and I got to know each other taking the class, and later that summer we solidified our friendship as roommates during our first summer internship out in San Francisco. We went on to be project partners in basically every CS class in college, as well as repeat roommates during tech internships. I remember taking CS161, a difficult operating systems class, where Tomas would stay up later than me coding, then crash around 3am, and I would pick up the codebase around 6am. Our mismatched circadian rhythms gave us almost round-the-clock coverage. We took a graduate-level computer security class where we harassed James Mickens to no end as his two most die-hard fans. We co-led HackHarvard, and I helped Tomas create “Summer Camp” - a summer club of Harvard CS interns in SF that mainly existed as a vehicle to get tech companies to buy us dinners.

Merrill was two years older than us and was involved in the various venture clubs on campus. We first crossed paths at a Harvard Computer Science club party. Merrill took a year off to create a YC company with Eric Schultz, and later sold the company and came back to finish college, which helped close the age gap between us at school.

During Tomas and my junior summer, we agreed to try and get internships in NYC. It was exciting and felt aspirational - only the best interns, supposedly, got spots there, and the rumor was that you would end up taking a pay cut. Tomas got a job at Facebook NY, and I landed an internship at Google on the Docs team in NYC. Last minute, though, Google offered me the chance to join an iOS prototyping team in the Bay. The offer was too tempting, and way more exciting-sounding than working on Google Docs. I was somewhat right - that team led to me working at Google’s Area 120 that summer and earning my name on a face-tracking patent.

Tomas and Merrill both graduated and went straight to New York to work, Tomas continuing with his Facebook team. I rejoined Airbnb, where I had worked a past internship. I interviewed under the iOS specialist track and somewhat hacked the interviews. I was told in advance that the interview would consist of a 2-hour live coding exercise where I would need to build or extend some iOS app. I would have to work off their template project, but I would be allowed to import any libraries or technologies I wanted.

In a feat of tryhardism, I guessed I would need to build some sort of app browsing an iOS scroll table of listings. I spent 20 hours the weekend before my interview coding an advanced and extremely custom library for beautifully scrolling through resizable table cells, each expanding as it was passed over to show big listing images. Then I published the library open source. Come the interview, I found my prediction of the prompt correct and immediately imported my library. My “2-hour” coding interview consisted of ~22 hours of work rather than two, and I passed, despite the extreme confusion of my interviewers. I knew as a newgrad you need to do everything in your power to pass, and I was not taking any chances.

Coming into Airbnb as a newgrad, I found myself joining my former intern buddy's team, led by Zane Claes. He was an early iOS engineer on Airbnb's famously designed iOS app, and it felt like the perfect team for me to join. Last minute, though, he was reorged to lead the Airbnb notifications team - the infra backing all emails, SMS, and push notifications.

This team was fascinating. Ultra-heavy scheduled workloads sending tens of millions of notifications, high throughput SMS piping, critical uptime needs, the largest DB tables at the company, RabbitMQ and Kafka queues, and more. Coming in, I knew nothing. I was an iOS engineer awash in infra.

To ramp, I offered to be permanent on-call secondary, and eventually primary. I also volunteered for the company-wide SRE rotation, and later as the deploy train manager. I figured - correctly - that sitting front row on every incident would build my skills fast. And I was right. I started learning how to debug in an incident, and that most solutions just needed a rollback.

I remember so many eye-opening moments - my teammate explaining to me what Kafka was, reading Designing Data-Intensive Applications and other textbooks, getting paged almost nightly as product teams hammered our notification servers with millions of requests all timed for midnight. It was not until a director came by our team meeting one day and shruggingly suggested that we just throttle internal requests that it clicked. You can do that, I thought, in amazement. Just error requests from other teams. The team was thankless, but it was a masterclass in infrastructure engineering. I broke a lot of things, and after enough Ruby-typo prod errors I realized I was legitimately dyslexic, but I still learned and got better.

Eventually, I wanted more and sought out a new manager. I asked around the company who the most intense manager was, and everyone I asked told me "Willie Yao." I joined his devtools team, and later the continuous delivery team. I helped build Airbnb's test data creation systems, push notification services, internal CLI, auto-rollback systems for deployments, and more. For a year I volunteered mornings, nights, and weekends on their prototyping team trying to help create an experimental Apple TV app. I do not think I was ever the greatest engineer at Airbnb, but I absorbed knowledge like a sponge and became extremely fluent in technical architecture, infra, and dev ops. I also built a great friendship with Willie, who later went on to be an eng lead at Notion and then Clay.

All this intense engineering was the perfect education for building Graphite. I became obsessed with not just how to code great systems, but how engineers should build. The meta problem. How should you code review, deploy, write the cleanest code. Building at Airbnb was fun, but it was limiting - I could only create impact for 1–2k other engineers at the company.

The whole time I was working there, I stayed in touch with Merrill and Tomas. We always knew we wanted to create a company one day - all those startup clubs in college were not for nothing. Each quarter we would check in and see if we were ready to make the jump, but the timing was never right. One moment someone was getting promoted, another moment their tech had just open sourced. Finally, three years after I graduated, the stars aligned. Late 2019 we started plotting to quit and work together. Tomas and Merrill were both based in NYC, and I did not hate an excuse to get out of SOMA. I had a blast engineering at Airbnb, but my social life had taken a hit and I had little love for the city. Living in deep SOMA in the late 2010s as an over-frugal newgrad will do that to you.

Jan 1st, 2020, right after holiday break, we gave our notices. It was us taking the first step, the point of no return. We had three months notice - something my manager told me was crazy but very nice. For three months, I helped offboard my ownership, and by the end my team was cheering me on to create the startup. We did an early hackathon with the VC group Neo for the fun of it, where we met the Cursor and Kalshi teams in passing. I moved to NYC in early March 2020, sleeping on Tomas’ couch.

We decided to raise a seed round immediately, at the start of March. Merrill had created a company before, and I trusted his confidence that we could do it. Armed with just a pitch deck, we made the rounds to various VCs, calling in our humble connections and favors. I got to check an item off my bucket list pitching to Alfred Lin in person in the Sequoia office (he politely passed). Folks hated our first idea, but loved our team.

Raising was weird, because Covid was just picking up. At the time, everyone thought it was contact based, and everyone was elbow tapping and foot bumping. We would enter a crowded 20 person board room, elbow tap, hand sanitize, and then proceed to close the door and pitch in a tight enclosure for an hour.

Like Indiana Jones sliding under a closing stone door, we were able to secure a few term sheets right before Covid closed down fundraising. We accepted one from Homebrew (amazing partners the whole way through). Then we hunkered down and began coding. Grind. There was nothing to do but code - lockdown was upon us, so there was basically no opportunity cost. Our first two ideas: dev tools to catch bugs, and roll back bad releases. These ideas, while we eventually pivoted away, blossomed out of our work experiences and all that I had learned from Airbnb. I also learned that Typescript is the way to go if you want a compiler to catch your dyslexic typos.

Perhaps the most important part of creating Graphite ended up being the seven years before creating it. Taking hard CS classes, making deep friendships with my future cofounders, and cutting my teeth at Airbnb. I was driven by a love of working with friends on cutting edge engineering - and to this day that still drives me.

← Home