Project Name

ORI


Elevator Pitch

Your AI study companion that detects how you learn in real time, not what. No camera, no mic. Just behaviour. Because studying harder was never the answer.


Inspiration

We are five undergrads from MBZUAI in Abu Dhabi. We flew to Hong Kong for this hackathon because we genuinely believed we had something worth building.

The problem hit us personally. We have all been that student. Reading the same paragraph on repeat. Highlighting everything. Asking ChatGPT and getting a technically correct answer we didn't actually understand. Showing up to an exam and drawing a blank on something we "studied."

The thing that frustrated us wasn't the difficulty of the content. It was that not one tool we had ever used stopped to ask whether we actually understood it. Every AI tutor, every search engine, every study app operates on the same assumption: you know what you need to ask. But the gaps that actually hurt you on exam day are never the things you thought to ask about. They're the things you didn't even know you were missing.

We also noticed something else. None of these tools treat students as individuals. The visual thinker gets walls of text. The student three minutes from a breakthrough gets interrupted with an explanation they didn't need. We wanted to build something that watches, waits, and only speaks when it has something worth saying.

That's ORI.


What it does

ORI is a browser extension paired with a personal learning analytics dashboard. At its centre is Ori, a small animated companion that lives quietly in the corner of whatever you are studying: Wikipedia, YouTube, PDFs, any webpage.

Ori's default state is asleep. He doesn't interrupt, doesn't demand attention, doesn't blink at you. He wakes up only when the system detects something genuinely worth surfacing.

Behind Ori, the system reads the signals already present in how you interact with any page: scroll speed, section revisits, typing rhythm, idle gaps, click density. From these behavioural proxies alone (no camera, no microphone, no biometrics, ever) ORI classifies your cognitive state in real time across seven states: FLOW, CONFUSION, FRUSTRATION, MIND_WANDER, OVERLOAD, BOREDOM, and INSIGHT.

When confusion is detected, Ori wakes and suggests a targeted technique: the Feynman method, modality switching, active recall, depending on what your personal history shows works for you. When you've been stuck in text for four minutes, he offers a diagram instead. When you're in flow, he stays asleep and lets you work.

The dashboard builds a living portrait of you as a learner over time: which techniques work for you, your cognitive patterns by subject, what you've genuinely understood versus what you've only memorised, and upcoming spaced repetition reviews so nothing fades.

The goal isn't to need ORI forever. It's to become the kind of learner who doesn't.


How we built it

We split into focused tracks and built in parallel across three days.

Extension built on Chrome Manifest V3. A content script collects behavioural signals (16 allowlisted numeric keys only, no content strings) and aggregates them every 30 seconds. Readability.js extracts clean page context ephemerally when needed for question generation. The Ori avatar is an SVG-animated panda rendered as an overlay on any active study page.

Backend built on FastAPI with Python 3.11, deployed to AWS Lambda via SAM with a Lambda Function URL. Three DynamoDB tables (Users, Sessions, Assessments) handle persistence. The Policy Engine is pure Python: a deterministic composite scorer that ranks 9 study techniques against the current cognitive state using cluster affinity, personal success rate, context fit, and a fatigue adjustment. No LLM on the hot path, so latency stays low.

AI layer powered by MiniMax API (MiniMax-M2.5) for Socratic question generation and micro-assessment grading. Page context is sent ephemerally: used inside the prompt and immediately discarded, never stored or logged. A PrivacyFilter scrubs sensitive fields from all server logs at the middleware level.

Dashboard built with React, TypeScript, Vite, Tailwind CSS, Recharts, and Framer Motion. The dashboard is read-only analytics: focus state distribution, technique success rates, per-topic mastery curves, spaced review queue, and a full session timeline showing how your cognitive state shifted across a session.

Privacy architecture built on the PP-EDUVec framework (City University of Macau, February 2026). All learner profile processing runs locally in the browser. Optional anonymised data sharing uses a Laplace mechanism with $\varepsilon = 0.1$, making individual attribution mathematically impossible.


Challenges we ran into

Getting behavioural signals right without content. The constraint was strict: only numeric timing and interaction signals. No keystrokes, no page HTML, no screenshots. Building a classifier that meaningfully distinguishes CONFUSION from MIND_WANDER from FLOW using only scroll velocity, idle gaps, and revisit counts took serious iteration. The PP-EDUVec research gave us the theoretical grounding, but translating it into a working signal pipeline took most of day one.

Latency on the hot path. Every 30 seconds the extension fires a state update and expects a response with a potential suggestion. Running an LLM call on every update would have been far too slow. We solved this by making the Policy Engine a fully deterministic Python scorer with no API call, and only invoking MiniMax when a technique is actually being delivered to the student.

Keeping Ori calm. The hardest UX challenge was restraint. The temptation with any AI tool is to make it do more, surface more, interrupt more. We had to actively fight that instinct. The ignore counter, the sleep flag after three dismissals, the minimum confidence thresholds before Ori wakes: all of these were deliberate decisions to make Ori feel trustworthy rather than annoying.

Coordinating across three codebases under time pressure. Extension, backend, and dashboard all needed to agree on data contracts. We wrote the API contract document first and used it as a shared source of truth across the team, which helped but still required constant syncing across the 48 hours.


Accomplishments that we're proud of

We built something that actually works: a real Chrome extension, a live backend on AWS, a functioning dashboard, not a prototype with mocked data pretending to do things.

We are proud of the privacy architecture. It would have been easy to skip differential privacy and local-first processing to save time. We didn't. The PP-EDUVec framework is genuinely implemented, not just cited in a slide.

We are proud of Ori. The decision to make him sleep by default sounds small but it changes everything about how the product feels. It respects the student's focus. That one design principle ran through every decision we made.

And we are proud that five undergrads flew from Abu Dhabi to Hong Kong, built this in under 48 hours, and shipped something we would actually want to use ourselves.


What we learned

Building with privacy constraints from day one is fundamentally different from adding privacy later. When you can only collect numeric aggregates, you have to think much more carefully about what those aggregates actually mean. That pressure made the signal design sharper.

The most important design decisions in an AI product are the ones about when it does not act. Knowing when to stay quiet, when to wait, when to trust the user to work something out themselves: that is harder to get right than building the intelligence behind the action.

Writing the backend spec before writing any code saved us hours of debugging mismatched payloads. Shared contracts first, implementation second.

And honestly, we learned that we work well together under pressure. That mattered more than we expected.


What's next for ORI

More surfaces. Right now ORI works on any webpage via the Chrome extension. YouTube support (detecting confusion from rewind patterns) and PDF annotation support are the obvious next steps.

Richer learner profiles. The dashboard currently shows what happened. We want it to start predicting: flagging concepts you are likely to forget before you forget them, not just scheduling reviews after the fact.

Collaborative learning. Anonymised, privacy-preserving insights aggregated across students studying the same material. Not comparing you to others, but surfacing the gaps that consistently trip people up at the same point in the same content.

Institutional integration. Giving educators an aggregate view of where their students are cognitively struggling, without ever exposing individual data.

The longer vision is a student who uses ORI for six months and then doesn't need it anymore: because they've internalised the techniques, they know how they learn, and they can self-correct without a companion watching. That's the product succeeding.

Built With

Share this project:

Updates

Submission history