Lexborn: lopeta opiskelu, aloita puhuminen

Puheharjoittelua englanninkielisille jotka opettelevat toista kieltä. Seitsemän kieltä, kolme persoonaa kussakin, muisti joka kestää istunnon yli, ja muistikortit niistä sanoista joita et saanut sanotuksi.

Asiakas
Nuits
Vuosi
2026
Tila
Ennen julkaisua
Rooli
Yksin toimiva perustaja, Tuotesuunnittelu, Tekninen toteutus, Tekoälyjärjestelmät
Teknologiat
Next.js, Turbopack, Clerk, Polar, Realtime voice, Memory layer, Spaced repetition
Lexborn: lopeta opiskelu, aloita puhuminen

Taustaa

Lexborn on puheharjoittelua englanninkielisille jotka opettelevat toista kieltä. Seitsemän kohdekieltä, kolme persoonaa kussakin, ja keskustelu joka jatkaa siitä mihin edellinen päättyi sen sijaan että esittelisi itsensä uudelleen.

Ero chatbottiin jossa on mikrofoni on muisti. Kumppani muistaa mistä puhuitte viime tiistaina, muistaa että väistät jatkuvasti imperfektiä ja muistaa ne sanat joita haeskelit etkä löytänyt. Niistä sanoista tulee muistikorttisi, kertausvälin mukaiseen aikatauluun, ilman että avaat mitään korttipakkaeditoria.

Sitä ei ole vielä julkaistu. Siitä lisää alempana, koska syy on nolo.

Ongelma

Olen käyttänyt niitä sovelluksia. Yhdessä niistä minulla on satojen päivien putki enkä osaa tilata lounasta.

Aukko ei ole tiedossa. Jokainen valtavirran kielisovellus on napautuspeli, ja oikean laatan napauttaminen neljästä on eri motorinen ja kognitiivinen teko kuin lauseen tuottaminen ääneen, reaaliajassa, jonkun odottaessa. Voit olla erinomainen ensimmäisessä ja mykkä jälkimmäisessä, ja sovellus onnittelee sinua kummassakin tapauksessa.

Rehellinen vaihtoehto on opettaja, joka maksaa rahaa ja vaatii kalentereita. Ilmaisen napautuspelin ja kalenteroidun ihmisen välissä asuu lähes jokainen kieltä opetteleva.

Oma roolini

Kaikki, yksin. Nuits ei ole koskaan palkannut ketään.

Tuote, käyttöliittymä, brändi, äänisilmukka, muistikerros, muistikorttien ajastin, persoonaputki, tunnistautuminen, laskutus. Myös päätös siitä mitä persoonat saavat korjata ja milloin, mikä kuulostaa sisältökysymykseltä ja on oikeasti tuotteen ydinpäätös.

Lähestymistapa

Suunnittelukysymys oli keskeyttäminen. Kumppani joka korjaa jokaisen virheen on sietämätön ja saa sinut lopettamaan puhumisen, mikä on juuri se epäonnistuminen jonka estämiseksi tuote on olemassa. Kumppani joka ei korjaa mitään on miellyttävä ja hyödytön.

Päädyin viivästettyyn korjaukseen. Keskustelun aikana kumppani pitää vaihdon elossa ja puuttuu vain silloin kun virhe estää ymmärtämisen. Kaikki muu kirjataan hiljaa. Jälkikäteen saat korjaukset yhdellä kertaa, ryhmiteltynä, niin että sanomasi lause on sen lauseen vieressä jota tarkoitit. Virtaus säilyy ehjänä ja palaute tulee silti perille.

Kolme persoonaa kieltä kohti ovat olemassa samasta syystä. Ne eroavat kärsivällisyydeltään, nopeudeltaan ja rekisteriltään, joten aloittelijaa ei pudoteta ensimmäisenä päivänä nopean puhekielisen seuraan eikä keskitason oppija jää jumiin sellaisen kanssa joka puhuu hänelle kuin lapselle.

