Quick Guide · Updated September 2026

Get Your App a Public Link

You built something in Gemini. Now give it a real web link that anyone can open, anytime, on any device, with no login. About five minutes, free, no coding.

Geminiindex.htmlNetlifyPublicShare

1 Make your free Netlify account

One time only. Do it first, so your sites are saved to your account and never disappear.

  1. Go to app.netlify.com/signup.
  2. Click Sign up with Google. Free, no credit card.
  3. If it asks setup questions, pick anything and keep going. For a team name, use your first and last name.
  4. Leave this tab open. You'll come back to it in Step 4.

2 Copy your app's code from Gemini

In your Gemini chat, paste this:

Combine this whole app into one single HTML file with all the CSS and JavaScript inside it.

When the code appears, click the copy icon on the code. In Canvas, switch to the Code view first so you copy all of it, not just the preview.

3 Turn it into a file

Paste your code in the box, then click the button. You'll get a file named index.html in your Downloads folder, ready to go.

Your code stays on your computer. Nothing is uploaded from this page.

If your computer names it index (1).html, rename it to exactly index.html.

Prefer to make the file by hand?
On a Mac
  1. Open TextEdit (Cmd + Space, type "TextEdit").
  2. New document, then Format → Make Plain Text. Don't skip this one.
  3. Paste your code, then File → Save as exactly index.html. If asked, click Use .html.
On a Windows PC
  1. Open Notepad and paste your code.
  2. File → Save As. Set Save as type to All Files. Don't skip this one, or Windows adds .txt.
  3. Name it exactly index.html and click Save.

4 Drag it onto Netlify

  1. While signed in, go to app.netlify.com/drop.
  2. Open your Downloads folder and drag index.html onto the page. Just the one file. No folder, no zip.
  3. In a few seconds you'll get a link like https://gentle-otter-12345.netlify.app.
Watch it (under 5 min):
How To Deploy an HTML Site to Netlify
Shows the drag-and-drop step.

5 Make it public, then share

Don't skip this. New Netlify accounts now make sites private by default, so nobody else can open your link until you flip this switch.

  1. On your site's page in Netlify, click Project configuration.
  2. Under General, find Visitor access → Project visibility.
  3. Choose Public and click Save.
  4. Test it: open your link in a private or incognito window. If your app shows up with no login, anyone can see it.
  5. Paste the link into the discussion board. Done.

Making more than one app? Set it once for all of them: Team settings → General → Visitor access → Default project visibility → Public.

Later on

If something goes sideways

You lose zero points. Some apps just won't survive the trip out of Gemini, and that's information, not failure. If your link won't work after a real try, post a short screen recording or a screenshot plus one sentence about what your app does. That fully counts.

Quick fixes

Backup plan in 10 seconds: Gemini's own Share button makes a link to your Canvas. It only opens inside Gemini, so it's not a true website, but it works in a pinch.


Optional - build an app that calls AI live

Everything above gets you a working app, but the apps above don't actually "think." This section is for when you want one that does: an app that calls an AI while it runs, generating brand-new content on the spot.

The worked example below is a "Do-Now Generator." You type a topic ("8th grade photosynthesis"), click a button, and it asks an AI to write a fresh do-now question every time. The same recipe works for anything that has to think live: an exit ticket that gives real feedback, a vocabulary-sentence maker, a random word-problem writer. We'll walk through building that Do-Now Generator from start to shareable link.

If your app is just a timer, randomizer, matcher, or game, you do not need any of this. Those don't call AI, so the main guide above is all you need.

First, why these apps break when you export them

Inside Gemini, Google quietly runs the AI for you behind a curtain, using a secret key you never see. The moment you copy the file out, the curtain is gone. Your app still tries to call the AI, but the password slot is empty, so the button just does nothing. To make it work on your own, you give it your own key. Here's how.

1. Get a free Google AI key (no credit card)

  1. Go to aistudio.google.com and sign in with any Google account.
  2. Click Get API key → Create API key. Copy it.
  3. That's it. It's the free tier, no billing. Plenty for a classroom demo.

2. The safety part, in plain language

A key pasted into a public web page is visible to anyone who looks. That's fine for a class assignment as long as you:

3. Where it will and won't run

4. Easiest path: let Gemini build the key-ready version

Paste this into Gemini Canvas and it will build an app that asks for your own key instead of using the hidden one:

Build a single-file HTML app for a do-now generator. It must call the Gemini REST API directly with fetch(). Do NOT use a hidden or built-in key. Instead add a visible text box where the user pastes their own Gemini API key, and use that value in the x-goog-api-key header. Use model gemini-flash-latest at https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-latest:generateContent and read the reply from candidates[0].content.parts[0].text. Keep it one self-contained file with inline CSS, no build step, no external libraries.

From here it's the same as the main guide: Steps 2 to 5. If you ever see an error mentioning "CORS," you're on a site that blocks the call, so open the file locally or host it on Netlify and it will work.