lingo
lingo copied to clipboard
Duolingo Clone SaaS built with TypeScript, Next.js 14 (including server actions), Tailwind CSS, Zustand, Drizzle, Neon, Clerk, and Stripe.
Lingo
Lingo aims to provide a super interactive and user-friendly platform for learning languages, regardless of your proficiency. Whether you’re just starting out or aiming to perfect your skills, this web app is loaded with features to make your language learning journey both enjoyable and effective. Dive in and discover a whole new way to learn!
Screenshot

Running Locally
This application requires Node.js v20.12.1+.
Cloning the repository to the local machine:
git clone https://github.com/nabarvn/lingo.git
cd lingo
Installing the dependencies:
pnpm install
Setting up the .env
file:
cp .env.example .env
[!IMPORTANT] Ensure you populate the variables with your respective API keys and configuration values before proceeding.
Configuring Drizzle:
pnpm db:push
Seeding the application:
pnpm db:seed
Running the application:
pnpm dev
Tech Stack
- Language: TypeScript
- Framework: Next.js
- Styling: Tailwind CSS
- Analytics: Vercel Analytics
- State Management: Zustand
- ORM Toolkit: Drizzle
- Postgres Database: Neon
- Authentication: Clerk
- Payments: Stripe
- Deployment: Vercel
Acknowledgements
- Speech Generator: ElevenLabs
- Character Assets: Kenney
Credits
Huge props to Antonio for coming up with such an incredible tutorial. Knowledge packed content, as always!