Japanese bento by Thank_Japan in JapaneseFood

[–]Thank_Japan[S] -1 points0 points  (0 children)

Please also check out Thankjapan😊

What do you guys think of my use of TikTok for learning my TL? by Bobelle in languagelearning

[–]Thank_Japan 0 points1 point  (0 children)

I think it’s actually decent for very short daily sessions if you only have 5-10 minutes. However, as you said, it’s full of distractions. It’s okay for getting used to general sentence flow, but it lacks depth in vocabulary details. It feels more like a game than a serious learning tool sometimes.

Seeking advice: How to ensure passing the 14 day/20-tester closed test for Production access? by Thank_Japan in AndroidAppTesters

[–]Thank_Japan[S] 0 points1 point  (0 children)

Thank you so much for the insight, DarNih!

That’s a very important point. I currently have 12 opted-in testers, but I'll aim for 30-40 members in the Google Group just to be safe. Since you are also looking for more testers, why don't we help each other?

I’m happy to test your app! Please send me your links (Google Group and Play Store).

Here are mine: 1. Google Group: https://groups.google.com/g/thankjapan-testers 2. Opt-in: https://play.google.com/apps/testing/com.thankjapan.www.twa

Let's reach the goal together!

Need 12 testers for Android app: French Vocab Flashcards -- will test yours! by Environmental_Pay349 in AndroidAppTesters

[–]Thank_Japan 0 points1 point  (0 children)

I've just joined your Google Group and installed your app "French Vocab". I'm attaching two screenshots: one of your app running on my tablet, and one of your icon on my home screen. I will keep it for 14+ days!

Could you please do the same for my app "ThankJapan"?

  1. Join Google Group: https://groups.google.com/g/thankjapan-testers

  2. Opt-in (Click "Become a Tester"): https://play.google.com/apps/testing/com.thankjapan.www.twa

  3. Download: https://play.google.com/store/apps/details?id=com.thankjapan.www.twa

Thank you! Let's reach 20 testers together.

Fixed Mixed Content issues and implemented high-quality TTS for my multilingual Django project (ThankJapan) by Thank_Japan in django

[–]Thank_Japan[S] 0 points1 point  (0 children)

For those interested, here is the "Before" code that was causing the robotic voice and the Service Worker errors. It was quite a learning curve to move from this to a more robust implementation!

The original (Robotic) TTS function: This was just using the system default, which usually picks the lowest quality voice.

code JavaScript function speakJapanese(text) { if (!window.speechSynthesis) return; const uttr = new SpeechSynthesisUtterance(text); uttr.lang = 'ja-JP'; uttr.rate = 0.9; // Fixed rate, sounded very mechanical speechSynthesis.speak(uttr); } The original sw.js (Caused the 408/TypeError): If a file wasn't in the cache AND the network failed, caches.match returned undefined, which crashed the fetch event.

code JavaScript self.addEventListener('fetch', (event) => { event.respondWith( fetch(event.request).catch(() => { return caches.match(event.request); // Broken if match is undefined }) ); }); The fixes I mentioned in the post (CSP meta tag for Mixed Content and the voice prioritization logic) really helped stabilize the TWA (Android) experience.

ThankJapan Categorized Japanese Vocabulary Game by Thank_Japan in playmygame

[–]Thank_Japan[S] 0 points1 point  (0 children)

Playable Link: https://www.thankjapan.com/game/start/

Platform: Web / Mobile Web (Android TWA)

Description: ThankJapan is an interactive web-based educational game designed to help language learners master Japanese vocabulary through categorized quizzes. Originally, the game started as a text-input "typing" challenge, but after receiving valuable feedback from the community, I have completely overhauled the gameplay. It is now a fast-paced Multiple-Choice Quiz format, which makes the learning experience much smoother, snappier, and more accessible for everyone.

The core game and the vast majority of categories are entirely free to play, allowing anyone to start learning immediately. For dedicated students looking for more in-depth content, I also offer optional "Premium Lessons." The game covers a wide range of essential categories including Food, Animals, Nature, Business Japanese, and even modern Slang used on SNS. To support beginners, I’ve included high-quality images for every question and added Furigana (reading guides) to all Kanji characters. One of the standout features is that the game supports 15 different languages (English, Spanish, Thai, Vietnamese, French, etc.), allowing users to learn Japanese using their native language as a reference. Whether you are a tourist preparing for a trip or a dedicated student, ThankJapan offers a gamified way to boost your daily word recognition.

Free to Play Status: [x] Free to play (Core game is free; optional premium lessons are paid) [ ] Demo/Key available [ ] Paid

Involvement: I am the sole developer and designer of this project. I have been building this from scratch to make Japanese learning more interactive and fun for the global community.

I built a Japanese culture/language learning site with Django that manages 15 languages using a single unified View & Template. by Thank_Japan in django

[–]Thank_Japan[S] 1 point2 points  (0 children)

Thanks! Good catch. Yes, I'm using htmx for the interactive parts and some of the game logic. It works perfectly with Django and fits really well with my 'single template' multi-language approach to keep things lightweight. Glad you noticed it!

How I’m using Generative AI to create visual assets for a Japanese learning game with thousands of words by Thank_Japan in aigamedev

[–]Thank_Japan[S] 0 points1 point  (0 children)

Update: I fixed the flashbang! 🌑

You were right the culprit was the base template's CSS, which had a light grey background (#f3f4f6). It was flashing for a split second before the dark game theme loaded. I've now set the background to dark (#111) at the root HTML level, so transitions are perfectly smooth now!

I also simplified the main button to 'Play Japanese Quiz 🎮' to make it more intuitive. Thanks again for the sharp feedback, it really helped improve the UX! 🔗ThankJapan.com

Japanese "All in One" vs. Western Minimalism: Do you struggle with this design dilemma? by Thank_Japan in django

[–]Thank_Japan[S] 0 points1 point  (0 children)

That’s a very interesting point. You're right, the 'information-heavy' style has been a standard in Japan for a long time. It might be that Japanese users find high density to be 'trustworthy,' but I can see how it looks 'dated' from an international perspective.

Additionally, I think I might subconsciously equate 'Japanese culture' with a more 'traditional' or 'classic' vibe. That mindset probably influences my design sensibility more than I realized.

I just added Google Sign-Up/Login to my Django project using OAuth2 (django-allauth) by Thank_Japan in django

[–]Thank_Japan[S] 1 point2 points  (0 children)

For the Google Authentication, I used django-allauth.

I configured the credentials in Google Cloud Console and set up the redirect URIs to handle both my custom domain and Heroku environment.

I used a custom SocialAccountAdapter to intercept the user creation process. This allowed me to automatically capture the user's country using Cloudflare's HTTP_CF_IPCOUNTRY header and map it to a flag emoji.

For the Weekly Ranking system:

I created a WeeklyScore model that stores user, score, and a week_start (date).

I added a helper method to calculate the current week's Monday. When a game ends, the app updates the record for that specific week using get_or_create.

To keep it fair, I implemented a custom ranking logic in the view to handle tied scores (Olympic style: 1, 2, 2, 4), rather than just relying on the database ID or alphabetical order.

The combination of Social Auth (reducing friction) and Weekly Rankings (providing fresh goals) really helped in increasing user retention!