Dashboard Scripts Are Going To Break

I’d assume so, but I will ask and get back to you about what widget-url represents.

In the meantime, I’ve pasted the source of one of the widgets (Reviews Completed Today) below. I did swap out the widget-ids just in case they were specific to an account. Don’t think they would be, but didn’t want to wait and double check.

<turbo-frame data-dashboard-widget-url-value="https://wanikani.com/widgets/reviews-completed?period=day&amp;theme=default&amp;widget_frame=widget-(widget's id)" data-controller="dashboard-widget" class="dashboard__widget dashboard__widget--one-third" id="widget-(widget's id)" target="_top" src="https://wanikani.com/widgets/reviews-completed?period=day&amp;theme=default&amp;widget_frame=widget-(widget's id)&amp;browser_timezone=America%2FLos_Angeles&amp;utc_time_at_start_of_day=2025-09-24T07%3A00%3A00.000Z" complete="">
  <div class="reviews-completed-widget theme--default">
    <div class="reviews-completed-widget__content">
      <div class="reviews-completed-widget__content-wrapper">
        <div class="reviews-completed-widget__image-wrapper">
          <wk-svg-image src="https://assets-preview.wanikani.com/assets/widgets/reviews-completed/whisper-shell-dfb5b351.svg" style="aspect-ratio: 8 / 5" class="reviews-completed-widget__image"></wk-svg-image>
        </div>
        <div class="reviews-completed-widget__current-period">
          <div class="reviews-completed-widget__current-period-count">0</div>
          <div class="reviews-completed-widget__title">Reviews Completed</div>
          <div class="reviews-completed-widget__current-period-timeframe">Today</div>
        </div>
      </div>
        <div class="reviews-completed-widget__previous-period">
          <div class="reviews-completed-widget__previous-period-timeframe">Yesterday:</div>
          <div class="reviews-completed-widget__previous-period-count">30 Reviews</div>
        </div>
    </div>
</div></turbo-frame>

If you go to the URL (after the update) then you’re taken to a page that just contains the data that gets inputed into the widget. Mine currently looks like this:

Hopefully all that is helpful. Let me know what else you’d be looking for if not.

As for the API and review stats. The quick answer is “no” or “probably (maybe?) not” or at least “not soon” depending on what exactly you’re asking.

If it’s the reviews data that is every single review made by a person — that table’s given us so much grief over the years. For a couple years we thought it’d bring the app down :anxious_face_with_sweat:. Dealing with that, specifically, has taken up an inordinate amount of time and resources, unfortunately. If nobody did reviews it wouldn’t be so much of a problem, but I suppose we’re fortunate enough that so much reviews data is coming in all the time :person_bowing: Anyways, no plan to go back to that anytime soon.

If it’s more like the endpoint of someone’s review stats (e.g. what level an item is at for a user, what their correct% is, if an item is burned, what level they are at, etc) then that’s a… maybe? We’ve talked a little bit about what a version of the API could look like that would a) allow us to still continue to support an API, and b) balance the problems we run into and allow us to more easily create new features. I’m not sure where we’ll end up with that, but I will say that it’s a situation where I like the API and appreciate / enjoy what people have done with it but also it’s created more challenges than we ever expected. So it’s still a big “I don’t know.” I want to focus on the content and features, and let the dust settle on what we have planned there before we get back to updates / new versions of the API. But I suppose I can never say never…

Sorry, not a satisfying answer.

5 Likes

Thanks! It’s been a godawful number of years where we’ve been fixing and undoing and updating backend things, with at least one false start in there, maybe two. If an app survives long enough, it probably has to go through with the backend overhaul at some point. We I made a lot of mistakes, and we learned a lot about this kind of thing… it was really frustrating! But, not sure if there was much to do about that. Recently, however, we’ve been able to be more about feature building, so I hope we can get into a long period that’s mostly just building fun things :crossed_fingers:

14 Likes

Everything, especially artworks looks awesome!

Do you plan to add earliest level up time to dashboard?

3 Likes

