AdaptIQ — Project Story
💡 Inspiration
Education is rarely truly personal. Whether you sit in a classroom of thirty students or follow an online course, the lesson moves at one pace — the average pace — leaving the fastest learners bored and the struggling ones lost. Growing up and watching peers fall behind not because they lacked intelligence, but because the system never bent to meet them where they were, planted a seed of frustration in us.
The question that kept surfacing was deceptively simple:
What if a learning platform could figure out exactly what you don't know and teach you precisely that?
The 2026 Build with AI Hackathon gave us the runway to finally answer it. We set out to build AdaptIQ: a platform where the curriculum comes to the learner, not the other way around.
How We Built It
AdaptIQ is a fully client-side single-page application no backend, no build pipeline, just clean vanilla HTML, CSS, and JavaScript running entirely in the browser.
Architecture at a Glance
AdaptIQ (Static SPA)
├── index.html Structure & semantic markup
├── styles.css Full design system (Space Grotesk, Inter, JetBrains Mono)
└── app.js All logic:
├── State management (localStorage)
├── Gemini API integration
├── Featherless AI integration
├── Lesson generation engine
├── Quiz engine
├── AI Tutor chat
└── XP / progress tracking
The deliberate choice of zero dependencies and zero build steps was a philosophical one: we wanted something any developer — or motivated learner — could fork, understand, and deploy to GitHub Pages in under five minutes.
The AI Layer
We integrated two AI backends to give users flexibility:
-Google Gemini 1.5 Flash. fast, capable, and freely accessible via Google AI Studio. Featherless AI. an OpenAI-compatible gateway unlocking 100+ open-source models.
Both are called directly from the browser. API keys are stored in localStorage only and are never transmitted to any server we control, making privacy a first-class feature rather than an afterthought.
The adaptive loop works roughly like this. When a user starts a topic, AdaptIQ prompts the AI to generate a lesson calibrated to their current mastery level $m \in [0, 1]$. After a quiz, mastery updates according to:
$$m_{t+1} = m_t + \alpha \cdot \left(\text{score}_t - m_t\right)$$
where $\alpha$ is a learning rate constant. Future lessons and quiz difficulty are then generated conditioned on the updated $m_{t+1}$, closing the feedback loop.
Gamification & Progress
To keep learners engaged, we built an XP system with mastery rings and activity logs. Every correct answer, completed lesson, and tutoring session contributes to visible progress making the abstract feeling of "getting better" concrete and satisfying.
What We Learned
Building AdaptIQ was as much a learning experience as the product itself.
Prompt engineering is product design. The quality of an AI-generated lesson is entirely a function of how well you describe what you want. We iterated dozens of times on the system prompts that drive lesson generation and quiz creation before the output felt genuinely pedagogical rather than generic.
Stateless doesn't mean simple. Running everything in the browser with localStorage as our only persistence layer forced us to think carefully about state serialization, conversation history management, and graceful degradation when storage limits are hit.
Multi-model support is harder than it looks.Gemini and Featherless AI share a surface-level API shape, but their response formats, token limits, and error behaviors differ in subtle ways that required defensive handling throughout app.js.
Privacy-first architecture is a design constraint, not a feature flag. Deciding early that API keys would never leave the client shaped every subsequent architectural decision.
Challenges We Faced
Keeping the AI on-topic. Language models have a tendency to drift. When asked to generate a quiz on photosynthesis, an unconstrained model might produce questions that are too easy, too obscure, or simply off-topic. We spent significant time crafting structured prompts with explicit output schemas to keep responses tight and educationally relevant.
Adaptive difficulty without a real user model. True adaptive learning systems use sophisticated item response theory and large datasets of learner interactions. We had neither, so we approximated with a lightweight exponential moving average on quiz scores. It works well enough to feel adaptive, but it also reminded us how much richness a real learner model could add.
CORS and browser security. Calling third-party AI APIs directly from a browser introduces cross-origin constraints. Gemini and Featherless AI both expose CORS-friendly endpoints, but debugging unexpected preflight failures cost us real time.
Scope management under hackathon pressure. We had ideas for voice-based tutoring, collaborative study rooms, and spaced repetition scheduling. Deciding what not to build — and building the core loop exceptionally well instead — was arguably the hardest engineering decision of the project.
What's Next
AdaptIQ is a proof of concept today, but the foundation is intentionally extensible. On our roadmap:
Spaced repetition scheduling. revisit topics at scientifically optimal intervals. Voice tutor mode. speak your questions, hear the answers. Offline support. service workers to cache lessons for low-connectivity environments (especially relevant for learners in regions with unreliable internet). Peer study rooms. share your learning path and quiz each other in real time.
Built for the 2026 Build with AI Hackathon by Kafeero Mirembe Mercy(Lead Developer & UI/UX) and Kukiriza Samuel (AI Integration & Product Strategy).
AdaptIQ makes learning feel like it was made just for you.

Log in or sign up for Devpost to join the conversation.