DEV Community

Cover image for How I Won Most Creative at the Backboard Spring 2026 Hackathon Building ORACLE, an AI That Lives Your Day Before You Do
Timothy Chimbiv
Timothy Chimbiv

Posted on

How I Won Most Creative at the Backboard Spring 2026 Hackathon Building ORACLE, an AI That Lives Your Day Before You Do

I Built an AI That Reads Your Face Against Your Own Words and Won Most Creative at the Backboard Hackathon

ORACLE. The AI agent that lives your day before you live it. Your mental crack into tomorrow.

Most wellness apps ask how you're feeling. ORACLE doesn't ask. It intercepts.

I built ORACLE for the Backboard.io Spring Challenge 2026 and won the Most Creative prize. Here's the full story of what I built, why I built it, and exactly how Backboard's API made it possible.

The Idea

I wanted to build something that solved a real problem I noticed in myself and people around me: the gap between how we say we're doing and how we're actually doing.

Every morning, people open wellness apps and tap "I'm fine" or "energy level: 7/10." But that self-report is often wrong, not because people lie, but because we don't notice what our bodies are already showing.

ORACLE closes that gap. It cross-references what you say against what your face reveals.

What ORACLE Does

ORACLE runs a daily three-part mental performance loop.

1. Morning Scan
Five sharp questions covering your schedule, sleep quality, main uncertainty for the day, energy reading, and physical state. Not generic wellness questions. Five data points that together surface the hidden risk in your day.

2. Face Reading
After the five questions, ORACLE asks for a selfie. It runs that photo through GPT-4o vision and cross-references it against your answers. If you said "energy: high" but your face shows dark circles and tension, ORACLE names that gap directly.

3. Mid-Day Check-In and Evening Debrief
Three hours after the morning scan, ORACLE checks in with one sharp question about how the day is going relative to the morning prediction. At the end of the day, the evening debrief closes the loop and asks whether the morning prediction came true.

The Technical Stack

ORACLE is built entirely on Backboard's API. Here's exactly what I used and why.

Thread Memory, Persistent Context Across Three Sessions

The morning scan, mid-day check-in, and evening debrief are three separate user sessions. Normally that means three separate conversations with no memory.

Backboard's thread management solved this natively. I assign the same thread_id across all three sessions and Backboard holds the full context automatically.

const response = await fetch('https://api.backboard.io/thread/message', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${BACKBOARD_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    thread_id: userThreadId,
    message: userMessage,
    system_prompt: ORACLE_SYSTEM_PROMPT
  })
});
Enter fullscreen mode Exit fullscreen mode

No database. No custom memory system. One thread ID, and ORACLE remembers the user's full day across all three sessions.

Model Routing, Vision Only When Needed

The morning scan uses GPT-4o-mini routed through Backboard. The face reading requires vision capability, so it routes to GPT-4o with the image attached. Backboard handles the routing.

const faceResponse = await fetch('https://api.backboard.io/thread/message', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${BACKBOARD_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    thread_id: userThreadId,
    message: analysisPrompt,
    image_base64: base64Image,
    model: 'gpt-4o'
  })
});
Enter fullscreen mode Exit fullscreen mode

TTS Voice, Professional Speech Synthesis

The morning briefing is read aloud by ORACLE using Backboard's TTS API routed through OpenAI's onyx voice model. Deep, authoritative, deliberate. Browser synthesis is the fallback only if the API call fails.

const ttsResponse = await fetch('https://api.backboard.io/tts', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${BACKBOARD_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: briefingText,
    voice: 'onyx'
  })
});
Enter fullscreen mode Exit fullscreen mode

One API key. Thread memory, model routing, multimodal vision, and professional voice. Backboard handles all of it.

What I Learned

Ship the weird idea. The face reading feature was the one I almost cut because it felt too ambitious. It ended up being the most talked about part of ORACLE.

Thread memory is underrated. Most people building on LLM APIs spend hours building custom memory systems. Backboard's thread management eliminated that entirely and let me focus on the product.

Voice changes the experience completely. Switching from browser synthesis to Backboard's TTS API transformed ORACLE from a chat interface into something that felt like a real product.

Try It

ORACLE is live at oracle-six-snowy.vercel.app

Code is on GitHub at github.com/Terese678/ORACLE

What's Next

Backboard just released audio input (STT) and expanded voice models including ElevenLabs. The next version of ORACLE will let you speak your morning scan answers out loud instead of typing. Full voice-in, voice-out loop with no screen required at 6 AM.

If you're building on AI APIs and haven't tried Backboard's thread memory, I'd strongly recommend it. It removed an entire layer of complexity from ORACLE and let me focus on what actually matters, the product.

Built in Nigeria. Shipped under deadline. Won Most Creative.

Follow me here on DEV for what comes next.

Top comments (0)