GDG Coding Jams
Build with AI. Together.
Share
For organizers

Run a Coding Jam in your city.

Hosting a Coding Jam is one of the best ways to connect the builders in your community — a room of developers leaves with a working app, a new collaborator, and someone to text the next time they get stuck. Bring the room; the kit brings the rest. From planning to execution in 2 weeks.

Create a jam

Publishing a jam page needs a spot on the organizer roster. Not on it yet? Ask above — it takes one email.

Don't skip this one

Get every build submitted before people leave.

Two minutes per person, in the room. Once everyone walks out, it never happens.

Your chapter on the map
Builds credited to your jam
Builders earn badges
Numbers for your KPI
Before you arrive

A pre-flight checklist.

Link the right checklist in your event description. Setup otherwise eats half the session. Drop-ins without it are still welcome — pair them with a TA.

  1. T-48hPin the checklist in the RSVP email
  2. T-2hRe-share it
  3. DoorsUndecided? Send them to the tool picker
Optional: GCP project + Google Cloud credits

Your job, not theirs. Recommended when running an official GDG event — Google Cloud credits cover API spend and tie to the chapter KPI. Note they only apply to the Antigravity path, which bills through a Cloud project; anyone on AI Studio uses its free tier and needs nothing from you. Skip this entirely for casual jams.

Ask na-developer-communities@google.com for credits. Send a date, a headcount and your GCP project ID.

The last 25 minutes

Present, then submit.

Rooms reliably do the first and forget the second. Put both on the schedule.

Participants presenting their builds at the end of a jam.
1

Get people presenting

Three volunteers. Two minutes each. From their seat.

  • Ask at the halfway mark, not the end
  • Pick a half-broken one on purpose
  • Ask each one: what surprised you?
2

Then everyone submits

Not just the presenters. In the room, before anyone packs up.

  • Put the submit link on the projector
  • Say out loud that half-finished is fine
  • Screenshot required; repo and demo optional
Get your jam’s submit link →
The standard schedule

Two hours. Four movements.

We keep the talking short and the building long. Organizers facilitate; the room creates. This shape repeats across every track — it's the muscle memory.

Most of the two hours is Build, and it's deliberately loose — the agent does the typing, participants decide what it's making. The codelab is there for anyone who wants a structured route through it, not a script the room has to follow.

Pro tip

Pre-warm the deploy target by pushing a hello-world before doors open. The first deploy of the night is usually the slowest.

Watch out

Your demo is your most important deliverable. Practice it once on the morning of, with the actual production stack you'll use on stage.

  1. 0:00 – 0:15
    Intro

    Grab a name tag and a slice, say hello to the instructor, and meet the people either side of you — you'll be asking them things later, so it pays to know their names now. Low pressure, high creativity, ship something messy. Then a quick word on what the room is building tonight, and you're off.

  2. 0:15 – 0:30
    Credits & setup

    The instructor shares the Google Cloud credits with the room. Everyone gets their environment ready — whichever tool they brought. Nobody should be installing anything once the build starts.

  3. 0:30 – 1:35
    Build

    Heads down, and enjoy it — this is the part everyone came for. The agent does the typing; you decide what it's making. Ask the room when you get stuck; someone two seats away hit the same wall ten minutes ago. Want more structure? The codelab walks the spec-driven route — Setup → Plan → Review → Build → API → Verify — but nobody has to follow it.

  4. 1:35 – 2:00
    Share & submit

    Show the room what you made — two minutes, screen-shared from your seat. Half-finished is welcome; the wobbly ones are usually the most interesting. Say what surprised you along the way, and cheer for everyone else while you're at it. Then submit your build before you leave. This is the one thing not to skip — it's what puts your name and your chapter on the showcase, and it takes about two minutes.

Signs the methodology is landing
  • ✓Participants can say in one line what they set out to build
  • ✓Someone says 'wait, that's a polished-version feature' mid-build
  • ✓Drop-ins are scoping their own build without being walked through it
  • ✓At the end, the variations between participants are wide
Signs it's not landing
  • !Participants copy the demo verbatim instead of making it theirs
  • !Builds keep slipping past 45 minutes because everyone added more features
  • !At Compare Notes, every project looks the same
  • !Wall of Vibes stays empty halfway through

When you see the latter: pause, get them to say out loud what they are building, and re-read the question this track emphasizes. The reset usually re-anchors the room.

FAQ

FAQ

Four issues that come up in almost every room. If a participant is stuck for more than 5 minutes, check these first.

GCP credits not linked

Symptom: Gemini API call returns 403 / quota error halfway through Verify.

Fix: During Setup, link the Google Cloud credits to the GCP project at console.cloud.google.com/billing. If you skipped GCP entirely, AI Studio works for free in the browser — send them there instead.

API key not in .env

Symptom: App loads but every Gemini call returns 401.

Fix: Open the project root, confirm `.env` exists (NOT `.env.example`), and the key is `GEMINI_API_KEY=...` with no quotes around the value. Restart the dev server after editing.

Antigravity on Apple Silicon

Symptom: App opens but the agent panel hangs on first prompt.

Fix: Make sure you downloaded the arm64 build, not Intel. Quit the app fully (Cmd-Q, not just close window) and reopen. If still stuck, check Activity Monitor that the process is `Apple` architecture.

uv vs pip confusion

Symptom: Participant runs `pip install`, gets ModuleNotFoundError later.

Fix: The codelab uses uv. Direct them to `uv sync` (installs deps from pyproject.toml) and `uv run <command>` (replaces `python <command>`). pip will silently install into the wrong environment.

Got everything you need?

Open a track, grab the kit, and start preparing. Once you've hosted, share what your room shipped on the showcase — it helps other GDGs get started.

Per-track facilitator notes

What to say, what to watch, what to fish for.

You do not demo anything. Whatever you show becomes the room's default, which turns an open track into a prescribed one. Read the requirement, let people choose, and spend the session watching for the one failure mode each track produces.

💡
Build your own ideaBrowser is enough
Build the idea you have been planning. There is no topic this session.
+
The requirement

Write a one-paragraph description of what you are building before you start.

Open the session with

Read the requirement and give the room ten minutes to write the paragraph before anyone opens a tool.

Watch for

Scope that cannot be described in three sentences. Ask for the description; the difficulty is the signal.

Fish for at Compare Notes

A build that shipped because the participant cut something. Ask what they cut.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • An idea you have described to someone but have not started
  • A tool that solves a problem you have
  • A version of an application you use
  • An idea from an earlier session that you did not finish
Tech
Your choice
Stuck-participant safety nets
No codelab yet for this track.
🌱
AI for GoodBrowser is enough
A multi-chapter regional initiative uniting chapters around annually rotating societal challenges to build solutions with Google's applied AI ecosystem.
+
The requirement

Build an open-source prototype addressing an annually rotating societal challenge (environmental resilience, digital accessibility, public health informatics, or workforce readiness).

Open the session with

Read the 4-pillar 100-point rubric and confirm teams have chosen an annual challenge focus before writing code.

Watch for

Gimmick AI features without real social impact or neglecting accessibility and license requirements.

Fish for at Compare Notes

A build designed with direct empathy for non-profit operations and measurable community impact.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • Environmental Resilience: Carbon footprint tracking or hyper-local disaster response
  • Digital Accessibility: Multi-modal screen assistance or WCAG-aligned adaptive UI
  • Public Health Informatics: Community resource allocation or triage assistance
  • Workforce Readiness: Vocational training simulators or accessible career coaching
Tech
Agentic orchestration & frameworksMultimodal inference & embeddingsResponsible AI & safety guardrailsAccessible UI (WCAG-aligned)Apache 2.0 open-source deployment
Stuck-participant safety nets
No codelab yet for this track.
📱
Build an Android appBrowser is enough
Build an Android app and install it on your own device. You decide what the app does.
+
The requirement

Your app must run on an Android device or the browser emulator before the session ends.

Open the session with

Read the requirement, then confirm every participant has either a device and a USB cable, or the browser emulator open. Settle device setup before the build block starts.

Watch for

Participants design the app before they install anything. Ask early who has run an empty app on a device. Anyone who has not should do that first.

Fish for at Compare Notes

Two builds that used different sensors. The contrast shows the room how wide the requirement was.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A tool built around one phone sensor, such as the accelerometer or the light sensor
  • A single-screen utility you would use the next day
  • A game that responds to movement
  • An app that shows one piece of information and nothing else
Tech
Google AI Studio Build modeAndroid emulatorSensorManager
Stuck-participant safety nets
🗺️
Put it on the mapBrowser is enough
Build an application that uses real map data. You decide what it shows.
+
The requirement

Your application must display a real location on a map and respond to what is there.

Open the session with

Read the requirement and confirm everyone can load a map with a working key. Do not suggest a city or a use case.

Watch for

Prompts that leave out location data, which return generic results. Ask to see the prompt when someone says the output is bland.

Fish for at Compare Notes

One build that used the map as input and one that used it as output. They read the same requirement in opposite directions.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A quiz about the area around a chosen location
  • A walking route with a generated description for each stop
  • A comparison of two neighborhoods
  • A recommendation based on where the user is
Tech
Google Maps PlatformGeocoding APIGemini APICloud Run
Stuck-participant safety nets
🎮
Make it multiplayerBrowser is enough
Build something two or more people use at the same time. You decide what it is.
+
The requirement

A second person must be able to join from another device and see updates without refreshing.

Open the session with

Read the requirement and ask the room to pair up before the build block starts. Every participant needs a second person to test with.

Watch for

Participants build the interface before the join flow, then find at the end that nobody can connect. Ask for a working join link by the halfway point.

Fish for at Compare Notes

A build where the second person does something different from the first. Symmetric games are common; asymmetric ones are worth showing.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A two-player board game
  • A shared drawing surface
  • A quiz the room answers together
  • A voting or ranking tool
Tech
Google AI Studio Build modeFirebase AuthenticationCloud FirestoreCloud Run
Stuck-participant safety nets
📊
Build with a datasetBrowser is enough
Choose a public dataset and build something with it. You decide what question to ask.
+
The requirement

Your application must use a real dataset. Data you generated does not count.

Open the session with

Read the requirement and give the room five minutes to choose a dataset before anyone writes code.

Watch for

Participants query the data before they decide the question, then present whatever came back. Ask what question they are answering.

Fish for at Compare Notes

Two builds that used the same dataset and reached different conclusions.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • City service requests, such as 311 reports
  • Public transit punctuality or traffic history
  • Sports results and player statistics
  • Search interest over time, by region
  • Open city data such as tree inventories or air quality
Tech
BigQueryGeminiAgent Development Kit
Stuck-participant safety nets
🎙️
Build with the Live APIBrowser is enough
Build something that responds while the user is still speaking or showing it something. You decide what it responds to.
+
The requirement

Your application must accept live audio or video input and respond during the input, not after it.

Open the session with

Read the requirement and ask everyone to test microphone permissions immediately. Browser permission prompts consume build time.

Watch for

Responses that run long, which break the sense of a conversation. Suggest a sentence limit in the prompt.

Fish for at Compare Notes

A build that responds while the speaker is still talking, rather than after a pause.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A conversation partner for a language you are learning
  • A narrator that describes what the camera sees
  • An assistant that extracts action items while people speak
  • A hands-free instruction reader for cooking or repair
Tech
Gemini Live APIWebSocketsCloud Run
Stuck-participant safety nets
No codelab yet for this track.
🤖
Build an agentLaptop needed
Build something that chooses which tools to use instead of answering directly. You decide what it works on.
+
The requirement

Your agent must have at least two tools and choose between them at run time.

Open the session with

Read the requirement and ask each participant to name their two tools out loud before they start.

Watch for

Two tools that do similar things, which produces an agent that only ever calls one. Ask what makes the tools different.

