README.md

Lingobot.AI

Lingobot is an AI-powered chatbot built with TypeScript and LangChain that helps users practice and learn new languages through realistic, scene-based conversations. It adapts to user proficiency, corrects mistakes in real-time, stores chat history in SQLite, and offers feedback for continuous improvement. Responsive design and interactive chat UI ensure a smooth learning experience across devices.

https://lingobot-ai.onrender.com/

โœจ Key Features

  • Simulates real-life, scene-based conversations for immersive language learning.
  • Generates natural language responses to simulate realistic, human-like dialogue.
  • Provides a personalized experience by storing user preferences, conversation history, and learning progress across sessions.
  • Supports multiple languages and adapts conversations based on the user's native and target languages.

๐Ÿ›  Tech Stack

ai: google-genai
development: TypeScript, LangChain
deployment: Render

Project Structure

๐Ÿ“Lingobot.AI
๐Ÿ“public
๐Ÿ“„file.svg
๐Ÿ“„globe.svg
๐Ÿ“„next.svg
๐Ÿ“„vercel.svg
๐Ÿ“„window.svg
๐Ÿ“tests
๐Ÿ“app
๐Ÿ“api
๐Ÿ“chat
๐Ÿ“„route.ts
๐Ÿ“chat
๐Ÿ“components
๐Ÿ“„ChatMessages.tsx
๐Ÿ“„MessageInput.tsx
๐Ÿ“„PreferencesPopup.tsx
๐Ÿ“„page.tsx
๐Ÿ“„favicon.ico
๐Ÿ“„globals.css
๐Ÿ“„layout.tsx
๐Ÿ“„page.tsx
๐Ÿ“db
๐Ÿ“„sqlite.db
๐Ÿ“lib
๐Ÿ“„db.ts
๐Ÿ“„gemini.ts
๐Ÿ“„langchain.ts
๐Ÿ“prisma
๐Ÿ“„dev.db
๐Ÿ“„dev.db-journal
๐Ÿ“„schema.prisma
๐Ÿ“„.gitignore
๐Ÿ“„README.md
๐Ÿ“„next.config.ts
๐Ÿ“„package-lock.json
๐Ÿ“„package.json
๐Ÿ“„postcss.config.mjs
๐Ÿ“„tsconfig.json

โš™๏ธ Setup & Installation

# Clone the repository

git clone https://github.com/rahullbyte/Lingobot.AI.git

# Navigate to the project directory

cd Lingobot.AI

# Install dependencies

npm install

# Upgrade the dotenv

-

# Run the Development

npm run dev

๐Ÿš€ Live Demo

๐ŸŒ Deployment

Frontend: Render

Backend: Render

๐Ÿ“œ Changelog

Version v1.0.0

Initial release with basic conversation flow and language preference setup.

Version v1.5.0

Introduced scene-based conversations and multilingual support.

Version v2.0.0

Added personalized learning features, conversation history, and progress tracking.

๐Ÿ”ฅ Challenges & Learnings

Challenge: Creating realistic, engaging dialogues for diverse language learners

Solution: Used scene-based conversation design and integrated LLMs with adaptive response logic

Outcome: Achieved natural, personalized chats that adapt to usersโ€™ fluency levels and learning goals

โšก Performance Optimizations

  • Implemented conversation streaming for faster, real-time message rendering
  • Cached language models and user preferences to reduce load times
  • Optimized database queries and session handling for smoother multi-language support

๐Ÿ”’ Security Measures

  • Sanitized and validated user inputs to prevent prompt injection and abuse
  • Encrypted user preferences, chat history, and session data in storage
  • Implemented rate limiting and auth guards to prevent abuse and ensure API safety

๐Ÿ”ฎ Future Improvements

  • Introduce gamified learning modules and achievement badges
  • Add speech recognition for voice-based conversations
  • Implement feedback analytics to suggest improvements based on user progress