Show HN: Manabi Reader – Learn Japanese by Reading on iOS and macOS (SwiftUI) (reader.manabi.io)
The biggest differentiators compared with other language study apps are that it tracks every word/kanji you read so that you can see how much of a given webpage/article you're already familiar with and other features/analytics built on that foundation; it automatically builds a personal corpus of example sentences; and that it does all the Japanese tokenization/dictionary lookups locally on-device and in a flexible web browser-like UI with readability mode, to be respectful of your privacy and to work offline.
I've also added Anki integration. Tap a word, tap another button to save it to Anki with the original source material sentence and URL. I have a Manabi Flashcards app as well if you don't like Anki.
Packed with free features. See what percent of each article's vocabulary you're familiar with based on your reading history. Scan paragraphs of text with your camera to look up words. Japanese/English dict. Native Japanese web dicts. Look up kanji by drawing. Expanded JLPT levels. RSS. Web browser UI. Save links from other apps. Works offline. Readability mode. Tap words to look them up. Furigana depending on your familiarity with each word.
Future plans: besides more features (ePUB, YouTube, mpv player, WaniKani integration, more languages, etc), I’m also preparing the underlying SwiftUI web browser lib as open source and will launch it as a WebKit-based browser/reader option, which I’m excited to get out alongside other interesting recent entrants to the desktop and mobile browser market.
57 comments
[ 3.1 ms ] story [ 123 ms ] threadI'm pursuing a "Transmission app"-like model - native frontend, cross platform core (+ also some cross platform frontend, in my case). I believe this can translate to high value for users, and I get positive feedback on the design and native feel of my apps.
I have a lot of this app implemented within the webview/user scripts and am expanding the web part more with my next (adjacent/overlapping) project. I'll also be using Flutter for the upcoming mpv player as a component. This is still unsolved for me though, so far I am creating optionality and a direction toward a solution, but yes I need to go faster than just myself (and I refuse to seek investors for anything).
I'm also trying to get some worker cooperative structures going with one or two others on adjacent projects, around some shared codebase foundations, strategically to expand faster into web or other platforms. I bought IndieDevStack.com and will later blog about and also productize this approach with another app + open source.
I am also producing content and will have more. It sounds like you’d want that content to be paid for instead of just free to make sense of the subscription options. That’s a good idea.
This arrangement lands itself especially well on educational apps - you would buy a "module", master it, progress, buy next one, rinse and repeat. If you stall, that's your problem, the $ waste is limited and you can always backtrack and re-learn without paying again. Just like with textbooks.
almost every piece of new software you use (certainly everything with a subscription) is actually calling another third-party paid API (sometimes multitudes) and using your subscription money to pay for the cost of the app leveraging that API
this approach made it much easier to release a product, but now the product depends on a third-party being paid for every request
But now I see this "offline first" upgrade is seen as a downgrade in terms of value for the premium offering, so I have to figure that out
There is still a server component with continuous server operations (the app is offline-first, not entirely offline), as well as for community functionality with flashcards, it sounds like you'd like these operational costs to be more obvious to you? If the usage necessitates an operational cost, you're satisfied with recurring payment?
I appreciate your viewpoint but will first offer a 'free subscriber' affordability option for this concern before I consider adding tiers of gating to feature rollouts or versioned paid upgrade tiers for functionality. I will also add more data exports for portability.
Yes, operational costs are completely understandable to charge subscriptions for. But the core functionality of the reader and dictionary lookups is the most valuable part to me, which should be offline only.
Best of luck to you on this endeavor!
[0] https://mochi.cards/
As I rewrite the Manabi Flashcards app next, I'm working on a better flashcard sync than simply exporting cards to other services. I'll have it be able to fully sync in/out your Anki and WaniKani decks, so that you can review them in either place.
I'll then update Manabi Reader to automatically "passively" review your flashcards for you when you read content that contains the vocab or kanji.
I'll add Mochi Cards to the list for when I get to that set of functionality, or an earlier update for simple export.
It sounds like you'd like to see a summary of what JLPT level the unknown words are at. You can see this info via the familiarity dropdown but I can see how surfacing that earlier is valuable.
I do have some JLPT N5/N4/N3-specific feeds in there as well. I'll look into what's going on with N2 vocab in beginners category (though the JLPT classification is imperfect because there is no officially published list - I've used ebook corpus w/ custom heuristics to guess at the rest of the JLPT vocab beyond the partial list officially published years ago).
I also plan to add "ultra beginner" / "from zero" introductory materials soon.
I had a prior competitor who shut down (maybe because of server costs) but had gotten a lot of word of mouth in large part thx to having a free android app. Loads of users over there even if harder to monetize/do native stuff with, but lots of people eager for better apps in certain niches who will build popular consensus via word of mouth
I’d mostly ignore the feedback about the subscription. Yeah, having a new subscription for everything sucks but Apple makes it extremely easy to review and cancel your subscriptions. And your free tier is already useful and by allowing everyone to use the education discount if they want, I think you’ve got plenty of options covered. Experiment with adding a lifetime purchase down the road if you want, but I’d be hesitant of adding a “pay nothing” option for the premium features. Most people will choose it, even if they could easily afford to pay and are getting lots of value from product.
Nice work! For now I’m doing fine on the free tier but I’ll definitely upgrade when I run into a paywalled feature I want to use.
It has a lot of features so I'm not always sure what to really highlight to make it clear that there are vanishingly few comparable options out there, especially for Japanese and for features like the word/kanji tracking.
Btw, I'd love to get a testimonial from you if you'd like me to check in with you later and to hear any feedback you have after using it some more - please contact me if it's alright alex@manabi io
If you go to the "External" resources tab on a lookup, I did integrate OJAD already, but it would be better to have this data alongside the JMDict dictionary too.
I would say, some of the ui elements are broken on an iPhone 13 mini. With the anki creation dialog (with the listing of all the features), the button that I'm assuming was the confirm button was off screen and couldn't be scrolled to.
Also, if you don't take action on a specific kanji, it will remove the furigana as if it's "known." This seems a bit counter-intuitive to me. If I don't take any action on it, I feel like it should return to its original state.
I've also had the lower drawer (?) disappear entirely never to return. In the sentences tab, when I press the "translate" button it begins rendering the webpage then turns into a blank screen; I have to open it in the default browser to see it. In some cases the "open in default browser" button also disappears.
When I have some more time I'll definitely be diving into this app more. Despite the bugs, it might have enough value adds to considering paying for it. Thanks for sharing!
For the furigana, you can configure this behavior in the reader settings - whether it hides furigana from familiar words (ones you've marked as read or looked up), or only words you are learning in flashcards, or to always hide or show them. Maybe the "only when learning in flashcards" setting is a better default? I've made that change for the next update.
The lower drawer was implemented in a strange way because of a SwiftUI limitation. I've found a solution and will reimplement this to prevent this class of error from recurring. The translation function someone else reported here, I will fix as well.
Please keep the feedback coming. You can reach me on twitter or email or chat.
I would like to try it out from a native Japanese speaker's point of view.
And i always want to help everyone learn Japanese.
Unidic also interesting but harder to use and huge data size.
I’m going to be layering on gpt to further improve.
What're you working on?
Can you have special section for audio contents which have transcriptions? That would be very good feature to pay, at least for me.
* I couldn't get the "open url" button to work. * I'd really love a Japanese monolingual dictionary. Or the ability to bring your own in some way. * I turned furigana off but it was back on again when I opened another article. I had to turn it on and off to hide it again. Same with JLPT levels
Is there a way to say "I know every word in this article" so that high level people can get up and running faster?
Open URL: I'll fix. Monolingual: check 'External', there are monolingual web dictionaries that I've tried to load into a webview in the lookup popover; this is an early "v1" of that feature though so please let me know if it can be improved/isn't working for you. I'll also add EPWING import later, sure, though that's niche, it's powerful. Furigana/JLPT: thanks for the bug report, I'll fix.
"Every word in this article": yes I want to make this easier for sure, that's a good idea, I'll also make it easier to do bulk operations on the list/table views of vocab/kanji. I also plan to add sync with other systems like Anki, WaniKani so that it can pull in everything you already know. Please keep the feedback coming.
Then again, I cannot scroll the list of "Blogs" or "Spoken Audio" either. How many entries I can see depends how I resize the window.
Testing on a Mac (MB Air - M1) with latest Ventura.