What inspired me? As a teacher, I watched students constantly lose their reading momentum every unfamiliar word meant switching tabs, Googling, and losing the thread of what they were studying. That friction compounds over time and kills deep learning. I wanted to build something that makes understanding happen in place, instantly, without ever breaking focus. Tapit is that tool an AI reading layer that sits on top of any document and answers your questions before you even think to ask them. What it does Tapit is an AI-powered document reader that eliminates the friction of lookup. Double-tap any word to get a precise, context-aware definition. Select any sentence to get a plain-English explanation of complex ideas. Upload PDFs, DOCX, EPUB, or Markdown files and read them inside a clean, distraction-free interface. Built-in smart search summarizes web results directly in your reading view using Google Search grounding no tab switching needed. Full multilingual translation lets you understand any word or passage in your own language instantly. How I built it The frontend is built with React, Vite, TypeScript, Tailwind CSS, and shadcn/ui, with Framer Motion for smooth, focus-preserving animations. The AI engine runs on Google Gemini 3.1 Flash Lite (gemini-3.1-flash-lite-preview) with ThinkingLevel.MINIMAL for maximum response speed. I integrated Google Search Grounding to power the smart search feature with real-time web results, and used streaming chat so responses appear instantly rather than waiting for a full completion. Supabase handles authentication and storage. Document parsing runs entirely client-side, supporting PDF, DOCX, EPUB, and Markdown. Challenges I ran into The hardest challenge was balancing response accuracy with speed. Contextual definitions need to be precise enough to actually help, but slow responses break the reading flow Tapit is designed to preserve. Using gemini-3.1-flash-lite-preview with ThinkingLevel.MINIMAL was the key unlock it delivers sub-second responses without sacrificing contextual quality. Integrating Search Grounding alongside streaming required careful state management to avoid UI jank during live result rendering. Accomplishments I'm proud of Building a genuinely zero-friction reading experience that works on real documents PDFs, EPUBs, research papers not just demo text. The double-tap interaction feels native and invisible, which was the hardest UX problem to solve. Getting Gemini's contextual understanding to produce definitions that are short enough to scan but rich enough to actually teach that balance took a lot of iteration. What I learned The most powerful AI interventions are the ones you barely notice. Gemini's ability to understand a word in the context of the surrounding sentence not just as a dictionary entry is what makes Tapit feel different from a simple lookup tool. I also learned that ThinkingLevel and model selection matter enormously for real-time UX; a 300ms response feels instant, a 1.5s response feels slow enough to break focus. What's next for Tapit Expanding into a full learning layer: math problem breakdowns inline with equations, concept maps generated from uploaded textbooks, and an SDK for ed-tech platforms to embed Tapit's reading intelligence into their own products. Long-term vision is a universal comprehension layer for the web any page, any language, any reader.
Built With
- api
- gemini
- gemini-3.1-flash-lite
- live
- multilingual
- react
- shadcn-ui
- smart-search
- supabase
- tailwind
- the-document-parsing-feature
- typescript
- vite

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