4 min read

A Bit of SaaS Weekly: Build your world

A Bit of SaaS Weekly: Build your world

This is a weekly newsletter on the Software as a Service world. Learning, building, and shipping. Written by Ethan Mick.

The best side project is the one you work on. It's also the one you use. The perfect place to start building something is to find something you do every day and replace it with your own version.

The Best Bits

  • DALL·E 3 is out. While we can argue over how good it is, the fact that it has an API means it can plug into every SaaS out there.
  • Next.js 13.5 has been released with faster local dev, less memory usage, icon library improvements, and lots of bugs fixed. There is also a Next.js conf on October 26th.
  • HyperDX is an open-source observability platform unifying session replays, logs, metrics, traces, and errors.
  • V0, a generative user interface system by Vercel. It generates copy-and-paste React code based on shadcn/ui and Tailwind CSS.

What is Bun?

Bun is an all-in-one toolkit for JavaScript and TypeScript apps.

Okay, what does that really mean?

Bun was created to answer the question, "If you were to build a JavaScript runtime today, what would you do differently?"

You see, running JavaScript on the server was very hard for a long time. There wasn't a good way to do it, and when you could, it was like running a limited browser session on your computer. There was no way to interact with the file system, open sockets, or do anything useful.

When Node.js came out in 2009, it had a revolutionary idea: A standard library that allowed your JavaScript code to interact with the host running it. Suddenly JavaScript could be run on the server and could do anything other languages had the ability to do.

We've learned a lot since 2009.

These days there are multiple tools web developers need to use to get anything done. We rarely think about it being a problem because... well, it's always been that way. Things like npm, yarn, lerna, pnpm, tsc, Webpack, Babel, and more. Each of these is a separate tool but needs to work in harmony to build, test, and deploy a modern web app.

Bun does all of that.

And it does it in a single binary: bun.

It's hard to overstate how powerful that is. Bun is the runtime for your code. It's also the package manager that will manage your dependencies. It's a weird artifact of time that has caused npm and node to be separate binaries and projects.

Bun looked at all that and said: "Wait. This makes no sense!"

Bun goes further, though. It can run TypeScript and JSX code without needing external code. Yes, it still compiles TS to JS internally, but that's abstracted away from the user. You can just do:

bun script.ts

And it just... works. In fact, it works so well that they recommend not necessarily transpiling your code for production. Leave it all in TypeScript. Let Bun do the work for you.

The goal is to have Bun be perfectly compatible with Node.js and for it to be a drop-in replacement. There are lots of guides you can take a look at to see how you can use Bun with our favorite framework.

I'm going to try it out for my next projects and hopefully switch over for good. Let me know your experience!

Learn to Build SaaS

In my Time Tracker series, I set up the app to use OAuth with Google, but I never came back and created a video for it. Well, here it is! This walks through the entire Google Cloud Console part as well as the Next-Auth part. It pairs well with my Next-Auth guide if you want to customize it.


Tech Tip

When using the AWS command line, you can quickly sync a directory to an S3 bucket with a single command:

aws s3 sync ./local-folder/ s3://bucket-name-here/

This is useful for backing up files or hosting a website.

Cloud Chronicles

  • YouTube Subscribers: 3,779 (+175 in the last 7 days)
  • Newsletter Members: 696 (+47 in the last 7 days)

This wraps up week two of successfully publishing videos on time! Big win in my book.

In other exciting news, I signed up my next big client! This contract will be worth about $75,000 and extend until the end of the year. I'll be helping the company with their DevOps layer (Yes, I can do DevOps, thanks for asking), as well as other work they want me to tackle. I think this will turn into a great series of how to run your apps in production so that when things break, you know how to fix them.

I'm hoping to still land one more deal in the next few weeks, but it's been a slow process.

Last Byte