Definitely not in this update. But, I’d say probably not to the future. We tend to make decisions around trying to help people to be consistent with their reviews, and not burn through them (if you want to do that, then you’ll do that, and don’t need to be encouraged to do it). We see more people trying to go too fast and then burning out the moment they forget to do their reviews for a couple days in a row. So, I’d think that earliest level up time might encourage something we don’t want to encourage.

That said, totally understand why the speedsters would like that!

16 Likes

Oh, I never though in this perspective. Thanks for the answer!

4 Likes

I would suggest the earliest-level-up script I already made, but it’s about to break anyway.

I like the new look and especially the modular choose-your-own features strategy! That omelette is probably worth breaking a few eggs scripts for the time it takes people to make fixes or replacements.

3 Likes

Can’t wait to see what the new durtle looks like for surviving the Great Dashboard Remodeling of 2025.

3 Likes

I like the addition of the heatmap! I haven’t been able to use any of the third party ones.

8 Likes

Can we test our scripts in the preview site?

3 Likes

I’ll double check to see if anything changed, but the conclusion was “no” for this one. So, probably not, I’m afraid. (Sorry).

4 Likes

Does this mean you mad lads finally did it? You finally fixed this bug, and then put the new user heatmap straight on the user home page? Amazing!

4 Likes

Ok, that looks like enough that it will be possible to grab a reference to, thanks!

2 Likes

Just want to chime in on the API question here. At least from the perspective of the Tsurukame iOS app, which I have contributed to and use regularly, the thing that feels more important to me than “seeing all reviews ever for someone’s lifetime so I can run cool stats” is “reviews that were answered incorrectly in the last 24 hrs” – for knowing recent mistakes. Right now, the app can track this locally and does it well…as long as you don’t use the app and the website. Then everything crashes and burns and they are out of sync.

Being able to hit the “code”/API that the website uses for recent mistakes would be nice. Or, even more simply, a last_mistake_time on the current review_statistic API would do it, I think. (Right now it is challenging to know what is a recent mistake with that API.) That would prevent a new API endpoint from being necessary and would seem fairly straightforward to add, at least from someone who has never seen the code running this in my entire life. So I say that with a grain of salt, as it were, if you follow.

I know you just said you’re not working on the API stuff right now, but wanted to pipe up to give some additional thought from at least my tiny little perspective so it can be stuffed into a notes file 20 folders deep on a computer in the back room. :slight_smile:

Thanks for what you’re doing! Wanikani has been integral to my kanji learning experience.

9 Likes

I think this looks great! I’m looking forward to being able to customize my dashboard to include all the information I care about! Thanks so much!

5 Likes
  1. OMG Koichi-sama is still alive

  2. New dashboard looks rad

ワクワクしているニャ

7 Likes

Oh, I absolutely love this. Amazing job and it definitely looks better than the current dashboard. The whole module thing especially looks super exciting :dizzy: +1 for the dark mode!

7 Likes

Seeing this, I was wondering: can a widget be added multiple times or is it easy to switch the time frame? The thought occurred since if I’d want both the short and long term stat, I’d need to either be able to switch easily or add it multiple times.

Since I’m not sure how the details of it work, maybe there is already a solution for that. If not, that’s also fine, this is mostly just curiosity.

Either way, I’m really looking forward to this update and perhaps an official dark mode or other updates eventually :slight_smile: I’ve honestly been quite frustrated with the seeming lack of feature updates for the past while, so this really cheers me up!

2 Likes

Omg it’s こういち I keep reading about!

The new dashboard looks sick too, can’t wait!

9 Likes

Yes! You can add the same widget or multiple variations of the same widget as many times as you want. For example, you could do a row of three Reviews Completed widgets, each with a different time period (e.g. Today, This Month, and All Time). You could also have a row of three “Today” Reviews Completed widgets, if you want to do that for some reason. Somebody will, surely.

16 Likes

Yay the reberu appo durtles will stay!

It took me so long to parse that the first time I saw it that I’d be devastated to lose them now… ( T_T)\(^-^ )

3 Likes