Fish for at Compare Notes

A run where the agent chose a tool the participant did not expect.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • An assistant that searches, then summarizes what it found
  • An assistant that queries a database and formats a report
  • A planner and an executor that pass work between them
  • An agent that checks one source before it answers
Tech
Agent Development KitMCP serversGeminiCloud Run
Stuck-participant safety nets
👀
Build with what the camera seesBrowser is enough
Build something whose main input is an image rather than typed text. You decide what it looks at.
+
The requirement

Your application must take an image or camera input as its primary input.

Open the session with

Read the requirement and ask everyone to take one deliberately poor photograph to test with.

Watch for

Testing only with clear images. Results degrade sharply on the photographs people actually take.

Fish for at Compare Notes

A build that states when it is uncertain. Most will not, and the contrast is the lesson.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • Identify something and explain it
  • Translate text that appears in a photo
  • Check a physical space against a checklist
  • Describe an image for someone who cannot see it
Tech
Gemini multimodal inputImage generation
Stuck-participant safety nets
No codelab yet for this track.
🔍
Answer from your own documentsBrowser is enough
Build something that answers questions from documents you provide. You decide which documents.
+
The requirement

Every answer must cite the passage it came from.

Open the session with

Read the requirement and ask everyone to have their documents on disk before the build block starts.

Watch for

Time spent on the wording of answers instead of on how documents are split. Retrieval quality decides the result.

Fish for at Compare Notes

A build that correctly refuses to answer something that is not in its documents.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A handbook or policy assistant
  • A lease or contract reader
  • A rules reference for a game
  • A study assistant for your own notes
Tech
Retrieval-augmented generationVector searchGeminiCloud Run
Stuck-participant safety nets
✨
Generate the interfaceBrowser is enough
Build something that generates a different interface for each request. You decide the subject.
+
The requirement

The layout your application returns must change with the request, not only the text.

Open the session with

Read the requirement and ask each participant to list their component set before they start.

Watch for

Unrestricted component sets, which produce layouts that do not render. Ask how many components are in the set.

Fish for at Compare Notes

Two requests to the same build that produced genuinely different layouts.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • A form generated from a described task
  • A comparison view chosen by the type of question
  • A view assembled from a request in plain language
  • A configuration screen generated from a description
Tech
Gemini structured outputComponent registry
Stuck-participant safety nets
🧊
FridgeChefBrowser is enoughStarter repo
Type what's in your fridge and get one recipe back, with a photo of the dish.
+
The requirement

One text box: what's in your fridge? One button. AI returns one recipe — title, ingredients, steps — plus a generated photo of the dish.

Open the session with

Read the brief and point the room at the starter repo. Confirm everyone has a Gemini API key before the build block starts.

Watch for

Participants skip the dish photo because text feels safer. The photo is what makes the demo land — ask to see it.

Fish for at Compare Notes

A build whose chef has a distinct voice. That choice is what separates two identical apps.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • Mode picker (quick / grandma / budget / healthy / fancy)
  • Shopping list generator
  • Dietary preferences
  • Photo input — show your fridge instead of typing
  • Save and share a recipe gallery
Tech
Recipe text and dish image generationGemini API
Stuck-participant safety nets
💼
BulletProofBrowser is enoughStarter repo
Paste a resume and a job posting, and get tailored bullets back.
+
The requirement

Two text boxes — paste resume text, paste job posting text. One button. AI returns tailored resume bullets, ready to copy. No PDF parsing, no cover letter, no export.

Open the session with

Read the brief and ask everyone to have a resume and a real job posting open before the build block starts.

Watch for

Scope creep into cover letters and PDF parsing. Ask what they are deliberately not building.

Fish for at Compare Notes

A build where the participant rejected the AI's bullets and said why.

If someone asks what to build

Offer these only when asked, and offer more than one.

  • Match score and missing keywords
  • PDF parsing for resume input
  • Cover letter generator
  • Interview question generator
  • Application tracker
Tech
Long-context tailoringGemini API
Stuck-participant safety nets