BunPyro - New Android App (WIP)

Hey man, you just made my day! Thank you so much for this!

Every day I’m sitting here staring half a minute and more on my phone screen waiting for the bunpro grammar page to load.
One minute every day, 365 minutes per year just waiting for the annoyingly slow grammar search. And thanks to you I can use those 365 minutes more efficiently! Thank you!

One suggestion: sometimes I copy the meaning and structure of a similar grammar points into Evernote in order to quickly compare them. So it would be nice if you’d allow to select/copy the text in the grammar structure.

A side by side “compare” feature directly in the app would be even better :smiley:

And one bug: the app doesn’t remember my settings for kana. When I turn it off and go back, it will be turned on again for the next grammar point.

  • Also it would be nice to highlight the search term in the search result list.
  • And a distinction between burned items (golden logo), not yet burned items (red logo) and not yet studied items (no logo/greyed out)
  • showing the JLPT level and SRS level in the search result list and in the grammar details is also important

Thanks for the kind words!

I’m adding that to my backlog.

Not currently, I was working on it but decided to release an early version without it. That’s what I’m working on right now :slightly_smiling_face:

Hmmmm, what kind of UI do you have in mind for comparing grammar point?

There is an option for it in the settings. But I can make the furigana toggle update this setting too. Do you think that would be better?

Thank you for this feedback! Will work on that.

1 Like

Just very simple: in the grammar list, a long tap on an item will show checkboxes in front of them. After selecting some items, I can tap a button “compare” in the top or bottom of the screen. Then the comparison screen opens, which is just all the selected grammar points (with name, meaning and structure) one after another (from top to bottom) divided by a horizontal line or such.

Having the multi-select checkboxes could also be useful for future features like “mark all as known” or “add all to reviews” etc.

Another feature request: Please let the JLPT number in the grammar search expand/collapse all grammar points within. For now it always shows N5 first, so it would be good if I can tap it to hide all N5 + N4 … grammar points to quickly see N2 etc.


I don’t see an option for hiragana in the settings. And yes, I’d prefer to switch it globally in each grammar point, that makes definitely sense. When I disable it in one grammar point it doesn’t make sense that it’s enabled in the next. So it should be a global setting.

1 Like

I see, thanks for the explanations :+1: . I will add that to my backlog, but it might take a while before I get to work on that specific feature.

This won’t take long, so I’m going to include it in the next version :slightly_smiling_face:

Oh, sorry, I thought it was already available, but it’s not in the PlayStore version yet.
I will make the toggle save this setting.


