This is a retrospective of my years at Vimeo, and I’m writing it because I’ve been asked to write it. I’m also writing it because it was one of the worst work experiences I’ve had in my career as a software engineer. As unbecoming as it may be for me to do this, such a storied piece of internet culture deserves to have the story told.
It won’t be all bad, I promise!
Vimeo was a beloved (and major) video platform that, for the longest time, was considered the “indie version of YouTube” (a distinction that the C-Suite would later denounce). Despite being overshadowed by YouTube, Vimeo actually came on the scene first, waaay back in 2004.
Even though Vimeo had the first-mover advantage, YouTube had the advantage of just letting users upload copyrighted material and dealing with the lawsuits. Once Google bought YouTube, the platform had basically endless money to spend on lawyers and lawsuits, and eventually music licenses, something Vimeo was way too small to be able to do. That drew a lot of attention and traffic to YouTube, and cemented them as the leading Web 2.0 video website.
Vimeo started as mostly a gag, just something entertaining for its founders Jake Lodwick and Zach Klein.1 The original idea was to be able to stitch together random video clips into funny sequences, which might sound like trivial work in the age of TikTok, IG Reels and Shorts, but back then, you were working with embeddable media browser plugins like QuickTime and Flash. So it was actually quite a feat, and in retrospect, and also prescient of where internet culture and internet media formats would end up (even if the execution was locked up in 2004-era web technologies).
Over the years, Vimeo grew into a more mature platform and became an online center of creative culture. Video makers flocked to the platform because of the clean editing and playback experience, the higher quality video playback (YouTube’s video quality was atrocious in the 00’s and early 2010’s), and of course, Staff Picks.
Still, this engine of online culture struggled with an identity crisis that would go unsolved, and ultimately spell its end.
I was working in the marketing practice of a large public relations firm, based in Manhattan. In spring 2021, hiring for developers was going crazy. I recently looked back at my mailbox where I have LinkedIn notifications filtered to, and there must have been like 300 UNREAD messages in that box from that time period (to say nothing of all the messages I read and responded to). Even though I was generally happy working in the agency, I had a very unique opportunity come through to work as a contract software engineer in the nuclear energy sector, so I broke away.
Inside TerraPower, I worked with the most brilliant minds I’ve ever known, on the Natrium project - one of the first new promising nuclear reactor designs in decades. Through 2021, we accomplished most of what we set out to do, and I think I left the project with a great foundation for the internal/staff team to build upon in the future. I had the chance to present what we’d been working on during all-hands calls, and even to our partners, major industrial titans.
As the nuke contract came to a close, I started looking for my next project or job. After a few months, I had narrowed my options down - a new full-time job at Vimeo, or a 9-month contract with a different agency. The contract opportunity was mostly based around Python development, something I already knew quite well, while Vimeo as a product had more aspects to it, something that I thought would help me grow. I also had great experiences with Vimeo as an end-user inside of the creative agencies I worked at.
I accepted the job at Vimeo and started on 2/14/2022. 💌😘
While I think the identity crisis was always brewing in the background, Vimeo at one point was a really great work environment in spite of it all. I caught the tail-end of that era, just enough to know what the original company culture was like, and it felt like being in a fun, spunky tech company.
Many of the employees working at Vimeo were proud creatives to some degree, whether they were working in support roles, product management, sales, software engineering… much of the staff had interesting stories and life experiences. At one point in Vimeo history, it was almost an unspoken requirement that you were a creative of some stripe to get into the company, and to get that coveted “Staff” badge on your Vimeo account.
My role was to join a newly created team called “Player Tools,” which was responsible for the interactive features of the player (things like info cards that would pop up at specified time codes, settings for end screen layouts, etc.). The team had two developers, including me. The other guy was a talented digital artist based out of Los Angeles and had a knack for front-end development, which was great because most of my background was in back-end development. He also didn’t like PHP, which is what most of Vimeo’s back-end codebase was written in, but I had plenty of previous experience working with it. We worked together pretty well for the first five months, and then everything changed.
Vimeo was always like the awkward kid in class who didn’t understand their own power or capability, and had trouble fitting in because of it. While Jake and Zach clearly had an idea of what the website was when they started it, years of growth mangled it’s identity and parent company, IAC Inc., never really knew what to do with it. Vimeo was not particularly worthless, but it was also not particularly profitable either. In truth, Vimeo had always been a red-headed step child inside of IAC.
At one point, Vimeo framed itself as a toe-to-toe competitor with YouTube, then Vimeo framed itself as a competitor to Netflix’s streaming service, then it was a SaaS app for professionals and creatives who cared about video. Nothing really stuck, except our creative user base. And then it went public.
In May 2021, Anjali Sud, the then CEO of Vimeo, along with Mark Kornfilt (then “co-CEO”), wrested Vimeo out of the hands of IAC (who was all too eager to let it happen) and took Vimeo public. The foundation of this IPO was built on the success of the COVID-era boom that pushed communication through online mediums out of sheer desperation. Going public offered Vimeo an opportunity to get away from being just another IAC property (and a loathed one, at that), and to finally allow Vimeo to figure out what it wanted to be when it grew up.
Vimeo stock IPO’d at $52, and within a year, lost 85% of its value, trending down to just $8.42 by the end of May 2022. As we entered 2022, many states and localities had started easing up on lockdown restrictions, which hurt not just Vimeo, but many other tech companies as well. By the end of the summer of 2022, the tech sector had entered an unspoken recession, encasing the carnage at Vimeo in a cement tomb that it’d never be able to break free from.
Internally, we didn’t realize just how bad it had gotten until we were surprised with a shock round of layoffs that would go on to completely changed the tone of the company. Anjali Sud announced the layoffs in July 2022, which touched nearly every department of the company. I think Anjali truly regretted having to carry out a RIF, and was about as kind and as empathetic as she possibly could have been, even offering to allow affected employees to keep their work laptops as a personal laptop so they’d have something to use to help them find their next job. A gesture that was probably the last glimpse of “old Vimeo” we’d see.
The new Vimeo was no longer going to be the “indie version of YouTube,” of the hippy creatives with lava lamps sitting on their desks and musical instruments in their zoom backgrounds. We were going to be serious and take on the enterprise SaaS market.
The change in direction to being an enterprise SaaS company was not uniformly popular. Most of management seemed to believe in the opportunity for Vimeo in that space, but lower-level staff, those free-spirited creatives who just happened to end up in a tech job, found this to be anathema. Dissent roiled through the company, and an embattled Anjali called a town hall to address it. She offered anyone unhappy with the new direction a severance package, and asked those who opted to stay at Vimeo for their trust.
The layoffs marked a departure from the existing strategy of existing and being a hodgepodge of use-cases aimed at a varied target audience. This was a big change in our mission, and went through a complete reorganization to align ourselves internally. My team of two was absorbed into another team that had been brought into Vimeo through an acqui-hire deal.
I moved onto my new team, which was a little awkward at first. There were definitely some culture clashes for me and the other developer I had been working with. We’d been used to Vimeo’s culture of slower, gradual changes. Any change, any mistake, could affect millions of users, so the engineering culture of Vimeo was geared more toward caution and accuracy than clicking merge buttons and closing PRs so line go up and to the right.
The acqui-hired team was used to just doing shit and shipping it to prod, dealing with the consequences and learning from the mistakes. They were bred in a scrappy startup environment, and definitely brought those tendencies with them.
I made an effort to get to know our new team members by setting up video calls with each of them individually, and found an interesting group made up of mostly British chaps scattered around the UK and around the world. Eventually our new combined team got used to each other, even going as far as making shared Spotify playlists, and the acqui-hired team got folded into the slower Vimeo way of doing things.
In the fall of 2022, Vimeo underwent another internal reorganization (yes, just months later!). Our team stayed intact, however our team’s “charter” completely changed. We’d be working on refreshing the “viewing surface”2 of Vimeo, which you’d know as the page that you land on when you’re playing back a video, the page with the player, the comments, the related clips. This is one of the most trafficked and highly visible pages on the entire website, which sounds exciting. It would ultimately be my own undoing.
Before we get to the Viewer Home project, I’d be remiss to not tell the story of the “Sunset Hide From Vimeo” project.
For much of 2023, the other Vimeo developer and I worked together on a project that aimed to simplify the privacy options for videos on the website. This work was part of our Anjali-directed pivot away from being “the indie version of YouTube” and into an enterprise product.
The Hide from Vimeo setting only made sense in the context of a social platform, but even then, it often caused confusion on what exactly it did. Sure, its functionality was in the name - it “hid” videos from appearing on other parts of the website - but it didn’t actually make videos private, it just made them undiscoverable. We actually had a dedicated setting, aptly named Private that would make the video only available to yourself when logged in. There were also a few points of overlap and vintage subtleties between Hide From Vimeo and Unlisted.
Our team’s thinking was to be as “gentle” as we possible could to our user base. We were going to move the Hide from Vimeo setting into a checkbox that would appear under Unlisted. We’d then migrate everyone’s videos to the newer configuration behind the scenes. It was kind of like a “let’s consolidate privacy modes but we’ll trick users into thinking they still have Hide from Vimeo by just naming the new sub-setting the same thing.”
The other developer and I worked on this project through the first half of 2023, without the involvement of the acqui-hired team. This project kind of became a running joke, with the acqui-hired team unable to understand why it was taking us so long to get out of the “Sunset Hide From Vimeo” rut. But the truth was that the people who had implemented these privacy settings had long left the company, and that no one, not even the principal software engineers really knew how this worked, and what parts of the site it was tied into. We had to do a deep dive through parts of the codebase that hadn’t been touched in half a decade, and we found plenty of surfaces and code that was out of date if not completely broken. This meant that we had to fix or write entirely new unit tests to match spec.
Still, we pressed on.
Removing the setting from appearing in the menu wasn’t difficult, but the project spiraled into a major TLC project that would improve and refine areas of the website that my team wasn’t responsible for. Throughout the development cycle, we had to chase reviews, competing priorities and sometimes, outright resistance from owners of those product areas.
One of the last areas was the Vimeo web API, which I was handling.
The team that owned the API were top-notch sharp-shooters, yet still very friendly and helpful in interactions. They had to be, because the Vimeo API is huge and complex, and a lot of other teams were relying on them.
To build and maintain a public API as large as Vimeo’s, you need to imagine the use-cases, and then be able to hold in your head, all of the variables and combinations of settings that might be used and make sure they play nicely with each other. The task of deprecating the Hide from Vimeo privacy option in the API was not so simple as removing it from the menu.
The approach decided on was to be as backward compatible as possible, again out of care for our users. We’d remove Hide From Vimeo as a published privacy option in the API, we’d quietly upgrade video uploads that were still using the older setting to the newer setting configuration, and the website would prefer the newer setting configuration for display.
I worked with the API team to implement, document, write tests, and with QA to validate behaviors.
We were finally ready for launch. My manager clicked the merge button and this massive change got deployed to production. He then went on vacation for a week. I was aware of neither.
When I logged back on to work the next week, my Slack was on fire and meetings were added to my calendar. Apparently support had been fielding issues from customers all weekend, apparently video settings weren’t working properly and videos were getting marked as Unlisted and users were unable to change them. Customers were confused, and they were demanding to have the Hide from Vimeo setting back. Now support was coming for the throat of our product manager, and I got pulled into what I can only describe as an engineering tribunal with senior engineers, directors and VPs.
I faced this as the lone representative of my team, and it was a brutal experience. The stuff that was said to me was surprisingly emotionally charged, I think they actually wanted me to panic and breakdown in tears. It took everything in me to not fire back, to restrain, to not acknowledge the vitriol and personal attacks, and continually redirect the dialog to actually solving the problem instead of getting wrapped up in emotions. I think that made them even angrier.
It turned out that there were two problems. There was one use-case that I didn’t discover in my technical audit of the API that a large and important customer relied on. There was also a glitch in the React-powered interface that made up the menu options/privacy selector dialog that users used.
I argued that both were fixable on short-turnaround, but by that point, my team’s product manager was too rattled and demanded that we roll back ALL of the changes, which meant also rolling back all of the TLC maintenance work we did on older parts of the website, too.
I was the one to click the undo button, and I was the one who had to clean up the mess made in the database - a surprisingly tricky and slow task given how large the Vimeo databases are. I sat at my desk with sweat oozing out of my palms watching my “fixer” script run through batches of video files, for hours and hours, over the span of several days.
The development cycle at Vimeo was slow, cautious, and meticulous. Too slow, many felt. To run a CI/CD, where an entire copy of the website would get generated and deployed to a testing environment, would take upwards of a half-hour. It was always a good idea to have at least another task to flip over to while waiting for builds to finish.
Yet despite the tendency towards precaution, bugs kept surfacing, mostly from older, un-maintained code. When you’d check the git annotations, you’d see that the file was last touched, in say, 2013. I found something funny in one of the files left behind by a former Vimean. It was funny enough that I actually found him on LinkedIn and sent him an InMail and had a short conversation with him. Turns out that after Vimeo, he joined Apple.
Back at Vimeo, engineering and QA staff continued to bicker about how things were actually supposed to work inside the product. We weren’t quite paralyzed, but we were having major issues with being productive and ensuring quality.
Engineering leadership decided that we needed to pay off technical debt, which actually slowed us down even more.
While there was plenty of complaining about technical debt in engineering town hall meetings, none of us was clued in about what was coming.
All of the sudden, lowly L2 and L3 staff engineers started getting… uh… very stringent code reviews from Jake Oliver, one of the absolute legends of Vimeo (so legendary I’m mentioning him by name). Jake had been around at Vimeo for a long time, not since the beginning (IIRC), but since the very early days. He was who all of the principal engineers looked up to for guidance and leadership.
Jake wanted documentation, and he wanted the documentation written in the form of unit tests.
This period at Vimeo was extremely annoying.
You’d have a nicely defined, minimalistic pull request that touched only the very things it needed to, a nicely contained unit of work, get ready to merge it into the production codebase, and then get blown up with requests to write or fix unit tests that were maybe only tangentially related. Jake was trying to make it impossible for us to “defer” maintenance by tying this work in with actual product work, which I understood it, but also resented.
In my eyes, a good pull request is one where you can cleanly roll back the changes made without having it affect or degrade anything else. How stupid, was it then, to say “mmm yep, actually we decided against this feature, roll it back” and then have unit tests for unrelated stuff that you spent time writing, getting rolled back as well?
Jake almost certainly doesn’t remember me, but we did clash in those PRs. Eventually I just started creating parallel PRs when he’d ask for unit tests, PRs that contained only those extraneous unit tests, and then point him there.
The problem with code quality was, in my opinion, not that we didn’t have enough unit tests, but more foundational. We had too much of a hodgepodge of application architectures going on. There was the legacy PHP code which rendered webpages on the servers, and then there was the “new world” Vimeo which was entirely reliant on React and TypeScript and a kind of “thick client” architecture, and they didn’t always merge and mesh together very well. We also had duplicated code all over the place - logic to handle, say, video viewing permissions, in both the old world and the new world, and in the public API! It was difficult to find every nook and cranny, and no matter how detailed and deep of a technical audit engineers did, life simply… found a way to surface side effects in some other area of the codebase.
While it was before my time, I did pick up on rumors and stories of past engineers who wanted to push Vimeo towards a micro services architecture. I’m not entirely sure what happened, but the CTO at the time, the late Naren Venkataraman, had a strong preference for maintaining the existing mono-repo, and he wielded his power and influence to keep it that way. The disgruntled, insurgent micro service engineers ended up moving on from Vimeo, I believe.
2023 was a year mostly of stagnation in my professional life. The Hide from Vimeo project seemed to drag on and on before meeting its tragic demise. People from my team got roped into random side-quests, and we were kind of without focus. My creative energy turned outward, and I started creating a rather “college try” video series of restoring old Macintosh computers, a hobby I’d had for years. The format would be simple (because what did I know about producing video?): I’d record a time-lapse video of a restoration project and then do a voice over on top where I’d talk about Apple history, problems and solutions I ran into while doing the restorations, and other tech geek nostalgia.
I started uploading videos to Vimeo, actually using what I built myself, and I started seeing the problems our users were complaining about on Reddit and other online forums.
I wrote my thoughts down and scheduled a chat with my team’s product manager, who was one of the best product managers inside of Vimeo. I peppered him with my thoughts, pressed him on how we could be in an age of booming video consumption with a decades lead on everybody else but YouTube, but still be falling behind in mindshare and usage.
His response? Approximately something like, “Yeah, I agree with you on all of that, and I’ve said much of it myself. The problem is that Vimeo DOES have these social network roots, but enterprise is a very different space and they value very different things. Vimeo is designed as a single tenant application. Our competitors, like BrightCove, simply spin up a whole new copy of BrightCove and can make all sorts of tweaks and adjustments specific to that customer. We’re trying to achieve that same capacity for customization, but in a very different way.”
By mid-2023, Anjali Sud was visibly annoyed any time employees brought up the issue of the stock price during all-hands meetings. Many Vimeo employees had been granted Restricted Stock Units (or RSUs) as part of their compensation package. If the stock performed poorly, then that meant that your Total Compensation (or TC) was actually lower than what you were promised when you signed on. That was a reality for almost all of us (including myself).
As a mostly remote company, Vimeo used an online Q&A service that allowed meeting participants to submit questions during these town hall meetings from wherever they were physically located. Other participants could upvote questions and have them pushed up the list. It was about that same time that Anjali took away the ability to submit questions anonymously, as the questions being submitted started getting more tense and pointed. This decision was highly unpopular, but Anjali strongly defended it, saying that while most questions were polite and shouldn’t require anonymity, it was enabling employees to submit questions that were unprofessional.
By the end of summer 2023, Anjali announced that she’d be leaving Vimeo and starting at Tubi, which was a shock to all of us. While the company culture had been changing slowly, this was the “all at once” part of the equation. Vimeo had no successor named, so Adam Gross, one of Vimeo’s board members, was placed in an interim CEO role.
Adam Gross had an excellent track record in entrepreneurialism and in running companies, was well articulated and charismatic. He was also enthusiastic about Vimeo and that brought a new energy to the company internally. I don’t think any of us thought we were “out of the woods,” so to speak, but I think there was hope that a change in leadership might help right the ship.
Throughout his short tenure, the Adam Gross playbook seemed like we’d continue down the path towards Enterprise SaaS that Anjali laid out, which at this stage, involved not only product, but also sales. Sales had already long started changing the way our product and services were priced. This increasingly caused pandemonium with our creative user base, as Patreon had been recommending their users to use Vimeo for video uploads.3 This also caused pandemonium with, well, honestly, who didn’t it upset?
At one point, I had desperate customers sending me InMail messages on LinkedIn to try and escalate support and billing issues. Sales held customers at gunpoint, taking their accounts offline, until they agreed to enter a multi-thousand dollar enterprise agreement. Our users fled, trashed us in online forums and in news articles, compared us (poorly) to Frame.io and YouTube, and vowed to never return.
The bludgeon was bandwidth. Particularly to create a sales model that was priced by the gigabyte. Sales decided to run analysis on user accounts and look at bandwidth usage statistics. We were told that the only the accounts with the top 2% (or 3%?) of usage would be asked to upgrade to an Enterprise plan. Big mistake.
For example, a single person with a Vimeo account who just happened to go Internet viral might be forced to upgrade to a custom (multi-thousand dollar) enterprise plan, a plan that included SSO and various other tools and integrations and capabilities that would only make sense for an actual incorporated company.
I was never privy to the decisions or thinking behind treating our customers this way, but most staff felt that this was shortsighted and resented the change being forced on our users. The potential lasting reputational harm seemed excruciatingly obvious, and unfortunately, we were correct. Once our users were gone (and they did leave), once their trust was broken (and it was), they didn’t come back, and it haunted us in our self-serve financials.
Future Vimeo CEO Phil Moyer nipped the predatory enterprise sales tactics shortly after he arrived. This was followed with newly increased prices of the base plans, which included additional bandwidth, and for the first time, allowed users to simply buy some extra bandwidth when needed, almost like an in-app purchase on iOS. This was a major step in the right direction, even if too little too late, but left it unclear exactly what our position in the enterprise space would be.
The monthly town halls weren’t just for needling executives about stock price, they were also an outlet for financial jargon, the kind that almost always lets you know the party is over just by mere utterance: EBITDA. (Also known as raw profitability, before expenses are factored in.)
Gillian Munson, Chief Financial Officer, was one of the more competent and visible members of the Vimeo C-Suite, both internally and externally. Gillian came across as exacting and coldly professional, an odd fit for Vimeo but just the kind of character you’d want representing your organization to the jackals and hyenas that live in the world of finance. She was paid handsomely for it, according to official Vimeo public financial filings, and most of us in the rank and file were of the opinion of, “damn, but let her have it.”
The odd thing about Vimeo is that it was actually cash-rich - sitting on north of $300m in cash. This actually became a profit-center itself for Vimeo as the Federal Reserve raised interest rates to try and slow down inflation.
Gillian used these meetings to report sorta-rosy-ish financial metrics, often describing our position as “almost rounding the corner.” To what, and from what, most of us wondered?
Since the layoff shock in mid-2022, we’d been essentially operating in austerity, with the wrench tightening a little more every few months. It didn’t just show up in the constant reorganizations and shifting priorities, but also in our benefits and compensation. We often wondered what this actually meant for the health of the company.
When I started in 2022, we were given a $500/year “wellness stipend” to use on gym memberships, yoga studios, health clubs. I actually used mine on ballroom dance lessons. That got revoked at the end of 2022, instead 2023 offered a membership to Peloton, a gesture, but alas a mostly useless one. And eventually I believe any health or wellness stipend evaporated altogether. Our health insurance premiums skyrocketed - especially for families, although this wasn’t unique to Vimeo, most other corporate drones at other companies experienced the same.
As a final act before departing Vimeo in mid-2023, Chief People Officer Crystal Boysen, was made to address the company and break news to staff that several half-days before holidays would no longer be scheduled company-wide.
In 2022, heading into 2023, employees complained about these changes in internal Slack channels. By the time 2023 to 2024 was rolling around, most of the complainers had been laid off or resigned, and everyone left had been brow-beaten into just being happy to still have a job at all.
The management culture of Vimeo, was run in a tight-lipped, need-to-know basis that rivals what you might expect out of intelligence agencies like the NSA or CIA. It should come as no surprise that none of us imagined that Adam’s real agenda was to undo the IPO and find a private buyer.
In March 2024, employees woke up to headlines of Bending Spoons’ acquisition of Vimeo, and it sent shockwaves through the company. Bending Spoons, an Italian private equity/accelerator, infamous for purchasing flailing American tech companies, laying off most employees, importing the project to Italy and running it off of a lean team meant that most of us were going to be ex-Vimeans if the deal went through. We didn’t even know we were on the table to be sold. Slack channels lit up, and so did the internal Vimeo message board on Blind.
The initial Bending Spoons acquisition fell through, and Adam Gross quietly resigned soon after. This time, however Vimeo had selected Phil Moyer, an ex-Google executive as a successor.
By the time I left Vimeo in 2024, the entire C-Suite had completely turned over. In some roles, more than once.
Each layoff, each reorganization and each executive that filed in/out, every esteemed colleague who moved on, killed morale just a little bit more.

