DEV Community

Vaishnavi Pophalkar
Vaishnavi Pophalkar

Posted on

Plan A Date 🌿 — From Endless Scrolling to a Day Worth Remembering

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

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

What I Built

What if planning a memorable day took less time than actually experiencing it?

We often spend more time scrolling through cafés, checking places, comparing activities, and figuring out what to do than enjoying the time we spend with people. I wanted to build something that changes that.

Meet Plan A Date — an AI-powered outing planner that turns your available time, mood, budget, interests, and location into a personalized plan for spending meaningful time with someone.

And no, a “date” doesn't have to be romantic. ❤️

It could be a café-hopping afternoon with your best friend, a creative workshop with a sibling, a peaceful nature walk with your family, or an adventurous day with someone you're getting to know.

Here's what makes Plan A Date different:

🌱 Plans around your time: Whether you have 45 minutes or an entire day, the itinerary is designed around your available time.

📍 Real-world discovery: SerpApi helps discover real places, while location information helps make recommendations relevant to where you're going.

✨ Personalized itineraries: Gemma helps organize candidate activities into a coherent outing tailored to your companion, mood, budget, and schedule.

🍒 Cherry on Top: Every plan can end with a thoughtful gesture, a little surprise, or a small memory-making idea.

🌿 Touch Grass Mode: Once your plan is ready, switch to a minimal interface focused on your next stop, so you can spend less time on your phone and more time being present.

📖 Remember the day: A memory-journaling concept helps you preserve the moments worth remembering.

The guiding idea is simple:

Plan → Go Outside → Experience → Remember

The screen should be the shortest part of the experience.

Demo

Try Plan A Date:
Live Demo








Code

Source Code:
GitHub Repository

How I Built It

I built Plan A Date with a simple principle in mind:

Search discovers reality. AI organizes reality.

The application combines a modern React and TypeScript interface with a server-side API layer.

Frontend: React, TypeScript, Tailwind CSS, Lucide icons, and Leaflet for the interactive map.

Backend: Node.js and Express for server-side API routes.

Open-weight AI: Google Gemma, accessed through the Gemini API using the @google/genai SDK.

Real-world discovery: SerpApi's Google Local search capabilities to discover relevant venues.

Location and maps: Browser geolocation, OpenStreetMap-based reverse geocoding, and Leaflet.

Fallback handling: A fallback venue catalog helps the experience remain usable when live discovery is unavailable, with fallback results distinguished from live search results.

Gemma is intended to do more than produce a generic list of suggestions. It helps turn available venue candidates into a plan that considers the person you're with, the mood you're looking for, your time constraints, and your budget.

The interface then presents that plan as a visual journey, rather than another chatbot conversation.

I focused on making the experience feel like a lifestyle and discovery product: ask a few meaningful questions, receive a plan, and head outside.

Why Does Open Innovation Matter?

For Plan A Date, open innovation is about making AI-powered experiences more adaptable, accessible, and developer-driven.

  1. AI should organize real information, not invent reality.

A convincing AI-generated itinerary is not useful if its café doesn't exist or its activity is unavailable. Combining live place discovery with AI-generated planning helps separate finding real-world options from deciding how those options fit together.

  1. Open-weight models create room to experiment.

Gemma provides an open-weight model option for the personalization layer. Open-weight models can give developers more flexibility to experiment with model behavior and, where supported by the model and deployment setup, explore self-hosted or local inference rather than relying exclusively on closed models.

Plan A Date currently accesses Gemma through the Gemini API; it does not claim to run inference locally.

  1. Useful AI should help people reconnect with the real world.

AI applications often compete for more of our attention. I wanted to explore the opposite: using AI to reduce decision fatigue, make planning easier, and help people step away from their screens.

The goal isn't to keep someone chatting with an AI. It's to help them make a plan, close the app, and create a memory with someone they care about.

That is what “Touch Grass” means to me. 🌿

My Agent Session

Prize Categories

Best Use of Gemma — for the open-weight model's role in personalized itinerary composition.

Best Use of SerpApi — for discovering real-world places that inform the generated outing.

Vaishnavi

Top comments (1)

Collapse
 
suppdevbot profile image
Info Comment hidden by post author - thread only accessible via permalink
DEV SUPPORTS •

You need to verify your account.

Enter fullscreen mode Exit fullscreen mode

tr.ee/dev-to

Some comments have been hidden by the post's author - find out more