Quick Guide · Updated September 2026
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.
One time only. Do it first, so your sites are saved to your account and never disappear.
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.
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.
index.html. If asked, click Use .html..txt.index.html and click Save.index.html onto the page. Just the one file. No folder, no zip.https://gentle-otter-12345.netlify.app.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.
Making more than one app? Set it once for all of them: Team settings → General → Visitor access → Default project visibility → Public.
jordan-quiz-app and your link becomes jordan-quiz-app.netlify.app.index.html, open your site in Netlify, go to Deploys, and drag the file onto the drop area. Same link, new version.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.
index.html. Rename it and drag it again.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.
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.
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.
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:
Paste this into Gemini Canvas and it will build an app that asks for your own key instead of using the hidden one:
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.