Hijac — Hackathon Submission

Inspiration

Hijac was born from a personal pain point: the mental overhead of managing routine tasks that should happen automatically. We forget to open navigation when leaving work. We forget to set reminders after focus sessions. We forget to order lunch when leaving the building. What if your phone could learn your patterns and just do these things for you?

What it does

Hijac is a mobile-first AI agent that reads your phone's sensors in real-time and performs automated actions based on learned patterns or user-defined rules. Core capabilities:

  • Sensor Ingestion — GPS, gyroscope, accelerometer, system time
  • Episode Detection — Phone set down, picked up, left building geofence
  • AI Agent Reasoning — Jac's by llm() for contextual decisions
  • Automated Actions — Maps, notifications, calendar events, webhooks
  • Persistent Memory — Learns habits across sessions via Backboard.ai Demo Flow: Place phone face-down → Agent enters focus mode → Pick up → Agent proposes follow-up actions → Confidence increases with each repetition ## How we built it | Layer | Technology | |-------|------------| | Language | Jac (AI-native) → hj { } → JavaScript → Capacitor → Android | | Sensors | Capacitor plugins: Geolocation, Motion, Device | | Backend | InsForge (PostgreSQL via PostgREST) | | Memory | Backboard.ai (semantic memory) | Architecture: [Sensors] → [Jac Nodes + Walkers (on-device)] → [Actions] ↓ [InsForge DB] + [Backboard Memory] Backend Documentation:
  • 2000+ line BACKEND.md — Complete API integration guide with curl commands for every InsForge table and Backboard namespace
  • BACKEND.md — Data contracts, table schemas, memory namespace design
  • Architecture visualization — DOT graphs showing sensor → node → walker → action → backend flow ## Challenges we ran into Jac Compiler Limitations — Labeled edge syntax (+:edge_type:+>) doesn't work; simplified to ++> edges Sensor Integration — Capacitor permission handling for Android 12+, debouncing noisy sensor data, 8-second threshold for episode detection ## Accomplishments that we're proud of
  • 7 InsForge tables with proper indexes (sensor_events, episode_log, action_log, user_rules, user_patterns, location_history, safety_assessments)
  • 4 Backboard.ai namespaces (ritual_patterns, geofence_patterns, conversation_commitments, safety_events)
  • 2000+ line backend integration guide (EXECUTE.md) with every API call documented
  • Architecture visualization showing all layers
  • Working mobile app in both Jac and TypeScript
  • Complete demo flow with confidence scoring
  • All 3 sponsor tracks: Jac Lang, InsForge, Backboard.ai ## What we learned
  • Jac: AI-native programming with walkers, nodes, by llm(), hj { } codespace
  • InsForge: PostgREST patterns, table design, direct API from mobile
  • Backboard.ai: Semantic memory with Auto/Readonly modes for habit learning
  • Mobile Sensors: Capacitor integration, derived metrics (is_flat, is_face_down), episode detection algorithms ## What's next for Hijac
  • Production polish and UI improvements
  • Expand sensor support (heart rate, step counter)
  • More action integrations (calendar APIs, messaging)
  • Open-source release

Built With

  • jac
Share this project:

Updates