Grading our 2023 predictions

Issue #248.December 21, 2023.2 Minute read.

Today’s issue: CSS that will break your brain, writing everything you know about Unicode on the back of a ticket stub, and applying for the role of an Eigensolutions Architect.

Welcome to #248.

Eyeballs logo

The Main Thing

A snowman pretending to eat a small kid

Me being consumed by my freezing cold takes

Grading our 2023 predictions

It’s that magical time of year when newsletter writers, YouTubers, and people who unironically refer to themselves as “thought leaders” love to share their predictions for the upcoming year.

But only a precious few have the courage to publicly review their predictions from last year and confront those freezing cold takes out in the open.

But accountability and a slight tinge of regret for putting so much trust in us is what you get when you pay us the big bucks.

Buckle up.

Prediction #1: RIP to VC funded open source.

Grade: A-. We’re no longer seeing investors brag on Twitter about how many GitHub stars their portfolio companies have — because they’re suddenly more interested in this newfangled accounting metric known as “profitability.” But we’re not giving ourselves a full A grade, because open-source AI companies like Hugging Face are still raising beaucoup bucks and making their VC’s forget all the pain of 2022… for now.

Prediction #2: Remix will go all in on Web Components.

Grade: D. The idea was that Remix would ditch React for neutral lands where frameworks could compete freely. Instead, with perhaps a touch of Winston Smith in 1984 psychological torture energy – they’ve embraced React and its new RSC philosophies.

Prediction #3: tRPC will replace GraphQL as the type nerd’s Backend of Choice™.

Grade: D+. We got a little over our skis on this one. tRPC did grow almost 5x this year, but it’s still ~20x smaller than GraphQL, and has a long way to go before it’s replacing anything. Consider this your daily reminder that what you see on Twitter is not real life.

Prediction #4: Qwik will eat up React market share

Grade: F. Not a lot of people know this but “Qwik” is Southern Utah slang for “Astro” – which is what we really meant… pinky promise.

Prediction #5: React hate will reach an all-time high… and so will React usage.

Grade: A+. 10 points for Gryffindor.

Prediction #6: UI framework competitions will turn into a toolchain competition.

Grade: A. With Astro, Nuxt, Angular, and most recently Remix all using Vite, the metaframework competition has really become Next.js vs Vite. One might be tempted to say this is like Apple vs Android for the web — but despite Vercel’s mandate that all employees wear the Steve Jobs black turtleneck, this is really more of a Das Sound Machine vs The Barden Bellas situation.

Prediction #7: Gatsby acquires Astro.

Grade F. Not only did Gatsby not acquire Astro, they got acquired by Netlify one month after we made this prediction 😭. Very rude of Kyle not to warn us, but it’s fine. Gatsby seems to mostly be in a better place maintenance mode now, but they’ll never be able to take away the time we had together.

Prediction #8: Crypto developers will become AI developers.

Grade B+. Approximately 75% of former crypto developers now talk about weights and acceleration, while the other 25% are awaiting bail for “conspiracy to commit wire fraud.” WAGMI.

Bottom Line: Overall, I give us an A for effort, a B- for accuracy, and a “Needs Improvement” for classroom behavior. See you next year.


secureframe logo

Our Friends
(With Benefits)

A guy with cash behind his glasses

When you get that new enterprise customer cash

Secureframe makes SOC 2 compliance easy

Getting your application SOC 2 certified will finally let you start landing those big enterprise customers – but it usually takes months of engineering time, and lots of tricky hoops to jump through ☠️.

That’s why thousands of companies let Secureframe handle it.

They’ve automated the entire compliance process for SOC 2 and other security/privacy frameworks like ISO 27001, GDPR, and HIPAA. So now you can get certified in weeks, instead of months.

Plus, their AI-powered platform lets you automate manual tasks, so it’s easy for you to stay compliant in the future.

Set up a free, personalized demo — and they’ll help you get all those fancy security compliance badges on your homepage ASAP.

Pop Quiz logo

Pop Quiz

Sponsored by

Don’t let that sweet learning budget go to waste this year. Pick up “the best online course ever made” and finally master modern React for good.

function calculateTotalCost(mealCost, taxRate = 0.1, tip = 0) {
  arguments[1] = 0.15;
  arguments[2] = arguments[2] + 5;

  let totalCost = mealCost + mealCost * taxRate + tip;
  return totalCost;

let total = calculateTotalCost(50, undefined, 10);

Cool Bits logo

Cool Bits

  1. Our very own Lynn Fisher just broke all our brains (again) with a brand new update to her personal site, It should be illegal to be this good at CSS.

  2. Aria Components v1.0 just launched with a downloadable Storybook starter kit, example CSS themes, a built-in “use client” for RSC and lots more.

  3. Elevate your JavaScript game and embrace the power of Snyk’s CLI to secure your applications! Get access to Snyk’s How to secure JavaScript applications right from the CLI tutorial and learn about setting up the Snyk CLI, mastering essential commands, and how to scan projects for vulnerabilities. [sponsored]

  4. is a new service that lets you browse type reference documentation for Javascript packages. As much as we would love to claim credit, we aren’t affiliated with the project, despite the .dev domain.

  5. SolidJS just released the SolidStart beta 2 that’s Nitro backed and comes with new “super serializing” server functions. Personally, I haven’t had a solid #2 since Thanksgiving, so I’m really looking forward to this.

  6. Tailwind CSS v3.4 comes with dynamic viewport units, support for :has(), subgrid support and more.

  7. What’s the biggest development trend for 2024? Take the Developer Nation survey, share your opinion about tools and technologies and win! Among the 200+ prizes you can find an Apple MacBook Pro 13-Inch (M2), Asus Chromebook C223, Keychron K2 Mechanical Keyboards, MX Master 3S mouses, Amazon, Apple, ExpressVPN gift cards, and much more! [sponsored]

  8. Lea Verou taught us all a fun new word in her new article, Eigensolutions: composability as the antidote to overfit. We are looking for an Eigensolutions Architect, so let us know if you know anyone.

  9. The Expo 2023 Year in Review shares everything that the Expo team built this year, and the list is long 👏.

  10. Dmitri Pavlutin wrote this in-depth article about What every JavaScript developer should know about Unicode. I wrote an article called “What every JavaScript developer actually knows about Unicode” when I got bored during the last Ant Man movie, and the whole thing fit on the back of my ticket stub.

Pop Quiz logo

Pop Quiz: Answer

Sponsored by

The answer is 65. MDN explains “Non-strict functions that are passed rest, default, or destructured parameters will not sync new values assigned to parameters in the function body with the arguments object.”

If we remove the default parameters we get a different answer:

function calculateTotalCost(mealCost, taxRate, tip) {
  arguments[1] = 0.15;
  arguments[2] = arguments[2] + 5;

  let totalCost = mealCost + mealCost * taxRate + tip;
  return totalCost;

let total = calculateTotalCost(50, undefined, 10);

The answer with no default params is 72.5 (50 + 7.5 + 15).