Skip to content

mahdiyyeh/EventBrain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Event Brain – The Offline AI Copilot for Events & Hackathons

"The event assistant that still works when the Wi-Fi dies."

🎯 Problem

Events and hackathons almost ALWAYS start with:

  • ❌ No Wi-Fi
  • ❌ No 4G/5G signal
  • ❌ No access to schedules, speaker info, maps, logistics
  • ❌ Can't even text your teammate to find them
  • ❌ Standing outside in the cold waiting for signal

✨ Solution: Event Brain

A mobile AI assistant that works 100% offline, using on-device AI via Cactus.

You download the event bundle once, then the app lets you:

βœ”οΈ Ask anything about the event offline:

  • "What's happening after 3pm?"
  • "Where is the submission link?"
  • "Which sessions are about on-device AI?"
  • "Who are the judges and what do they do?"

βœ”οΈ Built from a local event knowledge base:

  • Schedule
  • Speakers
  • Locations
  • Rules, judging criteria
  • Wi-Fi / logistics
  • Submission links

All stored fully on the device (JSON).

βœ”οΈ AI answers using only offline data

We filter relevant parts of the JSON then feed it to Qwen3-0.6 running through Cactus locally.

  • No cloud
  • No latency
  • No data leaving the device

The perfect "edge AI" demo.

⭐ Memory Master Track (Bonus Feature)

Users can also save:

  • ⭐ Starred sessions
  • πŸ“ Notes about people they meet ("Met Roman β€” Cactus founder, likes edge-first demos")

Then ask:

  • "What starred sessions do I have after lunch?"
  • "Who did I meet that works on fintech?"

These personal notes are stored locally as a shared memory for the model.

This directly hits Track 1: Memory Master.

πŸš€ Features

Core Features

  • 100% Offline AI Assistant - Powered by Cactus on-device AI (Qwen3-0.6)
  • Event Knowledge Base - All event data stored locally in JSON
  • Zero Latency - Instant responses, no network calls
  • Complete Privacy - No data leaves your device

Memory Master Features

  • Star Sessions - Mark favorite sessions to remember
  • Session Notes - Add notes about specific sessions
  • People Notes - Remember who you met and what they do
  • Contextual Memory - AI uses your notes to answer questions

UI/UX

  • Nothing Phone Aesthetic - Dark, minimal, clean design
  • Three Tabs - Assistant, Schedule, People
  • Smart Context Filtering - Only relevant data sent to AI
  • Beautiful Date Formatting - Human-readable times

πŸ› οΈ Tech Stack

  • React Native - Mobile app framework
  • Cactus React Native SDK - On-device AI inference
  • Qwen3-0.6 - Small, fast on-device language model
  • AsyncStorage - Local data persistence
  • Android - Primary platform (iOS support available)

πŸ“¦ Installation

Prerequisites

  • Node.js >= 20
  • React Native development environment set up
  • Android Studio (for Android builds)

Setup

  1. Install dependencies:

    npm install
  2. Start Metro bundler:

    npm start
  3. Run on Android:

    npm run android

πŸ“± Usage

First Launch

On first launch, the app will:

  1. Download the Qwen3-0.6 model to your device (one-time, ~600MB)
  2. Cache it locally for instant future use
  3. Load your event data from the bundled JSON

Using the Assistant

  1. Open the Assistant tab
  2. Ask questions like:
    • "What's happening after 3pm?"
    • "Where is the submission link?"
    • "Who are the judges?"
    • "What starred sessions do I have?"
    • "Who did I meet that works on fintech?"

Managing Schedule

  1. Open the Schedule tab
  2. Star sessions by tapping the star icon
  3. Add notes by tapping "+ Add Note" on any session
  4. View your notes - they appear below each session

Remembering People

  1. Open the People tab
  2. Tap "+ Add Note About Someone"
  3. Enter name and note (e.g., "Roman - Cactus founder, likes edge-first demos")
  4. Ask the assistant about people you've met

🎨 Design Philosophy

Event Brain follows the Nothing phone aesthetic:

  • Pure black background (#000000)
  • Minimal borders (#1a1a1a, #2a2a2a)
  • High contrast text (#ffffff on black)
  • Rounded corners (16-24px radius)
  • Clean typography (system fonts, proper weights)
  • No unnecessary elements

πŸ”’ Privacy & Offline

  • 100% Offline - Works in airplane mode
  • No Cloud - All processing on-device
  • No Tracking - Zero analytics or telemetry
  • Local Storage Only - All data stays on your device
  • No Network Calls - Except initial model download

🎯 Why This App is Perfect for This Hackathon

βœ”οΈ Real pain the judges experienced today

  • No Wi-Fi β†’ useless schedules β†’ chaos

βœ”οΈ A genuine on-device AI use case

  • Not a chat wrapper
  • Not a toy
  • A real problem solved by edge inference

βœ”οΈ Zero-latency, offline, private

  • Exactly what Cactus wants to show off

βœ”οΈ Lightweight and achievable in hackathon time

  • Local JSON
  • Simple UI (chat + schedule list)
  • Cactus LM call
  • Small context filter
  • Optional notes/star feature

βœ”οΈ Nothing judges will love the design

  • Clean, minimal, dark UI β†’ fits Nothing phone aesthetic

βœ”οΈ Future potential beyond hackathon

  • Events, universities, festivals, conferences
  • Even low-connectivity regions

πŸ“ Event Data Structure

Event data is stored in eventData.js as JSON:

{
  event_name: string,
  location: string,
  wifi: { name: string, password: string },
  submission: { form_url: string, deadline: string },
  sessions: [
    {
      id: string,
      title: string,
      description: string,
      start_time: ISO8601,
      end_time: ISO8601,
      location: string,
      tags: string[]
    }
  ],
  speakers: [
    {
      id: string,
      name: string,
      role: string,
      company: string,
      bio: string,
      tags: string[]
    }
  ]
}

πŸ”§ Configuration

Changing Event Data

Edit eventData.js to update:

  • Event name and location
  • Wi-Fi credentials
  • Schedule sessions
  • Speaker information
  • Submission links

Model Configuration

Edit cactusClient.js to change:

  • Model name (currently qwen3-0.6)
  • System prompt
  • Context formatting

πŸ› Troubleshooting

Model Download Fails

  • Check internet connection (needed only for first download)
  • Ensure device has enough storage (~1GB free)
  • Try restarting the app

App Crashes on Launch

  • Clear app data and reinstall
  • Check React Native version compatibility
  • Ensure Cactus SDK is properly installed

AI Responses Are Slow

  • First inference may be slower (model loading)
  • Subsequent queries should be instant
  • Check device performance (older devices may be slower)

πŸš€ Building for Production

Android APK

cd android
./gradlew assembleRelease

The APK will be in android/app/build/outputs/apk/release/

iOS Build

cd ios
pod install
npm run ios

πŸ“„ License

This project is built for the Cactus x Nothing x Hugging Face Hackathon.

πŸ™ Acknowledgments

  • Cactus - For the amazing on-device AI SDK
  • Nothing - For the design inspiration
  • Hugging Face - For the hackathon platform

Built with ❀️ for events that have no Wi-Fi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors