# Project export: FocoTA

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: OpenAI Build Week
- Tagline: The adaptive study companion - Study without the shutdown.
- Devpost: https://devpost.com/software/focota
- GitHub: not linked
- Demo: https://hackathon-iota-bice.vercel.app/
- Video: https://www.youtube.com/embed/5H5EnwiQzPs?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### Inspiration

What initially inspired me was my own struggles, as well as the struggles of my peers. Every time I'm handed a big chunk of reading for a course, I get demotivated by the sheer amount of text and the heavy jargon. It takes me a long time to get through the heavy chapters, plus a lot of Googling just to understand what I'm reading. I also work as a tutor, and I've seen my students go through the exact same thing at home: staring at dense material, getting overwhelmed, bored, losing focus, and shutting down before they even really start. I've also noticed that while doing readings, I've had to stop many times because a question came up about the content that was simply not getting answered. Essentially, I am not a fan of static reading as a method of learning. That's what pushed me to build something that could actually adapt to a student in the moment, instead of just repeating the same explanation slower.

### What it does

FocoTA takes any course notes, slides, or textbook excerpt a student pastes in and uses GPT-5.6 to break the text down into core concepts. It maps out which ideas depend on which others. Each concept is presented as a narrated, presentation-style slide; students can read it themselves or have FocoTA read it aloud in a voice of their choice. If something doesn't make sense, they can ask a question directly and get a short, plain-language answer, or hit "I'm completely lost" for a full reset and brand new explanation using a different, jargon-free approach. After each concept, FocoTA casually checks whether the student actually understood the concept. This is optional and totally skippable. If a student does decide to skip a concept, and later a concept depends on something the student skipped or struggled with earlier, FocoTA flags that connection before diving in. At the end of a session, a final quiz checks real understanding and gives the student a plain-language summary of what's solid and what's worth revisiting. How I built it I worked with Codex (using GPT-5.6) to build the entire application end-to-end, a React/Vite frontend and a set of Vercel serverless functions handling concept extraction, clarifying questions, panic-mode re-explanations, narration, and comprehension-based grading. Every piece of AI reasoning in the app runs through GPT-5.6's Responses API with structured outputs, and OpenAI's TTS API powers the narration. I made the key product decisions, including the two-tier interrupt system (light clarify vs. full panic reset), the optional, non-judgmental check-in design, the dependency-triggered callback mechanic, and the overall tone, and directed Codex through building, testing, and debugging each piece, prompt by prompt, across the course of the week. Challenges I ran into The biggest challenge was untangling OpenAI's billing structure. My hackathon promo credits turned out to be scoped to Codex/ChatGPT usage only, not the standalone API calls my app needed to make, which took real troubleshooting (and eventually a small personal top-up) to figure out and fix. I also hit a subtle integration bug where I'd assumed the OpenAI SDK's output_text convenience field would exist on a raw fetch call to the Responses API. Using Codex's logging, I traced the real response structure and fixed the parsing correctly. On top of that, I had to learn deployment and environment variable management essentially from scratch over the course of this project, debugging real errors (encoding issues, authentication, timeouts) along the way. Accomplishments that I am proud of I'm proud that FocoTA ended up as a fully working, end-to-end product. It didn't turn out to be just a proof of concept, it had every feature from my original vision actually implemented. I'm also proud of how much I learned technically in a short window: I went from never having used Codex or deployed a live app, to shipping a working product live on the internet. What I learned I learned that a good product story starts with a real, specific observation, not a hypothetical user, but something you've actually watched happen. I also learned a huge amount about the practical side of building with AI: how billing and API architecture actually work, how to debug by reading real error logs instead of guessing, and how to direct an AI coding agent effectively.

### What's next

I'd like to test FocoTA with real students across a range of subjects to see how well the dependency-mapping and panic-mode explanations generalize beyond my initial testing. I'd also like to add support for uploading images of handwritten or printed material directly, rather than requiring pasted text, and to build out persistent accounts so students can track their progress and revisit past sessions over time. Lastly, I would love to make the slides more dynamic by adding image generation relevant to the course content to further strengthen a student's understanding.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- React (technology) — claimed on Devpost, not found in the code
- Vercel (technology) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.