Skip to content

Johnmiicheal/mazebox

Repository files navigation

mazebox - NTU Campus Navigation

AI-powered campus assistant with indoor navigation (Android), AR treasure hunt, and financial wellness tracking
Fine-tuned exclusively for Nottingham Trent University

Lua AI Next.js React TypeScript Mapbox Tailwind CSS Zustand Node.js Android Framer Motion Zod


🚀 What is mazebox?

mazebox is a smart campus navigation system built exclusively for NTU students. It combines:

  • 📱 Indoor Navigation (Android only) - Turn-by-turn directions inside NTU buildings
  • 🗺️ 3D Outdoor Maps - Mapbox visualization for navigating between buildings
  • 🤖 AI Assistant - 8 intelligent tools fine-tuned for NTU (rooms, timetables, shuttles, gym, events, charging stations)
  • 🎮 Gamification - AR treasure hunt, daily quests, leaderboards, financial tracking
  • 💰 Financial Wellness - Track money saved through smart student choices

⚡ Quick Start

Prerequisites

1️⃣ Backend (AI Agent)

# Install dependencies
npm install

# Create environment file
cp env.example .env

# Add your API keys to .env (optional for basic testing)
# GOOGLE_MAPS_API_KEY=your_key_here

View more documentation on Lua AI here

2️⃣ Frontend (Web App)

# Navigate to frontend
cd frontend

# Install dependencies
npm install

# Create environment file
echo "NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your_mapbox_token" > .env.local

# Run dev server
npm run dev

Open http://localhost:3000 🎉

3️⃣ Mobile (Android - Indoor Navigation)

Pre-built APK: frontend/public/apk/map.apk

Install on Android device to access indoor navigation feature.


🏗️ Architecture

┌─────────────────────────────────────────────────────┐
│  ANDROID APP (Indoor Navigation)                   │
│  • Turn-by-turn indoor directions                  │
│  • Floor-by-floor pathfinding                      │
│  • Offline mode with downloadable maps             │
└─────────────────────────────────────────────────────┘
                         ↕
┌─────────────────────────────────────────────────────┐
│  WEB APP (Next.js 16)                               │
│  • 3D outdoor maps (Mapbox GL)                      │
│  • AI chat interface                                │
│  • AR treasure hunt                                 │
│  • Quest system & leaderboard                       │
│  • Game stats (Zustand + localStorage)             │
└─────────────────────────────────────────────────────┘
                         ↕
┌─────────────────────────────────────────────────────┐
│  AI AGENT (Lua AI)                                  │
│  • 8 NTU-specific tools:                            │
│    1. Find available rooms                          │
│    2. Get student timetable                         │
│    3. Check gym equipment                           │
│    4. Shuttle status                                │
│    5. Find events                                   │
│    6. Weather suggestions                           │
│    7. Directions to buildings                       │
│    8. Find charging stations                        │
└─────────────────────────────────────────────────────┘

🎮 Features

Navigation

  • Indoor (Android): MAE, ABK, ARK, BON buildings with floor plans
  • Outdoor (Web): 3D Mapbox maps with routing (walking/cycling/driving)
  • Seamless transition between outdoor and indoor navigation

AI Tools (NTU-Specific)

  • Room finder with proximity sorting
  • Student timetable with auto-routing
  • Gym equipment availability tracker
  • NCTX shuttle real-time arrivals
  • Campus events discovery
  • Weather-aware suggestions
  • Building directions (supports abbreviations: MAE, ARK, BON, etc.)
  • Charging station locator

Gamification

  • 8 AR Treasures (Common → Legendary rarity, 50-200 pts)
  • 15+ Daily Quests (Exploration, Navigation, Financial)
  • Financial Tracking (Monitor money saved, £150+/month potential)
  • Leaderboard & daily streaks
  • QR Code System for treasure collection

🛠️ Tech Stack

Frontend:

  • Next.js 16.0, React 18.3, TypeScript 5.4
  • Mapbox GL 3.1, react-map-gl 7.1
  • Zustand 5.0, Framer Motion 11.18
  • Tailwind CSS 3.4, Lucide React 0.400
  • @google/model-viewer 4.1, QRCode 1.5

Backend:

  • Lua CLI 3.0.2, TypeScript 5.9, Zod 3.24
  • Node.js 20+, tsx 4.7
  • Axios 1.6

APIs:

  • Google Geocoding (building locations)
  • Mapbox Directions (routing)

📱 Pages

  • / - Main map + AI chat
  • /hunt - AR treasure hunt
  • /quests - Daily quest management
  • /leaderboard - Student rankings
  • /qr-generator - Generate QR markers for treasures

🎯 Key Differentiators

  • First campus app with true indoor navigation (Android)
  • Fine-tuned exclusively for NTU (knows all building codes, locations, services)
  • Gamification meets utility (fun + practical)
  • Financial wellness tracking (teaches responsible spending)
  • Multi-platform (Web + Android, iOS support coming)

📂 Project Structure

lua-navigator/ (mazebox)
├── src/                    # AI Agent (Lua)
│   ├── index.ts
│   ├── skills/
│   │   └── campus-navigator.skill.ts
│   ├── services/           # Google Geocoding, Mapbox
│   └── data/               # NTU rooms, shuttles, gym, events
│
├── frontend/               # Next.js Web App
│   ├── app/                # Pages
│   ├── components/         # React components
│   ├── context/            # Zustand game state
│   ├── data/               # Buildings, treasures, quests
│   └── public/
│       ├── models/         # 3D GLB models
│       └── apk/            # Android build
│
├── package.json
├── lua.skill.yaml
└── README.md

🔮 Roadmap

  • iOS app with indoor navigation
  • Real-time API integrations (NTU Timetable, EWS, NCTX)
  • Voice interface
  • Multi-language support
  • White-label for other universities

💡 Inspired By

About

like mazemap but [ai]:sparkle

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages