Skip to content

tgmarinho/fluent-five

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š Fluent5

Learn English with the 5x5x5 method: 15 minutes per session, 5 repetitions, 3 times a day, for 5 days.

Next.js React TypeScript Tailwind CSS Supabase License

๐Ÿš€ The Fluent5 Method

๐ŸŽ“ Massive Repetition (5x5x5)

Fluent5 is not a classic spaced repetition app. It focuses on short, intense immersion.

  • โฑ๏ธ 15 minutes: One focused block per period (morning, afternoon, night).
  • ๐Ÿ”„ 5 repetitions: In each session you repeat the same cycle 5 times in a row:
    • ๐Ÿ“– Read: Read the text and understand the context.
    • ๐ŸŽง Listen: Listen closely to the pronunciation.
    • โœ๏ธ Write: Write down what you heard (dictation).
    • ๐Ÿ—ฃ๏ธ Speak: Say it out loud to practice speaking.
    • ๐Ÿ” Loop: Final pass to lock the session in.
  • ๐Ÿ“… 5 day cycle: Repeat the whole process with the same text for 5 days straight.

๐Ÿ“– Storytelling

Short narrative stories, about 2 minutes each, grouped by level:

  • ๐Ÿฅ‡ Basic: Thanksgiving Day, The Perfect Gift, A Morning in the Park
  • ๐Ÿฅˆ Intermediate: Online Classes, The Job Interview, The Lost Dog
  • ๐Ÿฅ‰ Advanced: The Entrepreneur's Dream, The Climate Crisis, Dale Carnegie style inspiration

๐Ÿ”Š Text to Speech

  • Plays the text sentence by sentence.
  • Voice picker with a quality ranking (๐Ÿฅ‡๐Ÿฅˆ๐Ÿฅ‰).
  • Works with multiple voices (Google, Microsoft, Apple).
  • Playback speed tuned for learning.

๐Ÿ” Accounts and Progress

  • Sign in with Supabase (Google or email).
  • A display name is required at sign up.
  • Avatar from your Google photo, or a default icon.
  • Protected routes for signed in users.

๐ŸŽจ UI and UX

  • Premium dark mode with glassmorphism, plus a light mode.
  • Smooth animations and micro interactions with Framer Motion.
  • Fully responsive, mobile first.
  • Lucide icons for a consistent look.
  • Installable as a PWA.

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 18 or newer
  • npm

Installation

# Clone the repository
git clone https://github.com/tgmarinho/fluent-five.git
cd fluent-five

# Install dependencies
npm install

# Start the dev server
npm run dev

Open http://localhost:3000 to see the app. ๐ŸŽ‰

To enable sign in, set your Supabase keys in a .env.local file.

๐Ÿ“ฑ Pages

Route Description
/ Landing page with the method, plans, and sign up
/phrases Main app: phrase practice with the 5x5x5 loop
/stories Narrative stories with the audio player
/login Sign in and sign up

๐Ÿ› ๏ธ Tech Stack

Tech Purpose
Next.js 16 React framework with App Router
React 19 UI library
TypeScript Type safety
Tailwind CSS 4 Utility first styling
shadcn/ui Accessible components (Radix UI)
Framer Motion Animations
Lucide React SVG icons
Supabase Auth and sessions
next-themes Light and dark mode
next-pwa Progressive Web App support
Web Speech API Native text to speech
localStorage Progress persistence

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ app/                       # Next.js App Router
โ”‚   โ”œโ”€โ”€ page.tsx               # Landing page
โ”‚   โ”œโ”€โ”€ phrases/               # Main practice app
โ”‚   โ”œโ”€โ”€ stories/               # Storytelling page
โ”‚   โ”œโ”€โ”€ login/                 # Sign in and sign up
โ”‚   โ”œโ”€โ”€ auth/callback/         # Supabase auth callback
โ”‚   โ””โ”€โ”€ manifest.ts            # PWA manifest
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ StoryCard.tsx          # Story preview card
โ”‚   โ”œโ”€โ”€ StoryPlayer.tsx        # Story player
โ”‚   โ”œโ”€โ”€ mode-toggle.tsx        # Theme switch
โ”‚   โ””โ”€โ”€ ui/                    # shadcn components
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ stories.ts             # Grammar stories
โ”‚   โ””โ”€โ”€ narrative-stories.ts   # Narrative stories
โ””โ”€โ”€ hooks/
    โ”œโ”€โ”€ useSRS.ts              # Repetition logic
    โ””โ”€โ”€ useTextToSpeech.ts     # Text to speech hook

๐Ÿ”ฎ Roadmap

  • ๐Ÿ’ณ Billing and subscriptions (Stripe or Lemon Squeezy)
  • ๐Ÿ—„๏ธ Move progress from localStorage to Supabase Postgres
  • ๐ŸŽต Pre recorded audio for premium stories
  • ๐Ÿ“Š Learning analytics and streaks
  • ๐ŸŒ More interface languages
  • ๐Ÿงช Automated tests (unit and end to end)

๐Ÿค Contributing

Contributions are welcome. Check the issues to get started.

๐Ÿ“„ License

MIT ยฉ Thiago Marinho


Made with ๐Ÿ’œ for English learners

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors