diff --git a/CHANGELOG.md b/CHANGELOG.md index e725dea..bfcdb62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,14 @@ numbers below were the site's earlier, hand-kept numbering and are retired; the ### Changed +- **Mukoko Lingo is written for organisations first.** The page, the + homepage card and `llms.txt` now lead with schools, businesses and + government, then single learners. The "For schools" section is "For + schools, businesses and government" (anchor `#organisations`), and the + enquiry button reads "Talk to us about your organisation". Lingo is + described as "Part of Mukoko by Nyuchi", and Swahili is shown as beta + (owner decisions, 2026-10-15). + - **Mukoko Lingo, described as it is.** The home page card and llms.txt said Lingo was "free for personal use", "Shona and Ndebele primary" and taught French and Portuguese. Its repository says it teaches Shona, diff --git a/public/llms.txt b/public/llms.txt index 5bbbcf5..8254b81 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -127,19 +127,18 @@ community-based platforms. Nyuchi Web Services is its development division. Security: https://learning.nyuchi.com/legal/security - [Mukoko Lingo](https://learning.nyuchi.com/mukoko-lingo): a partner app - developed by Nyuchi Learning, part of Mukoko, Africa's super app. - AI-assisted, skills-based language learning for individuals, schools and - businesses across Africa. Use it in a web browser at - https://lingo.mukoko.com; schools, businesses and admins use the console + developed by Nyuchi Learning. Part of Mukoko by Nyuchi. Language + training for schools, businesses and government, and for individual + learners: AI-assisted, skills-based language learning across Africa. Use it in a web browser at + https://lingo.mukoko.com; organisations and their admins use the console at https://lingo.nyuchi.com/console. It teaches Shona, Ndebele, Chinese - and English (Swahili is in the language picker but unfinished, and is not - a supported language). A learner gets five phrases a day, drilled with + and English, with Swahili in beta. A learner gets five phrases a day, drilled with flash cards and a short quiz, with spaced repetition scheduling what comes back and when. Shamwari ("friend" in Shona), the AI tutor, answers questions in chat and adapts to the learner's measured proficiency rather than a level they picked; Shamwari never claims to be human. Pronunciation guides, cultural context, and progress tracking (streaks, XP, bookmarks, - skill proficiency). For schools: teachers create classes, set assignments + skill proficiency). For schools, businesses and government: teachers and trainers create classes, set assignments against specific phrases and skills, and see progress per student; assessments are diagnostic, formative and summative, graded on the server; rosters sync over OneRoster from Clever, ClassLink and PowerSchool; diff --git a/src/data/site.ts b/src/data/site.ts index 691c9fd..2a8d68b 100644 --- a/src/data/site.ts +++ b/src/data/site.ts @@ -188,8 +188,8 @@ export const toddleExtension = { } as const; /** - * Mukoko Lingo, described once: a partner app developed by Nyuchi Learning, - * part of Mukoko, Africa's super app. + * Mukoko Lingo, described once: a partner app developed by Nyuchi Learning. + * Part of Mukoko by Nyuchi. * * Every fact here comes from Lingo's own public repository * (mukoko-dev/mukoko-lingo on GitHub: README.md, app.json, BRANDING.md and @@ -199,21 +199,26 @@ export const toddleExtension = { * exist. The source link lives on the page itself (src/pages/mukoko-lingo.astro): * tests/links.test.ts keeps GitHub links out of this file, because the * extension's repository is private. + * + * Positioning (owner, 2026-10-15): Nyuchi Learning leads with organisations, + * business (B2B) and government (B2G) as well as schools, so the page and + * the enquiry are written for them first. */ export const mukokoLingo = { name: "Mukoko Lingo", tagline: - "AI-assisted, skills-based language learning for individuals, schools and businesses across Africa.", + "AI-assisted, skills-based language learning for individuals, schools, businesses and government across Africa.", /** The live app, as the repository's README names it. */ url: "https://lingo.mukoko.com", - /** The console for schools, businesses and admins. */ + /** The console for organisations: schools, businesses, government and admins. */ console: "https://lingo.nyuchi.com/console", - /** The four languages the repository calls canonical. Swahili is in the - app's picker but the README calls it unfinished, so it is not listed. */ + /** The four languages the repository calls canonical. */ languages: ["Shona", "Ndebele", "English", "Chinese"], - /** BCP 47 codes for the same four, for structured data. */ + /** Languages in beta (owner, 2026-10-15): in the app, shown as beta. */ + betaLanguages: ["Swahili"], + /** BCP 47 codes for the four supported languages, for structured data. */ languageCodes: ["sn", "nd", "en", "zh"], - /** School and business enquiries. */ + /** Enquiries from schools, businesses and government. */ enquiry: "mailto:support@nyuchi.com?subject=Mukoko%20Lingo", } as const; diff --git a/src/pages/index.astro b/src/pages/index.astro index 37375f6..e9b0586 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -52,7 +52,8 @@ const description =

Two products live here: a Chrome extension that makes the Toddle gradebook easier - to read, and Mukoko Lingo, an app for learning African languages. The learning + to read, and Mukoko Lingo, language training for schools, businesses and + government. The learning content that used to live here has moved to the Bundu Family ecosystem.

