The other day, April 9, 2026, my partner and I released our first website together called www.koto-bly.com. This idea came to fruitition as we were preparing for our JLPT N3 exams and felt that we needed a better way to keep track of the things we were studying (for free), especially 漢字, and since most resources were online anyway maybe it would be okay.
There are so many language learning applications, often times they don't guide the user to what they should really be studying, often times there's no feedback, often times people just do it for the streak but don't actually understand what they learn. So our aim was to make a do it all website for Japanese learning (right now just for beginners). We collaborated on designs and ideas, she worked on most of the figma details & the branding, while I primarily did the coding and logic, to make sure that it followed our ideas & her designs as much as possible.
When I started in March 1, my only real experience (supersimpledev doesn't really count) was connecting things this site to supabase and building the website you see before your very eyes. Next.JS, React, Tailwind, Vercel yet again (the usual AI assisted coding platforms for newbies, though in fairness it's free). How was I really gonna build out a website that taught people a whole new language?
Focus on the basics, everyone recommends Anki because of their Spaced Repetition System (SRS) and the plug-and-play nature of their flashcards but it's not really available on iOS and your data doesn't track cross platform. I liked using Anki and I like SRS so what if we could build something like that? It helped me get through N5 so it could help others too. What do people need to learn though? There's a billion things but just 4 main categories: listening, speaking, reading, writing. My favorite resource for listening is honestly YouTube or even reels, so let's ignore that for now. People don't really need to physically write so often nowadays leaving speaking and reading as our main focuses now. Because Japanese has 3 writing systems (Hiragana, Katakana and Kanji) that are always used in daily life, an SRS type of thing could easily teach the 3.
**FLASHCARDS**
We spent a long time iterating and designing and landed on a hybrid-srs type where users enter into a review for a deck of cards that are categorized by the JLPT levels (last updated in 2010, and honestly you need to know more than what's in the level), and in that session the user must press the green "thumbs-up" button 3 times in a row to clear the card from that session which allows the user to drill the character/word in for short-term memory. The card will come out again in future sessions as a card for review, of the same deck, so that the user can recall it again and again in the future, alongside new cards in that session. Every card has it's own difficulty tracker, so that users will see the card that they had a hard time with more frequently, drilling in the learning. Alongside each character, the back of the card shows the meaning (none for kana characters), the pronunciation, and a couple example words. Thankfully edrdg.org (KANJIDIC2), is a great open resource that has so many details on the available kanji even archaic ones.
Right now we only have decks for the different characters but we're working on building one's for vocabulary under different categories (N5 words, N4 words, slang, etc.) and interests. Feel free to email me any suggestions (
[email protected] subject: Koto-bly Suggestion)
**PRACTICE MODE**
We wanted to make sure that every user practices what they learn. So we created a tool called practice mode where users are given a prompt/question, and they have to type out how to pronounce/categorize it. Currently, we have one where users have to identify how to spell out the pronunciation of words in kana, and one where users have to identify the correct way to call the days of the month and counters for different objects. Of course users have to get used to seeing Japanese characters more frequently so the harder level practices should be done using said characters. Thankfully wanakana has a script where they convert English characters into their respective hiragana, making it very accessible even if people don't have a Japanese keyboard (you can easily install one on your phone or PC, just a quick search).
We also have planned conjugation practices because there are so many ways to conjugate a word which changes their meaning, tense, respectfulness, etc. And we also plan to introduce ones for kanji where you would just have to type either the onyomi or kunyomi pronunciation, and words using kanji.
**GRAMMAR AND SPEAKING**
Honestly, it's difficult to teach grammar when you don't have direct feedback or a good way to gauge a users knowledge, I never really enjoyed Duolingo's system where you have to press around to find a page that explains a tiny section of grammar, but after building this site, it really has come to my attention why things get so hard to teach. Another thing that is hard to show is the nuance found in every single word which is essential to structuring proper, grammatically correct sentences. Right now we're building a module learning system to tackle how someone could talk given a specific situation. This one is gonna take a lot more thought cause there are honestly a billion ways to speak to someone, but then again your position is very important given those specific situations like a waiter would usually talk to their customer in keigo or something. Anyway I digress, look for that coming soon.
**OVERALL CODING EXPERIENCE**
When you're learning, feedback is extremely important. Each user has each card tracked and even the amount of seconds you look at a card in a session measures how difficult it must've been for the user (We aren't trying to get sensitive information though, just need to measure if you're actually learning haha). I honestly had a really difficult time tracking my way through everything that was in progress and I really wanted to ensure that the work was worth it. I wouldn't really say I'm good at coding but I learned a lot about keeping a database clean, keeping your folders organized, keeping arrays clean, how to actually use a map function, adding data trackers for calling, the importance of responsiveness, caching, and security levels, and overall system design. I really enjoy building things and I believe that education should be accessible, so this in itself was extremely fun to work on. There are so many great language learning resources and so many things you can get from textbooks, videos, testing sites, anki decks, and different apps. I hope that kotobly can become a platform that people use, whether it's 100, 50, or even 1 user, as long as it helps someone out then the whole experience was worth it .
If anyone looks at the github code, or any traces of it, please let me know what else I could have improved upon. I'll be forever thankful.