This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Most fitness trackers reduce going outside to sterile metrics: step counters, pace graphs, and calorie rings. Meanwhile, casual walks often turn into another round of mindless phone checking.
I built Grasschalant to turn an ordinary outdoor walk into an ambient treasure hunt of real-world visual metaphors.
Grasschalant connects to your device's motion sensors and establishes a structured step expedition (for example, a 6,000-step target). Rather than letting you snap everything at once, the camera is directly gated by your physical movement:
- Movement-Unlocked Memories: You have to walk outside to unlock photo discovery slots. Every milestone reached along your route unlocks the shutter for another capture.
- Pareidolia & Metaphor Engine: When you spot something unusual in the environment—a knot in a tree trunk, a cracked piece of asphalt, or a curious shadow—you snap a photo. Vision AI analyzes the shapes, contours, and accidental expressions, matching the finding against a curated vault of iconic internet meme archetypes.
- The "Day Out Storybook" & PDF: When you complete your walk, Grasschalant synthesizes the journey into an interactive 3D digital photobook. The left page shows your original outdoor discovery alongside its step count and timestamp, while the right page pairs it with the matching meme and the visual breakdown of why you "can't unsee it." The complete storybook can be flipped through in the browser and exported as an offline keepsake PDF.
It is designed for students, remote workers, and anyone looking for a playful reason to pocket their phone, head outdoors, and observe their surroundings closely.
Demo
- Live Web Application: https://grasschalant.vercel.app/ (Note: The backend API runs on Render's free tier. Please allow approximately 50 seconds on the first request for the web service to spin up and warm up.)
Code
🌿 Grasschalant — Touch Grass Edition
Hacktoberfest Week 1: "Touch Grass"
An outdoor exploration companion and digital memory book generator that turns your real-world walks into uncanny meme storybooks using vision AI and vector search.
📖 Overview
Grasschalant incentivizes software engineers and indoor dwellers to put down the keyboard and go outside ("touch grass").
-
Step Milestones: Set an outdoor step goal (e.g., 6,000 steps). As you walk, the app connects to your device's accelerometer / pedometer using HTML5
DeviceMotionsensor fusion. - Photo Unlocks: At regular step intervals (e.g., every 600 steps = 10 unlocks), the camera shutter unlocks so you can capture real-world nature, textures, urban architecture, or street scenes.
- PaliGemma Pareidolia AI: Each photo is analyzed by Google's PaliGemma Vision-Language Model to detect accidental pareidolia, facial contours, or hilarious internet culture analogies in everyday outdoor objects.
- Atlas Vector Search: The meme analogy concept is projected…
How I Built It
Grasschalant brings together browser hardware sensor APIs, open-weight multimodal reasoning, vector embeddings, and an interactive digital print pipeline:
-
Frontend Architecture (Vite + React, TypeScript, Tailwind CSS):
-
Mobile Pedometer HUD: Reads the browser
DeviceMotionEventand accelerometer stream to measure steps continuously. It drives a dynamic progress ring that gates the camera shutter based on physical progress, with an integrated step simulator for testing in desktop environments. - Dual-Page Flip Storybook: Renders a responsive 3D book spread that presents the raw nature photo on the left and the meme match on the right.
-
Client-Side Document Export: Uses
html2canvasandjspdfto convert the rendered book spreads into a downloadable landscape A4 PDF album directly in the browser.
-
Mobile Pedometer HUD: Reads the browser
-
Open-Source AI Vision (Google PaliGemma):
- Powered by Google's open-weight
google/paligemma-3b-pt-224vision-language model. - Analyzes candidate outdoor captures to extract the literal subject, recognize unexpected visual analogies, evaluate match confidence, and write a lighthearted explanation of the visual illusion.
- Powered by Google's open-weight
-
Archetype Vault & Semantic Retrieval (MongoDB Atlas Vector Search):
- A curated archive of classic meme archetypes is pre-indexed with dense multimodal CLIP vector embeddings.
- When PaliGemma identifies an analogy concept from an outdoor shot, the system runs an Atlas
$vectorSearchpipeline to retrieve the closest matching meme template.
-
Media Pipeline & Cloud Deployment:
- Uploads outdoor captures to Cloudinary to persist media URLs securely across user sessions.
- The FastAPI backend service is deployed on Render, while the client is hosted globally on Vercel with full HTTPS to satisfy browser camera and sensor permission requirements.
Why Does Open Innovation Matter?
Taking pictures of your neighborhood, parks, and daily walks involves private physical context. Handing that data over to proprietary closed-door APIs turns casual outdoor exploration into commercial data-mining payloads.
Open innovation changed how Grasschalant could be built:
- Democratized Visual Reasoning: Open-weight models like Google PaliGemma make nuanced, humorous multimodal reasoning accessible without paying tollbooth API costs on every single step or photo.
- Local-to-Cloud Portability: Because PaliGemma and CLIP are open-weight, the entire reasoning pipeline can run locally on an edge device or be hosted on flexible cloud containers without vendor lock-in.
- Technology That Serves Human Living: Open AI allows developers to build tools that encourage people to look up at trees and sidewalks, turning machine learning into an excuse to engage with the physical world rather than get trapped behind a screen.
Prize Categories
- Best Use of Gemma: Uses Google's open-weight PaliGemma vision model to analyze outdoor photos, discover pareidolia, and generate humorous visual meme analogies.
- Best Use of Render: Backend FastAPI orchestration and vector querying pipeline deployed and running live on Render.
-
Best Use of MongoDB Atlas: Utilizes MongoDB Atlas and Atlas Vector Search (
$vectorSearch) to index and semantically match meme archetypes to outdoor discoveries.
Top comments (0)