@@ -92,14 +93,14 @@ const description =
-

Language learning · Nyuchi Learning, part of Mukoko

+

Language learning · Part of Mukoko by Nyuchi

{mukokoLingo.name}

- Learn Shona, Ndebele, English or Chinese, five phrases a day, with Shamwari, an - AI tutor that adapts to your level. Teachers set assignments and see each - student's progress. + Language training for schools, businesses and government. Shona, Ndebele, + English and Chinese (Swahili in beta), five phrases a day, with Shamwari, an AI + tutor that adapts to each learner. Set the work and see each learner's progress.

diff --git a/src/pages/mukoko-lingo.astro b/src/pages/mukoko-lingo.astro index 761bca3..2bbda15 100644 --- a/src/pages/mukoko-lingo.astro +++ b/src/pages/mukoko-lingo.astro @@ -1,17 +1,21 @@ --- /** * The product page for Mukoko Lingo: a partner app developed by Nyuchi - * Learning, part of Mukoko, Africa's super app. + * Learning. Part of Mukoko by Nyuchi. + * + * Written for organisations first (owner, 2026-10-15): schools, businesses + * (B2B) and government (B2G), as well as single learners. * * Built the way the Toddle Enhancement Extension's page is built: a hero with - * one call to action, a grid of what it does, a section for schools, and the - * plain facts a school's IT lead will ask for. + * one call to action, a grid of what it does, a section for organisations, and + * the plain facts an IT lead will ask for. * * Every claim is taken from Lingo's own public repository * (mukoko-dev/mukoko-lingo: README.md, app.json, BRANDING.md, and the app's * own copy in lib/data/translations.ts and app/welcome). Nothing is promised - * that the repository does not say: no app store link, no school price and no - * language beyond the four it calls canonical. Add them here when they exist. + * that the repository does not say: no app store link and no organisation + * price. Swahili is listed as beta, by the owner's decision. Add the rest + * when they exist. * * The icon is the app's own (assets/images/icon.png in that repository, MIT * licensed). Its PNG wordmarks still read "Nyuchi Lingo", the old name, so @@ -28,6 +32,7 @@ const source = "https://github.com/mukoko-dev/mukoko-lingo"; const licence = `${source}/blob/main/LICENSE`; const languageList = "Shona, Ndebele, English and Chinese"; +const betaList = mukokoLingo.betaLanguages.join(", "); /* What it does today, from the README's "What it is" and the app's own feature list on its welcome page. */ @@ -49,8 +54,8 @@ const features = [ }, { mineral: "malachite", - title: "Four languages side by side", - body: `${languageList}, with phrases compared across them. Pronunciation guides for all four.`, + title: "Four languages, and Swahili in beta", + body: `${languageList}, with phrases compared across them and pronunciation guides for all four. ${betaList} is in beta.`, }, { mineral: "terracotta", @@ -64,37 +69,37 @@ const features = [ }, ]; -/* Who it is for: the app's own "Perfect for" list, plus the schools and - businesses the README names. */ +/* Who it is for: organisations first (business, government, schools), + then the app's own "Perfect for" list of single learners. */ const audiences = [ { - badge: "badge badge-info", - label: "For a learner", - title: "Learn the language around you", - body: "Travellers, people living and working somewhere new, and locals building on a language they already have.", + badge: "badge badge-accent", + label: "For business and government", + title: "Train the people who serve the public", + body: "Staff who deal with customers and citizens learn the languages those people speak. Set the work, measure it with assessments, and run it for the whole organisation from one console.", }, { badge: "badge badge-success", - label: "For a teacher", + label: "For schools", title: "Set the work, see the progress", - body: "Create a class, set assignments against specific phrases and skills, and watch each student's progress.", + body: "Create a class, set assignments against specific phrases and skills, sync rosters from your school's system, and watch each student's progress.", }, { - badge: "badge badge-accent", - label: "For a school or business", - title: "Run it for a whole organisation", - body: "Sync rosters from your school's system, and manage users, content, moderation and analytics from one console.", + badge: "badge badge-info", + label: "For a learner", + title: "Learn the language around you", + body: "Travellers, people living and working somewhere new, and locals building on a language they already have. Starting is free.", }, ]; const facts = [ { label: "Languages", - value: `${languageList}. The app's screens are available in the same four. Swahili appears in the language picker, but it is not finished, so we do not count it yet.`, + value: `${languageList}. ${betaList} is in beta. The app's screens are available in the four supported languages.`, }, { label: "Where it runs", - value: `In a web browser, at ${mukokoLingo.url.replace("https://", "")}. Schools, businesses and admins use the console at ${mukokoLingo.console.replace("https://", "")}.`, + value: `In a web browser, at ${mukokoLingo.url.replace("https://", "")}. Organisations and their admins use the console at ${mukokoLingo.console.replace("https://", "")}.`, }, { label: "Assessments", @@ -124,11 +129,11 @@ const facts = [ const title = "Mukoko Lingo — language learning — Nyuchi Learning"; const description = - "Mukoko Lingo teaches Shona, Ndebele, English and Chinese: five phrases a day, spaced repetition, and Shamwari, an AI tutor. Classes, assignments and assessments for schools. Developed by Nyuchi Learning, part of Mukoko."; + "Mukoko Lingo teaches Shona, Ndebele, English and Chinese: five phrases a day, spaced repetition, and Shamwari, an AI tutor. Classes, assignments and assessments for schools, businesses and government. Developed by Nyuchi Learning. Part of Mukoko by Nyuchi."; /* The claims here are the ones a search result or an assistant will repeat, so they are the repository's, word for word where possible. No `offers`: - the app says "Start for free", but there is no published price for schools, + the app says "Start for free", but there is no published price for organisations, and a price of 0 would claim more than that. */ const schema = [ { @@ -150,7 +155,8 @@ const schema = [ brand: { "@type": "Brand", name: "Mukoko" }, license: "https://opensource.org/licenses/MIT", featureList: [ - "Teaches Shona, Ndebele, English and Chinese", + "Teaches Shona, Ndebele, English and Chinese, with Swahili in beta", + "For schools, businesses and government, as well as single learners", "Five phrases a day, with flash cards and a short quiz", "Spaced repetition schedules what comes back and when", "Shamwari, an AI tutor that adapts to the learner's measured proficiency", @@ -184,19 +190,20 @@ const schema = [

- Learn Shona, Ndebele, English or Chinese, five phrases a day, with an AI tutor that - meets you at your level. Teachers can set the work and see who is keeping up. + Language training for schools, businesses and government. Learn Shona, Ndebele, + English or Chinese, five phrases a day, with an AI tutor that meets each learner at + their level, while you set the work and see who is keeping up.

- A partner app developed by Nyuchi Learning, part of - Mukoko, - Africa's super app. + A partner app developed by Nyuchi Learning. Part of + Mukoko by + Nyuchi.

Start learning - For schools + For organisations

In your browser at lingo.mukoko.com · starting is free @@ -237,7 +244,7 @@ const schema = [

Who it is for

- One app, from one learner to a whole school. + One app, from a single learner to a whole organisation.

@@ -254,44 +261,46 @@ const schema = [
- -
+ +
-

For schools

+

For schools, businesses and government

- Language practice you can assign and measure. + Language training you can assign and measure.

- Lingo has two halves. Learners use the app. Teachers and admins use the console, - where the class work happens. + For a school teaching a language, a business training the staff who serve its + customers, or a government department whose people serve the public in their own + languages. Lingo has two halves: learners use the app, and the people running the + programme use the console, where the work is set and measured.

-

For teachers

+

For teachers and trainers

    -
  • Create classes.
  • +
  • Create classes and learner groups.
  • Set assignments against specific phrases and skills.
  • -
  • See each student's progress, skill by skill.
  • +
  • See each learner's progress, skill by skill.
  • Use diagnostic, formative and summative assessments. They are graded on the - server, so the score you see is the score the student earned. + server, so the score you see is the score the learner earned.
-

For school leaders and IT

+

For leaders and IT

    -
  • Sync class rosters over OneRoster from Clever, ClassLink or PowerSchool.
  • +
  • Schools: sync class rosters over OneRoster from Clever, ClassLink or PowerSchool.
  • Manage users, content, moderation, guardrails, analytics and API keys.
  • - Three layers of moderation check what students type to the AI tutor. + Three layers of moderation check what learners type to the AI tutor.
  • Open source code your IT team can read.
@@ -299,7 +308,7 @@ const schema = [
- Talk to us about your school + Talk to us about your organisation Open the console @@ -342,12 +351,12 @@ const schema = [

Go to lingo.mukoko.com, - choose a language and take today's five phrases. Starting is free. For a class or a - whole school, write to us. + choose a language and take today's five phrases. Starting is free. For a school, a + team or a government department, write to us.

Who makes it. Mukoko Lingo is a partner app - developed by Nyuchi Learning, part of Mukoko, Africa's super app. Nyuchi Learning is + developed by Nyuchi Learning. It is part of Mukoko by Nyuchi. Nyuchi Learning is part of Nyuchi Africa, which also makes the diff --git a/tests/seo.test.ts b/tests/seo.test.ts index b2524fd..1e597ad 100644 --- a/tests/seo.test.ts +++ b/tests/seo.test.ts @@ -343,8 +343,16 @@ describe("Mukoko Lingo", () => { }); it("says who developed it", () => { - expect(page).toContain("developed by Nyuchi Learning, part of"); - expect(page).toContain("Mukoko,"); + expect(page).toContain("developed by Nyuchi Learning. Part of"); + expect(page).toContain("Mukoko by"); + expect(page).toContain("Part of Mukoko by Nyuchi"); + expect(page).not.toContain("super app"); + }); + + it("is written for organisations and shows Swahili as beta", () => { + expect(page).toContain('id="organisations"'); + expect(page).toContain("For schools, businesses and government"); + expect(page).toContain("Swahili is in beta"); }); it("describes it as a SoftwareApplication, as the extension is", () => {