Skip to content
This repository was archived by the owner on May 11, 2026. It is now read-only.

Ruthwik-Data/vibemapagent

Repository files navigation

VibeMap Agent

A Next.js + React app that integrates Google Maps with AI-powered location discovery using Ollama. Displays interesting Manhattan locations discovered by local language models.

Features

  • Interactive Google Maps centered on downtown Manhattan
  • AI-powered location discovery via Ollama LLM integration
  • Custom markers for AI-suggested venues
  • Responsive design with dark mode support
  • Graceful fallback when API keys are missing
  • Local-first architecture - runs locally with Ollama

Prerequisites

  1. Google Maps API Key (required)

  2. Ollama (optional but recommended)

    • Download from ollama.ai
    • Ensure it's running locally (default: http://localhost:11434)

Environment Variables

Copy .env.example to .env.local and fill in the required values:

cp .env.example .env.local

Required Variables

  • NEXT_PUBLIC_GOOGLE_MAPS_API_KEY - Your Google Maps API key (required for map to display)

Optional Variables

  • NEXT_PUBLIC_OLLAMA_BASE_URL - Ollama endpoint (default: http://localhost:11434)
  • NEXT_PUBLIC_OLLAMA_MODEL - Ollama model to use (default: llama2)

Getting Started

  1. Install dependencies:

    npm install
  2. Set up environment variables:

    # Edit .env.local with your Google Maps API key
    NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_key_here
  3. (Optional) Start Ollama:

    ollama serve
    # In another terminal, pull a model:
    ollama pull llama2  # or any other available model
  4. Run the development server:

    npm run dev
  5. Open http://localhost:3000 in your browser

Usage

  • The map displays downtown Manhattan by default
  • Click "Discover Locations" to fetch AI-suggested venues
  • Click on location names to pan the map
  • Markers are placed at coordinates returned by the AI

Architecture

app/page.tsx                    # Main page component
components/MapContainer.tsx     # Google Maps + Ollama integration
lib/ollama.ts                   # Ollama API client
types/location.ts               # TypeScript types

How It Works

  1. Google Maps renders an interactive map centered on downtown Manhattan
  2. Ollama generates location suggestions using a local LLM
  3. Markers are placed on the map at the coordinates returned by Ollama
  4. UI Panel displays discovered locations and error states

Notes

  • All environment variables are public (NEXT_PUBLIC_ prefix) since they're client-side
  • Ollama connectivity is graceful - errors don't break the app
  • The map shows a helpful message if the Google Maps API key is missing
  • Works offline once the map tiles are cached

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages