ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Practice speaking languages with an AI tutor that listens, speaks, and translates in real time
AI summary · website and README
EducationHTML · TypeScriptGitHub @nahuelbrizuOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
Lingo AI is a real-time conversational language tutoring application. Speech recognition runs client-side via the browser's Web Speech API; speech synthesis runs server-side via Google Cloud TTS; the AI conversation logic (Claude) can teach and translate between several languages.
This is a monorepo project split into two main parts:Read the full README ↗Lingo AI is a real-time conversational language tutoring application. Speech recognition runs client-side via the browser's Web Speech API; speech synthesis runs server-side via Google Cloud TTS; the AI conversation logic (Claude) can teach and translate between several languages.
This is a monorepo project split into two main parts:
/frontend: A Next.js application built with React, handling the UI, microphone input, speech recognition via the Web Speech API, and WebSocket communication with the backend./backend: A Node.js server using WebSockets (ws), Prisma for database interactions, the Anthropic API (Claude) for the conversation model, and Google Cloud Text-to-Speech for the AI's voice.SpeechRecognition — only the resulting text is sent to the backend, no raw audio.claude-sonnet-5 with a system prompt tailored to the chosen target language, with tool-calling support.claude-sonnet-5 (via a forced tool call for structured JSON output) to identify common mistakes, mastered topics, and provides personalized feedback, storing the results via Prisma.generationId tracks the lifecycle of an AI response. If the user interrupts (barge-in), the current generationId is invalidated, preventing "ghost" audio.backend/prisma/schema.prisma)You need to create a .env file in the backend/ directory with the following variables:
# Backend .env
DATABASE_URL="postgresql://user:password@localhost:5432/lingodb?schema=public"
NEXTAUTH_SECRET="your_nextauth_secret_for_jwt_verification"
# Claude (Anthropic)
ANTHROPIC_API_KEY="your_anthropic_api_key"
# Google Cloud (Text-to-Speech)
GOOGLE_CLOUD_API_KEY="your_google_cloud_api_key"
In the frontend/ directory, create a .env.local file:
# Frontend .env.local
NEXT_PUBLIC_WEBSOCKET_URL="ws://localhost:8080"
Install dependencies from the root directory. This will install dependencies for both the frontend and backend workspaces.
npm install
Navigate to the backend/ directory and run Prisma migrations to set up your database schema:
cd backend
npx prisma migrate dev
You can run both the frontend and backend concurrently from the root directory using:
npm run dev
http://localhost:3000.ws://localhost:8080.The frontend contains comprehensive tests for the state management, FSM logic, and managers. Run them using:
cd frontend
npm run test