DEV Community

Vaibhav Bisaria
Vaibhav Bisaria

Posted on

Partnerizt — The Duolingo for Learning From Your Environment

Hacktoberfest: Contribution Chronicles

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

We spend hours looking at screens. Partnerizt uses AI to give us a reason to look up.
The experience is built around a simple loop:
Step Outside -> Open Quest -> Discover Something -> Take a Photo -> Learn about it -> Earn XP
Partnerizt is an app-based learning game in which AI companions convert discoveries from the real world into interactive lessons.

Some of the things you can do include:

  • Begin an outdoor expedition and monitor the distance travelled
  • Participate in location-agnostic outdoor quests
  • Capture photos of objects discovered by you
  • Ask Gemma to identify the object that you have discovered
  • Access relevant information sources via SerpApi
  • Study from AI companions
  • Hear about your discovery from your companion via ElevenLabs
  • Get XP points and create your Field Journal

The 5 companions are:

  • Birdo — wildlife, birds and animals
  • Flora — plants and botany
  • Atlas — architecture, landmarks and history
  • Munch — food and food culture
  • Nova — geology and deep time

Demo

Deployed Link-https://partnerizt.onrender.com/
Demo Note: The live demo is hosted on Render's free tier, so the backend may take a few moments to wake up after periods of inactivity. If the app doesn't respond immediately, please wait a few seconds and refresh.

Demo1-Character Interaction And Learning Video

Demo2- Exploration Video (With proof that i touched grass)

Code

Partnerizt 🌱🧭

"The Duolingo for learning from your environment."

Partnerizt is a gamified outdoor learning platform that encourages users to step outside, explore their physical surroundings, complete real-world quests, photograph discoveries, and learn from AI learning companions.


🏗️ Monorepo Architecture

partnerizt/
├── frontend/                     # React + TypeScript + Vite + Tailwind CSS
│   ├── public/                   # Static assets & SVG icons
│   ├── src/
│   │   ├── assets/               # Bespoke SVG Character Avatars (Birdo, Flora, Atlas, Munch, Nova)
│   │   ├── components/
│   │   │   ├── common/           # Header, XPBar, StatPill, BadgeCard, ConfettiCelebration, Modal
│   │   │   ├── home/             # ExplorationHero, DailyProgressCard, DailyQuestCard, RecentDiscoveryCard
│   │   │   ├── quests/           # QuestCard, QuestFilterTabs, QuestDetailsModal, QuestPhotoUploadModal
│   │   │   ├── characters/       # CharacterCard, CharacterChatModal
│   │   │   └── profile/          # ProfileHeader, StatsGrid, BadgesShowcase, DiscoveryGallery
│   │   ├── context/              # PartneriztContext (Global State, Geolocation Session, Rewards)
│   │   ├── layouts/              # MainLayout, Mobile
…

How I Built It

The core AI pipeline is:
PHOTO → GEMMA → SERPAPI → COMPANION → DISCOVERY → REWARD
Gemma
Gemma is the visual intelligence layer of Partnerizt.
When a user photographs something they found outdoors, a multimodal Gemma 4 26B A4B model analyzes the image and returns an identification, category, scientific/common name where applicable, and confidence score.
I also added confidence handling so uncertain identifications can be rejected instead of blindly turning every image into a confident answer.
SerpApi
Identification alone isn't enough.
After Gemma identifies a discovery, Partnerizt uses SerpApi to retrieve supporting knowledge and external sources about it.
This gives the companion information to teach from instead of simply generating an answer from the model's internal knowledge.
AI Companions
The retrieved information is then transformed into a response matching the personality and expertise of the selected companion.
For example:
Birdo is energetic and focused on wildlife, while Flora is calm and focused on botany.
This turns a raw identification into an actual learning experience.
ElevenLabs
The companion doesn't have to stay on the screen. Partnerizt sends the generated companion commentary to ElevenLabs Text-to-Speech, allowing users to listen to their discovery while exploring instead of stopping to read the screen.
Discoveries and quests contribute to XP and progression.
The result is a loop where learning something real becomes the reward.
Architecture
Technologies used:

  • React
  • TypeScript
  • Vite
  • Tailwind CSS Backend:
  • Java
  • Spring Boot
  • Maven Data:
  • PostgreSQL / H2 AI & APIs:
  • Gemma 4 26B A4B
  • SerpApi
  • ElevenLabs Deployment:
  • Render

Why Does Open Innovation Matter?

The world is full of fascinating things to learn from, but most digital experiences keep us inside the screen.
What if AI could turn the physical world itself into the learning environment?
Open innovation makes that kind of experimentation possible. Using an open-weight model like Gemma, I could build Partnerizt's visual intelligence around a model that can be integrated and experimented with as the open AI ecosystem evolves.
That shaped the architecture:
Gemma sees → SerpApi grounds → the companion teaches → ElevenLabs brings it to life.
The AI layer remains modular, so the experience can evolve as open models improve.
I didn't want to build another chatbot that answers questions about the world.
I wanted to build something that uses AI to make people experience the world firsthand.

Prize Categories

I am entering:

  • Overall Hacktoberfest Week 1: Touch Grass
  • Best Use of Gemma
  • Best Use of SerpApi
  • Best Use of ElevenLabs
  • Best Use of Render

Top comments (0)