ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Read books and learn languages with AI. Tap any word for instant translation, grammar breakdown, and smart flashcards.
EducationTypeScript · CSSGitHub @aslanzubairaev2OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Book reader with AI assistant for learn and practic language
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
An intelligent application for learning foreign languages through reading. Open a book, tap on any word, and receive an instant analysis: translation, grammar, context, and examples. Listen to the text with interactive karaoke highlighting and sync your progress across all devices.Read the full README ↗v1.1.0 · Mobile-first PWA · Next.js 16 · Gemini AI · Supabase Cloud
An intelligent application for learning foreign languages through reading. Open a book, tap on any word, and receive an instant analysis: translation, grammar, context, and examples. Listen to the text with interactive karaoke highlighting and sync your progress across all devices.
| Home | Reader | AI Panel | Flashcards |
|---|---|---|---|
| Dashboard with progress | Book text with highlights | Word/phrase analysis | List of saved words |
_de, -en, -fr, -es).new, due, learning.Settings → Подключение ИИ-агентов issues a personal, HMAC-signed URL
(/api/mcp/<token>) that turns the app into an MCP server. ChatGPT, Claude,
Gemini CLI and anything else that speaks the protocol can then read the
learner's state and write into their app. Every call is scoped to the token's
owner and is plain database work — no Gemini spend.
The agent on the other end is the language model: it writes the texts and picks the words, and these tools store them exactly the way the in-app generator does.
| Area | Tools |
|---|---|
| Discovery | get_overview, get_capabilities |
| Flashcards | list_flashcards, add_flashcards, update_flashcard, delete_flashcards, get_study_words |
| Dictionary & batches | list_word_batches, list_batch_words, search_dictionary, add_word_batch, add_words_to_batch |
| Learning quality | get_progress, get_training_summary, get_training_history (docs) |
| Texts | create_lesson, list_texts, get_text, list_catalogue |
| Interactive tests | get_assessment_capabilities, create_assessment, update_assessment, prepare_assessment_audio, get_assessment_status, publish_assessment, list_assessments, get_assessment_results, submit_assessment_review, get_learning_gaps, check_dictionary_words, get_speech_service_status |
Interactive tests are taken by the learner at /test/<id> (and listed on the home
screen): reading, listening (recorded by the app itself with Gemini TTS, with a
server-side play limit), choice, gaps, word order, short answers, translation of a
ready Russian text, writing, and speaking — read aloud, listen-and-repeat and free
spoken answers assessed by Azure Pronunciation Assessment (AZURE_SPEECH_KEY,
AZURE_SPEECH_REGION) — in a learning or a diagnostic mode. The learner can tap
any word for a translation or mark it unknown; the teacher agent sees both. Schemas, rules and examples for the teacher agent:
docs/assessments-mcp.md.
Beyond tools, the server also serves prompts (ready-made flows the learner
can pick from a menu: «рассказ из моих слов», «что я забываю») and resources
(aibook://guide, aibook://state, aibook://progress). All three are built
from one description of the app in lib/mcp/capabilities.ts, because clients
disagree about which of them the model actually sees — ChatGPT's connector UI,
for instance, drops the server's instructions. lib/mcp/tools.test.ts fails
the build if a tool exists that the capability map does not mention, which is
what keeps a newly shipped feature from being invisible to connected agents.
aibook/
├── app/
│ ├── layout.tsx # Root layout, PWA metadata, CSS imports
│ ├── page.tsx # Main SPA router (section state machine)
│ ├── auth/ # Auth pages (Login/Signup)
│ └── api/
│ └── ai/
│ └── analyze/
│ └── route.ts # Server-side proxy → Gemini API
│
├── components/
│ ├── ui/
│ │ ├── AppShell.tsx # Application shell with bottom navigation
│ │ ├── AudioScrubber.tsx # Interactive TTS controls
│ │ └── SpeakButton.tsx # TTS trigger
│ ├── auth/ # Authentication components
│ ├── home/ # Dashboard widgets
│ ├── library/ # File upload, book list
│ ├── reader/ # Reader view with word highlighting
│ ├── ai-panel/ # Side panel for AI analysis
│ ├── word-modal/ # Modal window for word analysis
│ ├── cards/ # Flashcards list
│ └── settings/ # Settings & Profile
│
├── lib/
│ ├── ai/ # Gemini API logic & prompts
│ ├── auth/ # Supabase Auth hooks
│ ├── db/ # LocalStorage & Supabase CRUD
│ ├── parser/ # TXT/EPUB parsers
│ ├── tts.ts # TTS Engine (Gemini/Browser)
│ └── config.ts # App constants
│
├── styles/ # Vanilla CSS design system
└── public/ # PWA assets & manifest
| Technology | Role |
|---|---|
| Next.js 16 | Framework |
| React 19 | UI Library |
| Supabase | Auth, Database, Cloud Sync |
| Gemini AI | Text Analysis & TTS |
| epubjs | EPUB Parsing |
| Lucide | Icons |
Your data is private. While we use cloud sync, your Gemini API key remains in your local storage and is never stored on our servers.
ISC © 2025