VibeHost

Deploy a hackathon demo with a QR code

Build it, deploy it, and put a QR code on the projector so the audience can open it.

It's the last day of the hackathon and your team's app works on localhost. You're about to demo it to judges on a projector, with an audience watching, and you want a real URL instead of a screen share.

This recipe keeps the steps to a minimum.

1. Deploy it publicly

Skip making it private and inviting people. At a hackathon, a public URL is the right call:

vibehost app create hackathon-demo
vibehost link --app hackathon-demo
vibehost deploy ./dist
vibehost app visibility hackathon-demo public

Or chain the commands if you're pressed for time:

vibehost app create hackathon-demo \
  && vibehost link --app hackathon-demo \
  && vibehost deploy ./dist \
  && vibehost app visibility hackathon-demo public

The deploy output prints the URL. Paste it into the pitch deck.

2. Show a QR code to the audience

vibehost app qr --app hackathon-demo

This prints a scannable QR code in the terminal. Put it on the projector, and while you present, judges, mentors, and other teams can open the demo on their own phones.

Save it as a PNG for the slide deck:

vibehost app qr --app hackathon-demo --png ./qr.png

3. Iterate during the event

A judge gives feedback between rounds. Fix it and redeploy:

vibehost deploy

The URL stays the same. Anyone who scanned the QR code earlier sees the new version when they reload.

If the change breaks something mid-demo, roll back with one command:

vibehost rollback --app hackathon-demo

4. Test before it reaches the main URL

If you have time, deploy the next iteration to a channel before it reaches the main URL. The channel gets its own URL, such as https://hackathon-demo-ch-test-yourws.vibehost.space. Open it in another tab and check it:

vibehost deploy --channel test

When it's good, deploy the same directory to production. Don't rebuild in between, so the audience gets exactly what you checked:

vibehost deploy

(vibehost promote would move the checked deployment by ID, but it currently fails for static apps on vibehost.com.)

The main URL updates, and the audience sees the version you checked.

After the hackathon

The app stays live indefinitely, because VibeHost apps don't expire on the free tier. You can add the URL to your resume or GitHub README, or keep building and deploying to the same URL.

If you want a branded URL for your portfolio (hackathon-project.yourdomain.com), upgrade to Business and add a custom domain. See custom domains.

Team setup (if multiple people deploy)

Invite teammates:

vibehost workspace invite teammate@x.com --role member
vibehost app grants add-email teammate@x.com deployer --app hackathon-demo

Anyone with the deployer role can vibehost deploy to the same app, and the URL stays the same whoever pushed.

The free tier allows 3 workspace members. On a team of 3 to 5, one person creates the workspace and invites the rest as needed. Alternatively, each person keeps their own workspace and one person owns the deploy.

CLI cheat sheet

WhatCommand
Deployvibehost deploy ./dist
Make publicvibehost app visibility <app> public
Roll backvibehost rollback --app <app>
QR codevibehost app qr --app <app>
List deploymentsvibehost channel list --app <app>

See also

  • Quickstart is the longer version, with explanations.
  • Channels lets you test changes during the event without touching the main URL.
  • QR command documents the command for in-person demos.

On this page