← Table of Contents
Lesson 04

Shipping It

Now we approach our end.

We have now taken messy data and wrangled it into a database.

We took that database and built a full-stack application on top of it.

What next?

We ship!

But we don’t want to ship our entire codebase. By now we have a lot of files and lines of code. If you want to risk accidentally changing a line and breaking your app while it’s running. Then be my guest.

But I specifically picked Deno because it compiles down to a single executable. (Yes I know Bun is more hyped, but their std lib doesn’t have a CSV package).

We’re gonna first compile it with a command. And then manually run it. After that we’ll write a shell script to make it more repeatable.

Now that’s running, how do we access it outside of localhost?

Well one option is the cloud. But I want to focus on fundamentals so we’re gonna avoid the vendors.

Instead we’re going to use something simple.

First we set up a VPN. In our case we’ll use Tailscale. We want to set it up on whatever device you’re writing your code on, this will be the application host. And we want to set it up on the device you want to access it with. This will be the client.

So now we can run the application on the host. Get the address from Tailscale. And on the client, go to the host’s address and port, then voilà, you can access the app we just built.

Not really a rant this time

In your career, you are probably going to be deploying to a cloud vendor. But I think the basics still apply. Even if it’s in a big rack in a datacenter, your code is still running on hardware and being served to client devices. I’d love to teach that, but I want to keep this course free and introducing an AWS, Azure, or GCP goes against that purpose.