We just won 4th place in Google's Gemma Hackathon in Shanghai.
We were the first high school team ever to reach the finals in Google Hackathon history. Our competitors included teams from Berkeley, University of Michigan, Zhejiang University, USTC, and tech giants like Ctrip.
But two weeks before hackathon started, nobody on our team knew how to develop WeChat mini-programs(widely used in China), and we had placed all our hopes on AI. Almost everything we tried on the first day failed.
So we want to share what happens when lack of ability meets AI — how to turn weakness into unique advantage. If you're also exploring the right way to use AI, this story might give you some different insights.
How it started…
The story starts with an elective course I created last year — AI Camp.
The idea was simple: develop active participants in the AI era. We didn't require any programming background. We just hoped students would dare to try and use AI to solve real problems. Through mini projects like designing personal websites, developing games, and creating short videos, everyone could feel the power of AI in practice.
The response was unexpected. AI Camp grew from 9 students in the first semester to 33 in the second — in our school of just over 100 students, almost one in three chose this course.
When news of Google's Gemma Hackathon came, we decided to participate. But we quickly realized the difficulties we faced:
Extremely limited time: We discovered the competition less than a month before the deadline, and April was AP exam season. In total, we only had two nights to work together on development.
Zero technical knowledge: To better serve Chinese users, we decided to develop WeChat mini-programs. The problem was, nobody on the team — including me, the teacher — had ever written a mini-program.
Strong competition: Other participants included student teams from Berkeley, Michigan, Zhejiang University, USTC, and enterprise teams like Ctrip.
We started it with a two-nights workshop.
Day 1
The first night, our plan is starting with brainstorming, then prototyping, and MVP development.
Brainstorm
We set two rules:
All ideas must be spoken out loud and recorded
Only questions and clarifications allowed, no criticism or rejection
In this protected atmosphere, students' thinking gradually became active. After three rounds of speaking, the whiteboard was covered with 15 ideas. Through quick voting, we kept 7:
Carbon emission tracker
Campus anonymous social platform
Hot topic voting system
Campus shared knowledge base
Shanghai City Walk route recommendations based on DeepSeek
Interactive myopia life simulator
ADHD self-management assistant tool
Paper Prototype (15 minutes)
Next was rapid prototyping. I emphasized one core principle: focus. No more than 3 core functions and pages.
15 minutes later, each group had drawn their MVP on paper. This most primitive method turned out to be the most efficient.
Build MVP
For this stage, we referenced Harper Reed's workflow (former CTO of Obama's campaign team). His core idea: before letting AI write code, you must polish your requirements through deep dialogue.
Students photographed their paper sketches and uploaded them to AI, then started "one question at a time" interaction. Through multiple rounds of dialogue, AI helped them refine rough ideas into complete documents including spec.md and todo.md, and we started to build in Windsurf.
But things started to fall apart.
Except for one group, everyone else ran into various problems:
Leo myopia simulator couldn't access the camera
Henry’s campus anonymous platform kept getting errors when accessing cloud services
Aurora’s AI assistant ran in the simulator but showed blank screen when scanned on phone
The AI we wished to always relied on seemed to fail at the most critical moment.
Turning Point
Looking back at AI Camp's past project experience, I found a pattern: projects that started from existing templates had much higher completion rates.
I also remembered a teaching video I recorded recently, trying to get various AI tools to develop a chatbot from scratch. The result was: Windsurf encountered the most obstacles when building projects from scratch.
The problem became clear: AI is good at going from 1 to 100, but not from 0 to 1.
Once we found the problem, the solution was clear. We turned to WeChat mini-program's official example library, looking for "seed cases" to use as foundation.
These official examples had different functions — basic chatbots, video classification features — but they were all verified, stable running code. Our strategy became: find the closest case and modify it.
Day 2
The effect was immediate:
Leo’s myopia simulator finally broke through. They found an official video processing example, kept its video stream framework, removed the AI classification function, and successfully embedded their own image blur algorithm.
Aurora’s K-12 AI toolbox also made progress. Starting from a basic chatbot example, they boldly discarded the original UI but cleverly reused the Tencent Cloud AI service interface. Through carefully designed prompts, they integrated multiple AI functions into their own designed interface.
Worth mentioning, the product documents generated on the first day using Harper Reed's method played a key role in this process. With clear function definitions, students could quickly judge which parts of official examples could be reused and which needed modification.
At 9 PM, when the last group announced completion, all five products were successfully running.
What Works for us?
✅ 1. Paid versions are the real experience
The difference between free and paid versions is huge. Try these: Cursor Max, Claude Code, Gemini 2.5 Pro, Claude Sonnet 3.7 (Opus wasn't released yet). This investment is worth it, letting you experience AI's real capabilities. Both Gemini and Claude have educational discounts.
✅ 2. Start from templates, not from scratch
Especially for relatively niche tech stacks like WeChat mini-programs. If the template overlaps with your target functions, even better. Remember: AI is good at modification, not creation.
This discovery later became the core argument of our research paper published in Stanford's GenAI Repository: Generation vs. Adaptation: Comparing AI-Assisted Strategies in High School Programming.
✅ 3. Let one AI review another AI's output
We used Claude to generate spec.md and todo.md, then used Gemini to review and optimize. Different AIs have different perspectives, cross-validation works surprisingly well.
✅ 4. English ability matters
Prompts, documentation, error messages are mostly in English. This is a real barrier.
✅ 5. Treat AI as a real collaborator (most important)
This isn't empty talk. We integrated AI into every stage:
Planning stage: AI helped us create a detailed "two-night sprint" plan
Conception stage: Using Harper Reed's method, AI deepened sketches into product documents
Development stage: AI quickly built MVPs based on official cases
Optimization stage: AI continuously iterated and improved functions
AI isn't a tool, it's a driving force.
What Doesn't Work?
❌ 1. Expecting AI to complete everything at once
Instructions like "write a mini-program" are basically useless. AI needs clear context, step-by-step tasks, continuous dialogue.
This thinking is essentially opportunism — as Chairman Mao said, hoping to succeed without effort. Real AI collaboration requires you to do your homework first, understand the problem, then guide AI step by step.
❌ 2. Relying on AI for content creation
Compared to code generation, AI's ability in content creation is clearly insufficient, with a strong sense of being a "sycophant" — seemingly eloquent but actually empty, only saying what you want to hear.
Especially when asking AI to write product copy or user stories that need real insights, the results are often generic and soulless. Content creation still needs real human experience and thinking.
Conclusion
We submitted our work. Two days later, we got into the Google Gemma Hackathon Finals. Two weeks later, we did the demo in Google Shanghai headquarter, and we won 4th place.
Find the right method, and ordinary people can do extraordinary things. I hope these experiences can help more people start their own AI-assisted development journey.
If you're also exploring AI, feel free to share your experiences or challenges in the comments.