The feature to type in romaji (e.g. “koto” and the search finds it as kana (“こと”) is great! So I don’t even need to switch the keyboard all the time.
Some grammar points will not be found though. For example, typing in “kaneru” doesn’t find かねる. I need to use kana in order to find it.

One more suggestion: there’s no back button next to the grammar point name (after you tapped on a grammar point in the list). Users need to use their phone’s back button in order to go back to the list which can be a bit inconvenient.


Nice! How about making it open-source, so that we can all work together on this? :slightly_smiling_face:


Amazing, the current Android app is quite buggy for me, so an alternative would be great!


Happy that you like it! Thanks for bug report, just found the issue and fixed it. Will be available in the next release :+1:

But isn’t that like the purpose of this button
I see, I will add up navigation buttons wherever I can.

Right now I want to keep BunPyro as a personal project.
I might open source it in the future, if I do, I’ll make sure to mention it to you.
In any case, thank you for your proposal!

1 Like

Depending on how users hold their phone and if it has soft or hard buttons, it can be much more convenient to have a back button on the top left next to the grammar name.

One more suggestion: the progress bars for the JLPT levels could have a percentage on each bar (“68%” etc)

And here in the scripts thread are some more nice ideas of things that could be included by using the api, i.e. the review heatmap.

1 Like

Wait, did BP update the API?

1 Like

I can add that as an opt in thing I think, I like the way it is now :slight_smile:

The same features as these scripts could be added to the app, but I already have too much to do right now, so I’m just going to skip this for now :sweat_smile:

There is a “private” API that I don’t have the documentation of.
It’s the API that the semi official iOS and Android apps use.
Since both projects are open source on github, I took a look at which endpoints they’re using (here is the relevant file of the Android app).

For BunPyro, I use some endpoints of the public API, but most are from the private API.
If you’re interested, I have a very raw document about the private API


I’ve just released version 0.3.0 based on your feedback :slight_smile:
It should already be available on the Play Store.

Changelog 0.3.0


  • Menu to copy an example’s text
  • Setting for the furigana display
  • Manual sync option
  • Search headers to separate romaji search
  • JLPT tags in the search results
  • JLPT filters for all grammar
  • Highlight query in search results
  • Navigation icons on most screens


  • Fixed some search issues with romaji
  • Fixed some color issues on SDK 21
  • Fixed the lessons progress being cropped
  • Fixed multiple crashes
  • Fixed some raw html being displayed

@someone2020 you should now be able to manually sync.
It’s still rough and takes quite a while to sync. I will improve this if I can figure out a better way to use the Bunpro API.

@Anthropos888 this version contains many little improvements based on your feedback. Thank you for your help so far!


Great work, want to try it out. But, I keep getting a “something went wrong on our side” error after the grammar tries to load. I’ve tried with Wi-Fi on or off, and am using Android 10.


Thanks, I just tried it out and it’s great! It’s really like an offline dictionary for grammar and I use it frequently when I come across some grammar etc. during reading. So it’s really useful even outside of Bunpro.

Here some issues (just my personal opinion, others might see it differently)

  • the bold highlighted words are great, but I’d prefer it even in a different color to have a better distinction from the rest of the text
  • the sync takes around 30sec, so a dialogue box or a progress bar and a “done” message would be nice
  • the navigation back button in the grammar details is very handy but not aligned with the grammar point name (it’s 20px above)

This seems to be a bit buggy. After searching for a grammar point it doesn’t work anymore. The window pops up for a ms and closes instantly. Maybe it’s easier and more intuitive to just let the list expand/collapse on tap on the JLPT level header?

Anyway, keep up the great work :+1:


It seems like the app fails to parse a specific thing in your grammar data. Thank you for the report, I will investigate it right now. I might come back to you if I need more details :slight_smile:

I’m glad that you like it! I wasn’t sure it was going to be useful since it doesn’t include reviews right now, so it’s nice to hear.

That’s an easy improvement, I’m going to include it in the next version.

I totally agree that the UI needs some work right now. I plan to add a dialog to explain that it will sync in background (and that it will take a while), a progress bar on the home screen and a “done” message in the home screen.

However I don’t want to spend too much time improving this right now, because it’s more like a quick fix until I have an API that returns a diff of the data (i.e. only what I need to update). Having this kind of API, BunPyro would update automatically when opened and every day when not opened. The sync time (30s~2min) would also decrease dramatically.

I’m a little bit struggling with Android to have a good display both when the title fits on a single line and when it needs two lines (for example, さいわい・さいわいなことに and としたら・とすれば・とすると).

I will see if I can improve it quickly, otherwise I might pass. Here’s what I want it to look like.

Oh. That’s a nice bug. Will fix it. ._.

I want to have both. I added filters because I plan to add study based filters as well (“Studied” and “Non studied”). And I think it makes sense for filters to be persisted. Collapsing/expanding by using the header can be quicker, but I’m not really sure that it should be persisted if the user closes the app.


Thank you for telling me about this! I will definitely look into it if I ever want to make any more BP scripts! The official API is useless


Haven’t found anything weird, yet. Thanks for making this app, I think I’m going to use it a lot! :smiley:


I’ve just released version 0.3.1.
It should already be available on the Play Store.

Changelog 0.3.1


  • Highlight query in search results using color


  • Fixed the sync not working for some users
  • Fixed the filter dialog auto closing after navigating back

@kthxbye If you try again using this version, do you still have the same issue? I think that I’ve fixed it.