2024年1月から日本語を勉強していて、今では約7000語を理解できる(ง ᵒ̌▱๋ᵒ̌ )ง I've been studying Japanese since January 2024, and I can now understand around 7,000 words :D I've been spending a fuck-ton of time perfecting my Anki card design. I can produce these within 1 second using Migaku. Noone I know gives a single fuck about this but I have to show this of somewhere lmao Front card Back card. The only thing I have to do is to bold the main meaning if there is more than 1 meaning. Anything of importance is highlighted automatically otherwise. The bottom part is entirely automatically output by an AI. Any card with only 1 meaning can be created within a second or two. Front card for "vocab cards". The card transforms into a vocab card automatically just by inputting anything in the "Vocab" field I also use anki extensions for adding furigana and batch-adding a silent audio file to one of the fields. I had 0 experience with coding before making this so I have been asking AI for help where needed. I made this 100% for personal use so it's not very readable to others, and there's some redundant code here and there but here it is: <!-- Hidden fields for detection --> <div id="AIExplanationField" style="display:none">{{AI Explanation}}</div> <div id="VocabField" style="display:none">{{Vocab}}</div> <!-- Vocab Card --> <div id="vocabCard" style="display:none"> <div class="noreplaybutton">{{Silent Audio}}</div> <div class="audio-group"> {{Forvo Audio}} </div> <div class="glass-group-vocab"> <div class="ruby-container" style="font-size:50px;color:#ff694e;font-family:Yu mincho;"> {{furigana:Unknown Word}} </div> <div style="color:#D7DEE9;font-size:24px;font-family:Yu mincho;letter-spacing:-1px;"> {{furigana:Hint}} </div> </div> </div> <!-- Sentence Card --> <div id="sentenceCard" style="display:none"> <div class="audio-group"> {{Sentence Audio}} </div> <div class="glass-group-sentence"> <div class="ruby-container" style=" color:#D7DEE9; font-family:Yu mincho; letter-spacing:-1px; font-size:50px;"> {{furigana:Sentence}} </div> </div> </div> <script> (function(){ function norm(s) { return (s || '').replace(/<[^>]*>/g, ' ').replace(/\s+/g, ' ').trim(); } const aiText = norm(document.getElementById('AIExplanationField').textContent).toUpperCase(); const vocabTxt = norm(document.getElementById('VocabField').textContent); const isVocab = aiText.includes('VOCAB CARD') || vocabTxt.length > 0; const vocabEl = document.getElementById('vocabCard'); const sentEl = document.getElementById('sentenceCard'); if (isVocab) { if (vocabEl) vocabEl.style.display = ''; if (sentEl) sentEl.style.display = 'none'; const btn = vocabEl.querySelector('.soundLink, .replaybutton'); if (btn) btn.click(); } else { if (vocabEl) vocabEl.style.display = 'none'; if (sentEl) sentEl.style.display = ''; const btn = sentEl.querySelector('.soundLink, .replaybutton'); if (btn) btn.click(); } // Kanji spacing tweak document.querySelectorAll('.ruby-container').forEach(el => { const firstLine = el.innerHTML.split(/<br\s*\/?>/i)[0]; if (!/[\u4E00-\u9FFF]/.test(firstLine)) { el.classList.add('no-kanji-space'); } }); })(); </script> {{^Vocab}} <!-- <script> var elem = document.querySelector(".soundLink, .replaybutton"); // AnkiMobile & AnkiDroid / AnkiDesktop if (elem) { elem.click(); } </script> --> {{/Vocab}} <div class="audio-group"> {{Forvo Audio}} {{Sentence Audio}} </div> <div class="glass-group"> <div class="unknown-word ruby-container">{{furigana:Unknown Word}}</div> <div class="definition-block">{{furigana:Definitions}}</div> <script> ;(function(){ const defs = document.querySelector('.definition-block'); if (!defs) return; // 1) Grab raw HTML let html = defs.innerHTML; // 2) Unwrap <p>…</p> → <br>, then strip all <p> tags html = html .replace(/<\/(?:p|div)>\s*<(?:p|div)>/gi, '<br>') .replace(/<\/?(?:p|div)>/gi, ''); // 3) Don’t split on ★, treat it as part of the text let headRaw, restHtml; // ignore ★ entirely—always go the “else” route const parts = html.split(/<br\s*\/?>|\r?\n/); headRaw = (parts.shift() || '').trim(); restHtml = parts .join('\n') .replace(/^(?:\n|\s)*/, ''); // 4) Extract only the kana reading let reading; const pMatch = headRaw.match(/\(([^)]+)\)/); const bMatch = headRaw.match(/^([^【\(]+)[【\(]/); if (pMatch) reading = pMatch[1].trim(); else if (bMatch) reading = bMatch[1].trim(); else reading = headRaw; // 5) Normalize bold and move numbers out of the bold if needed restHtml = restHtml // normalize <strong> to <b> so regex is consistent .replace(/<strong>/gi, '<b>').replace(/<\/strong>/gi, '</b>') // if someone bolded the number too, move it out .replace(/^<b>(\d+\.\s*)([\s\S]+?)<\/b>$/gm, '$1<b>$2</b>'); // 6) Split into lines AND remove any leading "∙ " const rawLines = restHtml .split(/<br\s*\/?>|\r?\n/) .map(l => l.trim().replace(/^∙\s*/, '')); // 7) Filter blank lines const lines = rawLines.filter(l => /\S/.test(l.replace(/<[^>]+>/g,''))); // 8) Detect fully-bold lines (numbered or not) const isFull = lines.map(l => { const s = l.trim(); // pure full-bold line (after bullet removal) if (/^<b>[\s\S]+<\/b>$/i.test(s)) return true; // numbered variants if (/^\d+\.\s*<b>[\s\S]+<\/b>$/i.test(s)) return true; if (/^<b>\s*\d+\.\s*[\s\S]+<\/b>$/i.test(s)) return true; return false; }); // 9) Solo style? const solo = lines.length===1 && !/<b>.*?<\/b>/i.test(lines[0]); // 10) Build HTML let out = `<div class="definition-headword">${reading}</div>`; lines.forEach((raw, i) => { const line = raw.trim(); if (!line) return; const textOnly = line.replace(/<\/?b>/gi,'').trim(); const isNum = /^\d+\.\s/.test(textOnly); const bullet = (isNum || textOnly.startsWith('∙')) ? '' : '・'; let cls = 'definition-line'; let vis; if (isFull[i]) { cls += ' main'; vis = textOnly; } else if (solo) { cls += ' solo'; vis = textOnly; } else { let step = line.replace(/^<b>(\d+\.\s*)<\/b>/i,'$1'); vis = step.replace( /<b>([\s\S]+?)<\/b>/gi, '<span class="pill">$1</span>' ); } out += `<div class="${cls}">${bullet}${vis}</div>`; }); // 11) Inject defs.innerHTML = out; })(); </script> <script> ;(function(){ const el = document.querySelector('.unknown-word'); if (!el) return; // how wide we have to fit into const containerWidth = el.clientWidth; // how wide the text really is at the current font-size const textWidth = el.scrollWidth; // only scale down if it’s too big if (textWidth > containerWidth) { const style = window.getComputedStyle(el); const fontSize = parseFloat(style.fontSize); // compute the factor needed to fit exactly let newSize = fontSize * (containerWidth / textWidth); // optional floor so it never goes below 12px newSize = Math.max(newSize, 12); el.style.fontSize = newSize + 'px'; } })(); </script> <div class="glass-group2"> <!-- your existing screenshot --> {{Screenshot}} <!-- new overlay text --> <div class="text-overlay"> {{furigana:Sentence}} </div> <script> ;(function(){ const overlay = document.querySelector('.text-overlay'); if (!overlay) return; // split on your <br> tags (or any line delimiter you already use) const parts = overlay.innerHTML.split(/<br\s*\/?>/gi); // rebuild, wrapping each chunk in a .subtitle-line span overlay.innerHTML = parts .map(line => `<span class="subtitle-line">${line.trim()}</span>`) .join('<br>'); })(); </script> <!-- then your translation --> <div class="translation">{{Translated Sentence}}</div> </div> <!-- endof first glass group --> <script> (function () { const tagDiv = document.getElementById("raw-tags"); if (tagDiv) { let text = tagDiv.innerHTML .replace(/\bfav\b/gi, "★") .replace(/::/g, " "); // Capitalize first letter of each word (excluding ★) text = text.split(" ").map(word => { return word === "★" ? "★" : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }).join(" "); tagDiv.innerHTML = text; } })(); </script> </div> {{#AI Explanation}} <div class="AI-explanation"> <div class="ai-text">{{AI Explanation}}</div> </div> {{/AI Explanation}} {{#Tags}} <div id="raw-tags" class="tags">{{Tags}}</div> {{/Tags}} <script> ;(function(){ // grab every element we marked as 'ruby-container' const elems = document.querySelectorAll('.ruby-container'); if (!elems.length) return; // simple Kanji test const hasKanji = /[\u4E00-\u9FFF]/; elems.forEach(el => { // only look at the first line (before any <br>) const firstLine = el.innerHTML.split(/<br\s*\/?>/i)[0]; if (!hasKanji.test(firstLine)) { el.classList.add('no-kanji-space'); } }); })(); </script> @font-face { font-family: 'Manrope'; src: url('_Manrope-VariableFont_wght.ttf'); } .card { font-family: Meiryo; font-size: 20px; text-align: center; line-height: 1.1; color: black; letter-spacing: 0px; background-image: url("_Heikebg2.jpg"); } img { width: 100%; height: auto; max-width: 100%; margin: 8px auto 0; display: block; object-fit: cover; border-radius: 7px; /* disabled for nå box-shadow: 0px 0px 18px black; */ } /*—————————————————————————————————————— Audio buttons ——————————————————————————————————————*/ /* wrap both controls for consistent layout */ .audio-group { /*display: inline-flex;*/ /* temp skrudd av pga inconsistent spacing mellom audio buttons og bakgrunn*/ gap: 8px; /* space between buttons */ margin-bottom: 10px; /* keeps glass-group spacing consistent */ } /* the clickable “pill” around your SVG */ .audio-group .replay-button, .audio-group .soundLink { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: rgba(255,255,255,0.1); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); transition: background 0.2s ease, transform 0.1s ease; cursor: pointer; } /* hover state */ .audio-group .replay-button:hover, .audio-group .soundLink:hover { background: rgba(255,255,255,0.2); transform: scale(1.1); } /* active/tap state */ .audio-group .replay-button:active, .audio-group .soundLink:active { background: rgba(255,255,255,0.25); transform: scale(0.95); } /* shrink the SVG a bit to give padding inside circle */ .replay-button svg, .soundLink svg { width: 20px; height: 20px; } /* default icon color */ .replay-button svg circle { fill: #1a1a1a; } .replay-button svg path { stroke: #000; fill: #373737; } /* on hover, brighten the icon */ .replay-button:hover svg circle { fill: #373737; } .replay-button:hover svg path { stroke: #222; fill: #D7DEE9; } /*—————————————————————————————————————— ——————————————————————————————————————*/ ruby rt { visibility: hidden; } ruby:hover rt { visibility: visible; } u { text-decoration: none; color: ;} /* UNDERLINE STYLE */ /* IMAGE STYLE */ img {margin: 8px auto 0px auto;} .noreplaybutton { display: none; } .sentence{ color: transparent; background-color: #1F1F1F; font-size: 40px; transition: 0.3s all; } .sentence:hover { color: #D7DEE9; } .translation { color: transparent; font-size: 17px; height: 30px; font-family: 'Manrope', sans-serif; transition: all 0.4s ease; } .translation:hover { color: #8A909A; text-shadow: 0px 0px 5px black; font-size: 17px; } .transparent2 { background-color: rgb(0, 0, 0, 0.5); <img src=_yourpicture.fileextension> } .scale:hover { font-size: 40px; transition-delay: 0.8s; } .scale { color: #D7DEE9; background-color: rgb(0, 0, 0, 0.5); font-size: 22px; transition: 0.2s all; } .sentencehover{ color: transparent; background-color: rgb(0, 0, 0, 0.5); font-size: 28px; transition: 0.3s all; text-shadow: 0px 0px 10px grey; } .sentencehover:hover { color: #D7DEE9; } .tags { position: absolute; top: 102px; right: 470px; font-size: 18px; color: #D7DEE9; padding: 4px 10px; border-radius: 8px; display: inline-block; background: rgba(255, 255, 255, 0.05); } .glass-group { background: rgba(0, 0, 0, 0.5); border-radius: 7px; backdrop-filter: blur(8px); padding-bottom: 24px; width: 100%; max-width: 634px; margin: 8px auto 0; } .glass-group3 { background: rgba(0, 0, 0, 0.5); border-radius: 7px; backdrop-filter: blur(8px); padding-bottom: 24px; padding-top: 14px; width: 100%; max-width: 634px; margin: 6px auto 0; } /* simpel fix for excess space under vocab kort */ .glass-group-vocab { background: rgba(0, 0, 0, 0.5); border-radius: 7px; backdrop-filter: blur(8px); padding-bottom: 24px; width: 100%; max-width: 634px; margin: 8px auto 0; } .glass-group-sentence { background: rgba(0, 0, 0, 0.5); border-radius: 7px; backdrop-filter: blur(8px); padding-bottom: 24px; } .glass-group2 { position: relative; /* establish a positioning context */ width: 100%; /* same as your img width */ height: 255px; /* same as your img height */ margin: 10px auto 0; /* keep your centering */ border-radius: 2%; /* match your image */ object-fit: cover; display: block; max-width: 580px; aspect-ratio: 580 / 255; } .glass-group2 img { display: block; /* remove inline-block gaps */ width: 100%; height: 100%; object-fit: cover; } .text-overlay { font-family: Noto Sans JP; display: inline-block; position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); box-sizing: border-box; width: calc(100% - 0px); /* denna var 24px */ padding: 0 0px; /* denna var 0 12px */ background: rgba(0, 0, 0, 0); backdrop-filter: blur(0px); color: #E6EBF4; font-size: 22px; text-align: center; border-radius: 3px; z-index: 2; /* allow wrapping and break long words */ white-space: normal; overflow-wrap: break-word; word-break: break-word; text-shadow: 1px 0px 0 #000, -1px 0px 0 #000, 0px 1px 0 #000, 0px -1px 0 #000, 1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 0px 0px 8px rgba(0, 0, 0, 0.6); } .glass-group2::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; backdrop-filter: blur(0px); height: 100%; background: rgba(0, 0, 0, 0.0); /* adjust opacity for brightness */ z-index: 1; pointer-events: none; /* lets you click through it */ border-radius: 2%; /* match the image corners */ } .definition-block { max-width: 580px; margin: 0px auto 14px; font-size: 15px; color: #D7DEE9; font-family: 'Manrope', sans-serif; text-align: center; font-weight: 400; } .definition-line { padding: 2px 10px; margin-bottom: 8px; background: rgba(255, 255, 255, 0.08); border-radius: 4px; box-shadow: inset 0 0 2px rgba(255,255,255,0.0); } .definition-headword { font-size: 22px; font-family: Yu mincho; color: #D7DEE9; letter-spacing:-1px; text-align: center; margin-bottom: 10px; } .definition-line b { background: rgba(255, 105, 78, 0.4); padding: 0 2px; border-radius: 0px; font-weight: normal; color: inherit; } .definition-line.main { background: rgba(255, 105, 78, 0.4); border-left: 0px solid rgba(255, 105, 78, 0.4); border-right: 0px solid rgba(255, 105, 78, 0.4); } /* special styling when there's only one un-bolded definition */ .definition-line.solo { background: rgba(255, 105, 78, 0.4); border-left: 0px solid #FF5B3E; border-right: 0px solid #FF5B3E; } .pill { background: rgba(255, 105, 78, 0.4); padding: 0 2px; border-radius: 3px; font-weight: normal; color: inherit; border-left: 0px solid rgba(255, 105, 78, 0.4); border-right: 0px solid rgba(255, 105, 78, 0.4); } .headword-pill { display: inline-block; background: rgba(255, 255, 255, 0.08); padding: 0 4px; border-radius: 3px; font-weight: normal; color: inherit; font-size: 22px; /* match .definition-headword */ margin-bottom: 5px; /* same spacing as before */ } .definition-line:not(.main):not(.solo) b { background: rgba(255, 105, 78, 0.4); padding: 0 2px; border-radius: 2px; font-weight: normal; color: inherit; } .unknown-word { display: block; width: 100%; max-width: 580px; letter-spacing:-1px; margin: 8px auto 0; white-space: nowrap; /* never wrap */ overflow: hidden; /* hide any overshoot */ font-family: Yu mincho; /* Yu mincho */ font-size: 50px; /* starting size */ color: #ff745b; } .AI-explanation { display: inline-block; box-sizing: border-box; max-width: 634px; margin: 6px auto; padding: 24px 24px; background: rgba(0,0,0,0.5); border-radius: 6px; backdrop-filter: blur(8px); font-size: 15px; color: #D7DEE9; /* already visible color */ font-family: 'Manrope', sans-serif; text-align: center; font-weight: 400; /* fade everything together */ opacity: 1; transition: opacity 0.4s ease; } .AI-explanation:hover { opacity: 1; } .ai-text { opacity: 1; transition: opacity 0.4s ease; } .AI-explanation:hover .ai-text { opacity: 1; } .no-kanji-space { padding-top: 0.5em; } t { color: #ff745b; } em { font-style: normal; /* removes the slant */ max-width: 580px; width: 100%; display: inline-block; color: :#D7DEE9; background-color: rgba(255, 105, 78, 0.4); /* highlight color */ padding: 0 3px; /* space so highlight isn't cramped */ border-radius: 3px; /* optional: rounded edges */ margin-bottom: 8px; } ss { font-style: normal; /* removes the slant */ max-width: 580px; width: 100%; display: inline-block; color: :#D7DEE9; background-color: rgba(255, 255, 255, 0.08); /* highlight color */ padding: 0 3px; /* space so highlight isn't cramped */ border-radius: 3px; /* optional: rounded edges */ margin-bottom: 8px; } strong { color: #ff745b; font-weight: normal; } /* Default: hide the desktop-only content */ .desktop-only { display: none; } /* Desktop Anki (which uses a real browser) supports this */ @supports (backdrop-filter: blur(4px)) { .desktop-only { display: block; } } /* make each line its own little subtitle pill */ .subtitle-line { display: inline-block; /* hug the text */ background: rgba(0, 0, 0, 0.3); padding: 4px 4px; border-radius: 3px; margin: 2px 0; /* small gap between lines */ /* ensure each fragment keeps its own box on wrap */ -webkit-box-decoration-break: clone; box-decoration-break: clone; } I've taken the standard prompt and edited it to my liking with help from AI You are a language API that: 1. explains the meaning of the specified word(s) so it makes sense in the context of the given sentence. Base your explanation ONLY on the meaning that fits naturally with the provided sentence. 2. also explains the more common/primary meaning of the specified word(s) 3. Visualizes a Japanese word by breaking it into its kanji, showing each character’s meaning or phonetic role (with an optional mnemonic for phonetic kanji). Rules: - Respond in no more than 800 characters. - Keep the specified word(s) exactly as given, in the original language. - Use [INTERFACE_LANG] for the explanation. - Be simple, direct, and unambiguous. - ABSOLUTELY DO NOT include any of the following in the output: language names, the word "nuance", any context sentence, ANY language codes or labels (e.g., "en", "ja"), romaji/pinyin/furigana, or pronunciation notes. - Output must start immediately with the explanation text, not with any metadata, tags, or formatting. - Wrap the entire first paragraph in <em>…</em>. - Wrap the entire second paragraph (if it exists) in <ss>…</ss>. - In all other paragraphs, wrap ONLY Japanese kanji (漢字) and kana (ひらがな, カタカナ) in <t>…</t>. Do NOT wrap romaji, punctuation, or non‑Japanese text. - Use <em>, <ss>, and <t> exactly as written here. Do not replace them with <i>, <strong>, or any other tag. - Output <em>, <ss>, and <t> as raw HTML tags, not escaped entities. Do not replace < with < or > with >. - Do not wrap English words, numbers, or punctuation in <em> unless they are part of the first paragraph. - **Do not insert any blank lines between paragraphs in the output. Each paragraph must follow immediately after the previous one on the next line.** Format: Paragraph 1: The contextual meaning of the specified word(s). Do not include the specified word itself. Do not include any lead‑in phrases like “In this context” or “refers to”. Paragraph 2: Add this part ONLY if the specified word(s) has another more common meaning than the contextual meaning. ONLY DO THIS IF THE MEANING IS DIFFERENT FROM THE CONTEXTUAL MEANING. Wrap the entire paragraph in <ss>…</ss>. Paragraph 3: Visualize the specified word(s) by breaking it into its kanji, showing each character’s meaning or phonetic role (with an optional mnemonic for phonetic kanji). Do not output this paragraph at all if the specified word(s) does NOT contain any kanji. Example 1: Input: こういう反射的な動作を求められる場面だと恩恵がよく分かる!. Explain the word(s): 反射 (lang: [TARGET_LANG]) Output: <em>An unconscious or automatic response to stimuli; reflex.</em> <ss>Commonly, it refers to the reflection of light, sound, or other waves off a surface.</ss> <t>反射</t> comprises <t>反</t> (return, opposite) + <t>射</t> (shoot, radiate). Combined, they describe the automatic rebound or return of actions, suggestive of reflexive motion. Example 2: Input: 先頭集団がトンネルから飛び出してくる!. Explain the word(s): 先頭 (lang: [TARGET_LANG]) Output: <em>The leading or front group.</em> <ss>The word can also mean "head" or "front" in other contexts, referring to the leading part of something.</ss> <t>先頭</t> consists of <t>先</t> (before, ahead) + <t>頭</t> (head, top). Together they convey the meaning of being at the top or leading position, as in a group or race. [SENTENCE]. Explain the word(s): [WORD] (lang: [TARGET_LANG]) Here are my fields. - The Vocab field transforms the card from a "sentence card" to a "vocab card" automatically if there is anything in it. - The Hint field can be used to add hints to the front of vocab cards - I use the Silent Audio field to be able to auto play only the first audio on the back of the card. You just need to put in a 1 sec silent audio file for this to work. - The Clean Word field has the word without any furigana so I can easily import known words into Migaku :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Azumanga Daioh ep. 1 Highschool of the Dead ep. 1-10 Dungeon Meshi ep. 1-10 Houkago Teibou Nisshi ep. 1-11 Dandadan ep. 1 Dragon Ball ep. 1 Kanon ep. 9 (found it randomly on Youtube) Yuru Camp s2 ep. 1 06.10.24 Watashi ni Tenshi ga Maiorita! ep. 1-6 (continuing) (06.10.2024) Cardcaptor Sakura ep. 1-37 (continuing) Touhai Densetsu Akagi eps 1-3 Spy x Family ep 1 Isekai Ojisan ep 7 Migi to Dali ep 1 Mononoke (current 5/12), ep. 1-2 Hajime no Ippo episode 75, ep 47-48. Isekai Ojisan (ep 1-6) Sonny Boy (Episodes 1-5) Heike Monogatari (I watched episode 2-5 twice as they aired and the first episode three times.) Tengen Toppa Gurren Lagann Golden Kamuy s1 - 1-12, 1-12, 7-12 (read manga from 1-6) Golden Kamuy s2 - 1-7, 1-12, 1-12 Golden Kamuy s3 - 1-2, 1, Kaiji s1 (up to episode 18), ep. 1 Yokohama Shopping Log The Girl Who Leapt Through Time Spirited Away Odd Taxi (right after watching the last episode) Mirai Nikki (all eps + ep 1 twice), ep 1 (03.07.2023), ep 1 (29.05.2025). Mahou Shoujo Madoka★Magica Movie 1 Little Witch Academia Movie Girls und Panzer s1 Girls und Panzer: This is the true battle of Anzio! Girls und Panzer der Film Bakemonogatari Bakemonogatari Recap Hajime no Ippo: Rising (ep 1-4) Hotarubi no Mori e NHK ni Youkoso! (ep 1) Toradora! (ep 1-17) Gintama (ep 167, 152, 72 and 150) Pon no Michi 4-nin wa Sorezore Uso wo Tsuku Kaguya-sama: Love is War Ojou to Banken-kun Wotakoi Pop Team Epic Titles I plan to watch/rewatch/catch up on before sequel drops Spice and Wolf MADE IN ABYSS Jojo's Bizzare Adventure Kaguya-sama: Love Is War Madoka Magica Movie 3 Attack on Titan TIGER & BUNNY KonoSuba VINLAND SAGA Tatami Galaxy (outdated list) Touhai Densetsu Akagi eps 1-3 Spy x Family ep 1 Isekai Ojisan ep 7 Migi to Dali ep 1 Mirai Nikki episode 1 (03.07.2023) Mononoke (current 5/12) Hajime no Ippo episode 75 Isekai Ojisan (ep 1-6) Sonny Boy (Episodes 1-5) Heike Monogatari (I watched episode 2-5 twice as they aired and the first episode three times.) Tengen Toppa Gurren Lagann Golden Kamuy s1 - 1-12, 1-12, 7-12 (read manga from 1-6) Golden Kamuy s2 - 1-7, 1-12, 1-12 Golden Kamuy s3 - 1-2, 1-(ongoing) Kaiji s1 (up to episode 18) Yokohama Shopping Log The Girl Who Leapt Through Time Spirited Away Odd Taxi (right after watching the last episode) Mirai Nikki Mahou Shoujo Madoka★Magica Movie 1 Little Witch Academia Movie Girls und Panzer s1 Girls und Panzer: This is the true battle of Anzio! Girls und Panzer der Film Bakemonogatari Bakemonogatari Recap Hajime no Ippo: Rising (ep 1-4) Hotarubi no Mori e NHK ni Youkoso! (ep 1) Toradora! (ep 1-17) Gintama (ep 167, 152, 72 and 150) I'm an absolute noob when it comes to western film and tv but I can't just watch anime all my life lmao. I'll only add shows I've watched recently. I've obviously seen tons of other movies in my life but I'm not gonna add movies like The Lord of the Rings that I watched when I was 12. Or anything else I don't remember clearly. Breaking Bad - 9.5/10 Léon: The Professional - 8.5/10 Scott Pilgrim Takes Off - 7.5/10 Klaus - 7/10. It's a solid movie, but pretty generic. Monster Hunter - 2/10. This might be the worst movie I've ever watched. I'm an absolute noob when it comes to non-anime TV and films. I'll only add titles I've watched recently or remember very well. CURRENTLY WATCHING
COMPLETED
PLAN TO WATCH
Titles I plan to rewatch Azumanga Daioh Hellsing Ultimate Soul Eater K-On! Mirai Nikki Ousama Ranking Odd Taxi Tengen Toppa Gurren Lagann (second rewatch) Sayonara Zetsubou Sensei FMAB Haibane Renmei Spice and Wolf Kakushigoto (Movie version with additional scenes) Heike Monogatari Berserk 1997 Code Geass (Because I've forgotten everything lmao) Eve no Jikan (ONA version instead of the movie I've already watched) Highschool of the Dead (This was one of the first 3 anime I ever watched) FLCL Serial Experiments Lain Kaiba Ping Pong the Animation The Magnificent Kotobuki (Movie version with additional scenes) Baccano! Solty Rei Black Lagoon Titles with unwatched sequels Neon Genesis Evangelion (second rewatch cause it's a banger) Steins;Gate The Tatami Galaxy 3-gatsu no Lion Monogatari Series Made in Abyss (recap movies) Rurouni Kenshin Prequel OVA Gintama Fate/Zero I haven't recorded any milestone in the 10 years I've been here but here's to the next 10 years lmao. Misc. Watched 1000 episodes of One Piece (October 31. 2022) Days watched 250 days of anime! (October 27. 2022) 260 days of anime! (April 16. 2023) 270 days (October 4. 2023) 280 days (March 9. 2024) Titles dropped Dropped 500 titles! Congratulations to the 500th: Tsunlise (January 11. 2023) Dropped 600 titles with Solo Leveling (February 11. 2024) Episodes watched 16,500 episodes (February 27. 2023) 17,000 episodes (June 28. 2023) 17,500 episodes (November 8. 2023) 18,000 episodes (March 30. 2024) Titles completed Completed 1,250 titles (march 3. 2023) Completed 1,300 titles with The Eminence in Shadow (July 30. 2023) Completed 1,350 titles with Nozomanu Fushi no Boukensha (March 28. 2024) I've noticed that MAL sometimes doesn't add shows i've rewatched to the "days" stat. So i just add episodes to Sazae-san instead. I also use Sazae-san for shows not on MAL like Scott Pilgrim Takes Off. It's hard to enjoy anime with tinnitus... |
Statistics
All Anime Stats Anime Stats
Days: 296.8
Mean Score:
6.17
- Watching46
- Completed1,402
- On-Hold53
- Dropped674
- Plan to Watch596
- Total Entries2,771
- Rewatched9
- Episodes18,946
All Manga Stats Manga Stats
Days: 9.9
Mean Score:
7.83
- Total Entries112
- Reread1
- Chapters1,175
- Volumes80
All Favorites Favorites
Anime (6)
Character (10)
-
Tsurumi, Tokushirou
Golden Kamuy
-
Itou, Kaiji
Gyakkyou Burai Kaiji: Ultimate Survivor
-
Mizunashi, Akari
Aria the Animation
-
Kinomoto, Sakura
Cardcaptor Sakura
-
Myne
Honzuki no Gekokujou: Shisho ni Naru Tame ni wa Shudan wo Erandeiraremasen
-
Forger, Anya
Spy x Family
-
Senshi
Dungeon Meshi PVs
-
Shiraishi, Yoshitake
Golden Kamuy
-
Sugimoto, Saichi
Golden Kamuy
-
Asirpa
Golden Kamuy
All Comments (66) Comments
"pretty lit profile bro"