In fall 2023, Vimeo underwent another reorganization, and I admit I’d lost count by this point. Teams were dissolved, engineers and managers were shuffled around onto both new and existing projects. Our team stayed intact, again, and our charter remained the same, but our management structure did not.
We were moved under a different director, who set up individual introductory calls with all of us. Within the first five minutes of my call, I knew I was hosed.
The call started fine with personal introductions, and then we started talking about the team and the upcoming Viewer Home project. I said that I primarily had been working on back-end tasks, and was met with a response of “…and what do you do?”
That was the first signal that I wasn’t going to be needed on the Viewer Home team, but my direct manager didn’t know what to do with me. I think we all knew it, my manager didn’t want to face it. The reorganization had brought in talented React developers from other teams, and Viewer Home was almost purely a front-end-based project. React and TypeScript: anathema to my sensibilities.
I’m honestly unsure about posting a photo of my former colleagues, attaching anyone or responsibility to anyone other than myself for these words, but I’m doing it because I think it’s so easy for the internet to bash Vimeo without realizing that there was real people who gave a damn, people who put their thought and creativity behind every button you clicked. These are the people who loved you from the other side of the internet connection.

The Viewer Home project was one of the major new projects that would help Vimeo (hopefully) achieve parity with our competitors in the enterprise space. It needed to be flexible enough to still support (what was left of) our creative base and other “self-serve” users, while also being deeply customizable for our demanding enterprise clients.
Before we started work, Vimeo actually had two web-based “viewing surfaces.” There was the public player page, which actually lived in “old Vimeo” world as a templated PHP page (with caching up the wazoo!) and was only used for videos with the Public privacy mode, and a newer “viewing surface” that was maintained by the “Workflow” team and handled Unlisted, Password Protected and Private video modes. Our job was to merge these two surfaces, and then expand upon.
We started doing technical audits in earnest in September 2023. This was a huge project and none of us wanted the risk of another “Sunset Hide from Vimeo” outcome.4 At about the same time, I started noticing HTMX around online and read through Carson Gross’ Hypermedia Systems book. It completely changed my stance on software architectures - not in that it challenged me, but more so that it validated what I’d been seeing in various forms for years.
In 2019, I installed a copy of Mac OS X 10.3 Panther Server (eBay purchase) on a PowerMac G4 Digital Audio and rediscovered the Sherlock app. My developer brain got curious and I started inspecting the application (Show Package Contents…) and looking at its (long archived) documentation. The concept really stood out to me. I also noticed similarities between Sherlock and TVML on the AppleTV, but for the first time, since reading Hypermedia Systems, I had the language to understand what I was seeing and I was enthralled.
That enthrallment was quickly curbed when we learned that the new Viewer Home surface would in fact be developed using React, NextJS and TypeScript, three things I absolutely hate. And now I had justification to hate (thanks Carson!).
Team members who came from the acqui-hired team quickly jumped into place, they had a lot of experience working on React and Next applications. My other team members at Vimeo all preferred front-end development and took to the stack with ease. As an Umbraco, Django, PHP-style developer who’d invested into VueJS and who now wanted to explore and build in the world of hypermedia systems, I was totally in the wrong place at totally the wrong time.
Still, there was no where else for me to really go, as the reorganizations nixed teams and projects, some of which were actually profitable, so I was kind of stuck. I was given the least front-endy tasks to work on, in particular, I’d be working on the implementing the analytics subsystem - tracking all of those clicks and interactions.
Vimeo had its own analytics subsystem, which would route events to various analytics tools - Snowflake, DataDog, Amplitude, probably others that I can no longer remember. In 2023, the team responsible for that subsystem rewrote a newer version that would work with Typescript, and would support strongly typed data. This was important work, as more and more of Vimeo was moving away from server-generated views and towards the React/Next/TS stack, but boy was it annoying.
In the first week of December 2023, I raised the alarm bell in one of the Viewer Home team meetings. I assessed that version 2 of the analytics subsystem simply was not ready for production use, and that trying to integrate it at this stage would be a risk to our timelines. I had a few reasons for concern, the first being that it hadn’t seen much usage yet, we’d be one of the first teams using it and on a very high visibility page. Second: most of the team that built it had left the company.
To my dismay, I was entirely correct. Even more to my dismay, I was told that we had to use version 2.
There were bugs and issues inside of the library itself that made sending events unreliable. The Typescript types were excruciatingly annoying to work with (and added little value). The documentation was completely incorrect. The process for managing integration of events so that they’d flow to the right places and dashboards was mostly undefined.
I ended up fixing bugs in the library, finding issues and rewriting sections of documentation, and helping develop the process for managing analytic events after the original team left. I then had to come back and actually implement everything over Viewer Home, which frankly, felt like I was just adding a layer of slop.
We shipped Viewer Home successfully and without having to roll back, but not all of the analytics events were in place and ready. After filing requests for new events, it could take days for the right people to implement them in various systems, which meant that the Typescript types you needed might take 2-3 days for to become available, and you’d be stuck with broken CI/CD builds in the meantime.
Shortly after, my team members needed to add their own analytics events. I, luckily, was able to guide them through the process, gave them the cheat codes on who to talk to, what to say, and working sample code to reference.
The feedback I later got in my mid-year review was that the director noticed that it took everyone else a fraction of the time to get analytics work completed, that my performance wasn’t adequate, and that I was going to be put on a PIP. I felt the world open up underneath me.
I met Phil Moyer just once before I resigned from Vimeo, on a rooftop bar in Manhattan. Vimeo was throwing a summer party, and in typical New York style, it just had to be a rooftop bar. I had just walked up when I saw someone getting dragged out of the bar with a very sick look on their face. I have no idea how they got that person down the stairs, but indeed the drinks were mixed quite strongly!
Phil was very new to the company at that point and he made a point of mingling with the rank and file at this summer party. Some employees were intimidated, but I found Phil to actually be quite social and easy to talk to, and while I don’t feel like he was being ingenue with us, it was almost like he was trained conversationalist and was simply flexing a muscle. When he started heading towards the exit, I noticed that he kind of deflated back into a more introverted version of himself.
He and I had a nice discussion about nuclear energy - it turns out that he had previously worked in the nuclear industry as well.
Earlier I wrote that Vimeo was the worst work experience I ever had. I stand by that, not because of the people - I still have lot of love in my heart for Vimeans and my old team. Not because I was cornered in a tech stack that I loathed. Not because of the unceremonious PIP ending. It was the worst work experience I ever had because so much of my work was rolled back, the constant whipsawing between priorities, the change of direction in company goals, the lack of identity. It felt like 2.5 years of aimless wandering.
It was hardly in isolation, though. It was the natural outcome from a kinda successful, beloved company that simply couldn’t figure out who and what it wanted to be. Bad leadership and decisions were made at every level along the way, but I’m not sure the fate of Vimeo could have been changed. Sometimes quirky, cozy things can just exist, without being a runaway smash success.
I ended up resigning before they could actually carry out the PIP process. Many people would have told me to wait it out and get the severance payout, but for the first time in 2.5 years, I felt like I actually had decisive direction and started to feel “real” again. I had also already landed a part-time web development gig at the local university (that I’d actually applied for during the first Bending Spoons scare), had a few freelance client projects lined up to carry me into 2025, and had fresh inspiration for a new hypermedia-based product, something that eventually became known as FastGooey.
Of course, I’m not innocent. I’ve been watching Vimeo from the outside ever since, wondering just like the rest of you when the actual implosion would happen. On September 10, 2025, Bending Spoons entered into an agreement to purchase Vimeo, finally fixing that whole issue of the stock price.
I can’t say where things go for Vimeo from here, or what Bending Spoons has planned, but I can say without a doubt that Vimeo cannot be Vimeo without the creatives that gave it a quirky life, and also gave it a tornado of an identity crisis.
As for me, I’ll be here on Substack, or on… YouTube… where I post updates about FastGooey and other software development related topics.
This article caught some traction and spurred interesting conversations and questions. I’ve wrapped up some of my thoughts in a follow up article, linked below.





