An interactive, Squla-style Amharic learning platform for kids β Fidel alphabet, numbers, and vocabulary games with stars and badges.
# Fidel Friends π
An interactive, Squla-style Amharic learning platform for kids. Kids pick a
playful profile and play through bite-sized games to learn the **Fidel**
(Ge'ez alphabet), **numbers**, **vocabulary words**, and **conversations**,
earning stars and badges along the way.
## Features
- **No-login kid profiles** β pick an avatar and a name, no passwords.
- **Fidel (alphabet)** β 32 lessons covering the full 7-order Amharic
syllabary (224 characters), one family per lesson.
- **Numbers** β counting 1β10 and tens up to a hundred, in Ge'ez numerals.
- **Words** β vocabulary across animals, colors, family, food, and body
parts, with emoji + English hints.
- **Conversations** β scripted dialogues (Family, Education, Time &
Calendar, Greetings) between two recurring characters, read line by
line, followed by comprehension questions β a step up for kids ready
for full sentences.
- **Pronunciation** β tap-to-hear audio via the browser's built-in
Web Speech API (needs an Amharic voice installed on the device).
- **Abugida Chant** β the traditional 33-row diagonal recitation of the
Fidel, computed from the alphabet data.
- **Dictionary & Translate** β bidirectional Amharic/English search plus
a full 11,000+ word English-Amharic dictionary (see Data sources below).
- **Stars & badges** β 0β3 stars per lesson based on score, with
collectible badges (Fidel Master, Number Ninja, Word Wizard,
Conversation Champ, Superstar...).
- **Sequential lesson unlocking** to guide kids through the content in order.
## Tech stack
- Next.js (App Router) + React + TypeScript
- Tailwind CSS v4
- Prisma + SQLite (via `@prisma/adapter-better-sqlite3`) β zero-config local
database, no server to run
## Getting started
```bash
npm install
npm run db:push # create the local SQLite database
npm run db:seed # load the Fidel/numbers/words/dialogue content and badges
npm run dev
```
Open
localhost.
## Data sources
- `prisma/dictionary-data.json` (11,621 English-headword β¦