Someone ripped off my product, down to the font, the names of the functions in the code itself, and even the icons…completely coincidentally.
Alright so let’s set the stage a little bit. It’s midnight. One of my developers and I are burning the midnight oil, tirelessly trying to optimize this stupid Chrome Extension called Next Up I had built.
I’m tired, frustrated we have this one remaining bug left before I can sleep. I install my own Extension fresh from the store in hopes this is the last version we’ll ever need to publish, and lo and behold, I see something new under “Related”. Up Next. What in the actual #$@&%*!?
Last year I missed a SUPER important meeting with Amazon for them to invest in my startup, Yac. They were ready to sign and just needed support from some higher ups. I got wrapped up in a brainstorm with one of my designers and completely missed the meeting. My phone didn’t alert me, and Fantastical failed me, hard. I haven’t heard from them since.
I needed a solution, something that just constantly reminded me about what my next meeting was, without it being a full on dedicated calendar app that I would have to check. I’m in my browser all day, so I thought what better way to remind me than if my new tab page simply glared back at me each time I opened it with some giant font of whats up next on my calendar.
So Next Up was born. This was meant to be a super low friction, very simple Chrome Extension with very little effort put into it. We made a sexy logo, designed a cool looking UI, and slapped an Unsplash background generator on it. It was pleasant to look at, and served a nice utilitarian purpose.
Fast forward to present day, burning that oil like I said at the start of this.
Of course, the first thing we do is install the extension. We then rip the code out and start looking at it. (@ow you should really obfuscate your code)
nextEvent vs nextEvents
currentEvent vs currentEvents
sortedEvents.filter vs filteredEvents
Both projects are written in Vue, using Vuex, built on Tailwind CSS.
Even the font we import at the top of our CSS file is the same.
The SVG file we used for our settings icon IS THE SAME EXACT SVG
If anyone reading this uses either extension you might note that Owen Williams uses Google oAuth to retrieve calendar events where we use iCal links. Our method is arguably less sexy, but we had to pivot to this because Google wouldn’t approve our calendar scope request due to using Chrome’s built in Identity API. Somehow Owen was able to get this approved though. You can even see this in our submission video to Google showing the same flow that’s live on Up Next.
Here’s the copy I wrote for the Chrome Webstore page:
A look at what’s up next on your calendar, right in your new tab.
Next Up is a lightweight, beautiful calendar that passively reminds you throughout the day of upcoming events along with the time, a friendly greeting, and the weather. Enjoy a beautiful new background each time you open a new tab along with what's up next for your day and what event is currently happening. Stop missing meetings, block out time for your own work, and stay on track with this simple calendar new tab page.Next Up runs completely local to your browser and doesn't share or store any of your calendar data with our own servers or any 3rd parties. Next Up uses Google Calendar iCal links for read-only, local, 100% private access to your calendar.
Here’s Owen’s
See what’s up next.
See what's next on your calendar, every time you open the new tab page. A simple, beautiful Chrome extension that helps you keep on top of your day, and jump into your next appointment without going to another website.Up Next currently only supports the Chrome browser, using a Google account to access your Calendar. All requests are performed locally, on your machine, and are not sent to any third-party services.
A look at what’s up next vs see what’s up next
lightweight, beautiful calendar vs simple, beautiful calendar
Runs completely local to your browser and not sent to any 3rd parties vs requests performed locally on your machine and not sent to any third-party services
In our internal Slack, I started this on February 28th
Owen made the first git commit regarding Up Next on February 29th.
We uploaded the first public version of Next Up to the Chrome Webstore on April 3rd. Guess when Owen uploaded Up Next? Yep. April 3rd. You can see this via his changelog linked below.
Some might say we have different UI’s; look again. It’s literally the exact same concept.
Owen’s UI shows “Now” on top with “Up Next” underneath it. Instead of saying starts at X time, he says “starts in 13 minutes”, a feature I specifically wanted so I didn’t need to worry about what time it currently was.
Our UI:
Happening Now vs Now
Next Up vs Up Next
While going through all this research, I definitely came to my own conclusion that this was just some massive coincidence. Two makers who happened to think of the same thing, at the same time…and call it the same thing.
Owen did reply on Twitter and according to him started this late January which puts him a month ahead of me.
So what do you think? Was there a glitch in the matrix?