Toteutus

Next.js ja Turbopack. Clerk hoitaa tunnistautumisen ja Polar maksut merchant of record -roolissa, mikä on suomalaiselle toiminimelle joka myy EU:n sisälle ero sen välillä että tuote julkaistaan tai että tehdään alv-rekisteröintejä loputtomiin.

Äänisilmukassa on se tekniikka. Reaaliaikainen puheesta puheeksi -polku pitää edestakaisen matkan riittävän lyhyenä, jotta tauko sen jälkeen kun lopetat puhumisen tuntuu ajattelevalta ihmiseltä eikä työskentelevältä palvelimelta. Suunnilleen sekunnin jälkeen se tulkitaan viiveeksi ja ihmiset alkavat artikuloida liikaa, mikä muuttaa sitä mitä he sanovat. Suoratoisto molempiin suuntiin ja toiston aloittaminen ensimmäisestä äänipalasta viimeisen sijaan ostaa sen takaisin.

Muistikerros on erillään keskustelusta. Jokaisen istunnon jälkeen tiivistysajo poimii oppijasta pysyvät faktat (käsitellyt aiheet, yritetty kielioppi, toistuvat virheet, sanastoaukot) ja kirjoittaa ne profiiliin. Seuraava istunto syöttää tuosta profiilista tiiviin version raa’an litteroinnin sijaan. Tämä on yhtä lailla kustannus- kuin laatupäätös: täysien litterointien toistaminen jokaiseen kehotteeseen kasvaa rajatta, ja viisikymmentä istuntoa raakaa historiaa saanut malli sivuuttaa keskikohdan joka tapauksessa.

Muistikorttien ajastin lukee sanastoaukot suoraan. Jos pysähdyit, sanoit englanninkielisen sanan tai kierrätit käsitettä kolmen lauseen verran, se sana päätyy pakkaan. Kertausvälialgoritmi aikatauluttaa sen, ja sanan onnistunut käyttö myöhemmässä keskustelussa lasketaan kertaukseksi, joten kielen puhuminen on itsessään se opiskeluhetki.

Persoonaputki tuottaa ja validoi jokaisen hahmon äänen, rekisterin ja korjauskynnyksen kielikohtaisesti, joten kahdeksannen kielen lisääminen on datatehtävä eikä koodaustehtävä.

Vikatilat, rehellisesti: puheentunnistus vahvalla korostuksella kielessä jota tuskin puhut on tuotteen vaikein syöte, ja se heikkenee juuri silloin kun oppija on hauraimmillaan. Taustameteli tulkitaan puheeksi ja keskeyttää kumppanin. Muistikerros joka muistaa sinusta väärän asian on huonompi kuin ei muistia lainkaan, joten profiilin merkinnöillä on luottamustaso ja ne haihtuvat jos niitä ei koskaan vahvisteta uudelleen.

Lopputulos

Sitä ei ole julkaistu. Sivusto on pystyssä, tuote toimii, ja se lähettää yhä tuotannossa Clerkin pk_test_-julkaisuavaimen, mikä tarkoittaa että tunnistautumisympäristö on testi-instanssi. Se on itse aiheuttamani julkaisueste, se on listalla, ja muuta väittäminen istuisi huonosti portfoliossa joka on täynnä tuotteita jotka kertovat omat rajansa.

Mitä tekisin toisin

Rakensin persoonaputken seitsemälle kielelle ennen kuin varmistin että yksi kieli on hyvä. Kuusi odotti käyttöä kuukausia, ja vaiva olisi pitänyt käyttää äänisilmukkaan.

Olisin myös kytkenyt ympäristöavaimet tarkastetun konfiguraation läpi heti alussa. Testiavaimen selviäminen tuotantoon ei ole vaikea bugi. Se on sellainen asia joka jää kiinni vain tarkistuksesta joka kaataa buildin, enkä kirjoittanut sellaista.