PageSourceSearch

https://speakprac.com/

html speakprac.com collected 2026-10-02 00:55:53 UTC 41,227 bytes, 10 lines download raw bytes

1<!DOCTYPE html><html class="2xl:text-[20px]" dir="ltr" lang="en"><head><meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><link href="/sitemap-index.xml" rel="sitemap"><link href="/_astro/favicon.hYpDKHDT.ico" rel="shortcut icon"><link href="/_astro/favicon.BmM8shuK.svg" rel="icon" type="image/svg+xml"><link href="/_astro/favicon.BmM8shuK.svg" rel="mask-icon" color="#8D46E7"><link href="/_astro/apple-touch-icon.CLDMfpU_.png" rel="apple-touch-icon" sizes="180x180"><style>:root{--aw-font-sans:'Inter Variable';--aw-font-serif:'Inter Variable';--aw-font-heading:'Inter Variable';--aw-color-primary:rgb(251 153 12);--aw-color-secondary:rgb(245 158 11);--aw-color-accent:rgb(220 38 38);--aw-color-text-heading:rgb(0 0 0);--aw-color-text-default:rgb(16 16 16);--aw-color-text-muted:rgb(16 16 16 / 66%);--aw-color-bg-page:rgb(255 255 255);--aw-color-bg-page-dark:rgb(3 6 32)}.dark{--aw-font-sans:'Inter Variable';--aw-font-serif:'Inter Variable';--aw-font-heading:'Inter Variable';--aw-color-primary:rgb(251 153 12);--aw-color-secondary:rgb(245 158 11);--aw-color-accent:rgb(220 38 38);--aw-color-text-heading:rgb(247, 248, 248);--aw-color-text-default:rgb(229 236 246);--aw-color-text-muted:rgb(229 236 246 / 66%);--aw-color-bg-page:rgb(3 6 32)}</style>
1<script>!function(){const e="light";function t(e){"dark"===e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");const t=document.querySelectorAll("[data-aw-toggle-color-scheme] > input");t&&t.length&&t.forEach((t=>{t.checked="dark"!==e}))}e&&e.endsWith(":only")||!localStorage.theme?t(e.replace(":only","")):"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):t("light")}()</script>
1<title>IELTS Speaking Practice | AI App, Free Course &amp; Flashcards — SpeakPrac</title><meta content="Your complete hub for IELTS Speaking success. Explore our AI-powered practice app, free comprehensive course, vocabulary flashcards, and expert tips to achieve your target band score." name="description"><meta content="index,follow" name="robots"><link href="https://speakprac.com" rel="canonical"><meta content="IELTS Speaking Practice | AI App, Free Course &amp; Flashcards" property="og:title"><meta content="Your complete hub for IELTS Speaking success. Explore our AI-powered practice app, free comprehensive course, vocabulary flashcards, and expert tips to achieve your target band score." property="og:description"><meta content="https://speakprac.com" property="og:url"><meta content="website" property="og:type"><meta content="https://speakprac.com/_astro/og-default.DGHMYEc9_Z20v6RT.jpg" property="og:image"><meta content="1200" property="og:image:width"><meta content="630" property="og:image:height"><meta content="en" property="og:locale"><meta content="SpeakPrac" property="og:site_name"><meta content="summary_large_image" name="twitter:card"><meta content="@speakprac" name="twitter:site"><meta content="@speakprac" name="twitter:creator"><meta content="orcPxI47GSa-cRvY11tUe6iGg2IO_RPvnA1q95iEM3M" name="google-site-verification">
vendor: 57 bytes, line 1
1<script src="https://www.googletagmanager.com/gtag/js?id=
1G-WLQGNWDBFE
vendor: 39 bytes, line 1
1" async type="text/partytown"></script>
1<script type="text/partytown">(function(){const id = "G-WLQGNWDBFE";
2
3  window.dataLayer = window.dataLayer || [];
4  function gtag() {
5    window.dataLayer.push(arguments);
6  }
7  gtag("js", new Date());
8  gtag("config", id);
9})();</script>
9<meta content="true" name="astro-view-transitions-enabled"><meta content="swap" name="astro-view-transitions-fallback">
9<script src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CDGfc0hd.js" type="module"></script>
9<link href="/_astro/common-mistakes.DWcKtRcW.css" rel="stylesheet">
9<script>!function(t,e,n,r){(window.crossOriginIsolated||navigator.serviceWorker)&&((r=t[e]=Object.assign(t[e]||{},{lib:"/~partytown/",debug:!1}))[n]=(r[n]||[]).concat(["dataLayer.push"]))}(window,"partytown","forward");const t={preserveBehavior:!1},e=e=>{if("string"==typeof e)return[e,t];const[n,r=t]=e;return[n,{...t,...r}]},n=Object.freeze((()=>{const t=new Set;let e=[];do{Object.getOwnPropertyNames(e).forEach((n=>{"function"==typeof e[n]&&t.add(n)}))}while((e=Object.getPrototypeOf(e))!==Object.prototype);return Array.from(t)})());!function(t,r,o,i,a,s,c,d,l,p,u=t,f){function y(){f||(f=1,"/"==(c=(s.lib||"/~partytown/")+(s.debug?"debug/":""))[0]&&(l=r.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(h,(null==s?void 0:s.fallbackTimeout)||1e4),r.addEventListener("pt0",b),a?w(1):o.serviceWorker?o.serviceWorker.register(c+(s.swPath||"partytown-sw.js"),{scope:c}).then((function(t){t.active?w():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&w()}))}),console.error):h())))}function w(e){p=r.createElement(e?"script":"iframe"),t._pttab=Date.now(),e||(p.style.display="block",p.style.width="0",p.style.height="0",p.style.border="0",p.style.visibility="hidden",p.setAttribute("aria-hidden",!0)),p.src=c+"partytown-"+(e?"atomics.js?v=0.11.0":"sandbox-sw.html?"+t._pttab),r.querySelector(s.sandboxParent||"body").appendChild(p)}function h(n,o){for(b(),i==t&&(s.forward||[]).map((function(n){const[r]=e(n);delete t[r.split(".")[0]]})),n=0;n<l.length;n++)(o=r.createElement("script")).innerHTML=l[n].innerHTML,o.nonce=s.nonce,r.head.appendChild(o);p&&p.parentNode.removeChild(p)}function b(){clearTimeout(d)}s=t.partytown||{},i==t&&(s.forward||[]).map((function(r){const[o,{preserveBehavior:i}]=e(r);u=t,o.split(".").map((function(e,r,o){var a;u=u[o[r]]=r+1<o.length?u[o[r]]||(a=o[r+1],n.includes(a)?[]:{}):(()=>{let e=null;if(i){const{methodOrProperty:n,thisObject:r}=((t,e)=>{let n=t;for(let t=0;t<e.length-1;t+=1)n=n[e[t]];return{thisObject:n,methodOrProperty:e.length>0?n[e[e.length-1]]:void 0}})(t,o);"function"==typeof n&&(e=(...t)=>n.apply(r,...t))}return function(){let n;return e&&(n=e(arguments)),(t._ptf=t._ptf||[]).push(o,arguments),n}})()}))})),"complete"==r.readyState?y():(t.addEventListener("DOMContentLoaded",y),t.addEventListener("load",y))}(window,document,navigator,top,window.crossOriginIsolated),document.addEventListener("astro:before-swap",(t=>{let e=document.body.querySelector("iframe[src*='/~partytown/']");e&&t.newDocument.body.append(e)}))</script>
9</head><body class="antialiased bg-page text-default tracking-tight"><header class="w-full mx-auto bg-white border-b border-gray-50/0 dark:bg-slate-900 ease-in-out flex-none sticky top-0 transition-[opacity] z-40" data-aw-sticky-header="true" id="header"><div class="absolute inset-0"></div><div class="w-full mx-auto max-w-7xl md:flex md:items-center md:justify-between md:px-6 px-3 py-1 relative text-default"><div class="flex justify-between lg:flex-shrink-0 lg:min-w-0 md:min-w-[200px]"><a class="flex items-center gap-2" href="/"><img alt="SpeakPrac Logo" class="h-auto" decoding="async" fetchpriority="high" height="40" loading="eager" src="/_astro/speakprac-logo.FQuCDs0s_Z1DI9uN.webp" width="31" srcset="/_astro/speakprac-logo.FQuCDs0s_Z1DI9uN.webp, /_astro/speakprac-logo.FQuCDs0s_Z1FEK2E.webp 2x"> <img alt="SpeakPrac" class="h-auto -mt-1.2" decoding="async" fetchpriority="high" height="20" loading="eager" src="/_astro/speakprac-text-logo.BQPCm0bx_17kdK8.webp" width="102" srcset="/_astro/speakprac-text-logo.BQPCm0bx_17kdK8.webp, /_astro/speakprac-text-logo.BQPCm0bx_9kLxr.webp 2x"></a><div class="flex items-center md:hidden"><button aria-label="Toggle Menu" class="flex items-center flex-col justify-center cursor-pointer group h-12 rounded w-12" type="button" data-aw-toggle-menu><span class="sr-only">Toggle Menu</span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:rotate-45 group-[.expanded]:translate-y-2.5" aria-hidden="true"></span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:opacity-0" aria-hidden="true"></span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:-rotate-45 group-[.expanded]:-translate-y-2.5" aria-hidden="true"></span></button></div></div><nav aria-label="Main navigation" class="items-center hidden lg:flex lg:flex-1 lg:overflow-visible lg:w-auto overflow-x-hidden overflow-y-auto text-default w-full"><ul class="flex flex-col font-medium lg:flex-row lg:justify-center lg:mx-8 lg:self-center lg:space-x-6 lg:text-[0.9375rem] lg:w-auto text-xl tracking-[0.01rem] w-full xl:space-x-8"><li class="relative group"><a class="flex items-center px-4 whitespace-nowrap dark:hover:text-white hover:text-link py-3" href="/ielts-speaking-course"><span>IELTS Speaking Course</span> <span class="font-semibold leading-none ml-2 px-1.5 py-0.5 rounded-sm text-[10px] text-white bg-green-600">FREE</span></a></li><li class="relative group"><a class="flex items-center px-4 whitespace-nowrap dark:hover:text-white hover:text-link py-3" href="/ielts-speaking-app"><span>SpeakPrac App</span> <span class="font-semibold leading-none ml-2 px-1.5 py-0.5 rounded-sm text-[10px] text-white bg-blue-600">AI</span></a></li><li class="relative group js-dropdown"><div class="flex items-center"><a class="pl-4 dark:hover:text-white hover:text-link pr-1 py-3 whitespace-nowrap" href="/ielts-flashcards"><span>IELTS Flashcards</span> </a><button aria-label="Toggle submenu" class="js-dropdown-toggle dark:hover:text-white hover:text-link pl-1 pr-4 py-3" type="button"><svg class="h-4 duration-200 ease-in-out transition-transform w-4" data-icon="tabler:chevron-down" height="1em" width="1em"><symbol id="ai:tabler:chevron-down" viewBox="0 0 24 24"><path d="m6 9l6 6l6-6" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="none" stroke="currentColor"/></symbol><use href="#ai:tabler:chevron-down"></use></svg></button></div><ul class="block border-l-2 border-slate-200 dark:border-slate-700 lg:-translate-x-1/2 lg:absolute lg:bg-white lg:border lg:border-gray-200 lg:border-l-0 lg:dark:bg-slate-800 lg:dark:border-slate-700 lg:group-hover:block lg:hidden lg:left-1/2 lg:min-w-[240px] lg:ml-0 lg:mt-0 lg:pl-0 lg:py-2 lg:rounded-md lg:shadow-lg lg:top-full lg:z-50 ml-4 mt-2 pl-4 sub-menu"><li><a class="flex items-center px-4 whitespace-nowrap dark:hover:bg-slate-700 hover:bg-gray-100 justify-between py-2 text-left w-full" href="/ielts-flashcards/bundle"><span class="flex-1">
9⭐ Ultimate Bundle</span></a></li><li><a class="flex items-center px-4 whitespace-nowrap dark:hover:bg-slate-700 hover:bg-gray-100 justify-between py-2 text-left w-full" href="/ielts-flashcards/pronunciation"><span class="flex-1">Pronunciation Flashcards</span></a></li><li><a class="flex items-center px-4 whitespace-nowrap dark:hover:bg-slate-700 hover:bg-gray-100 justify-between py-2 text-left w-full" href="/ielts-flashcards/vocabulary"><span class="flex-1">Vocabulary Flashcards</span></a></li><li><a class="flex items-center px-4 whitespace-nowrap dark:hover:bg-slate-700 hover:bg-gray-100 justify-between py-2 text-left w-full" href="/ielts-flashcards/grammar"><span class="flex-1">Grammar Flashcards</span></a></li></ul></li><li class="relative group"><a class="flex items-center px-4 whitespace-nowrap dark:hover:text-white hover:text-link py-3" href="/ielts-speaking-tips"><span>Speaking Tips</span></a></li><li class="relative group"><a class="flex flex items-center items-center px-4 whitespace-nowrap dark:hover:text-white hover:text-link py-3 bg-primary duration-200 font-bold hover:bg-secondary leading-tight ml-4 px-6 py-2.5 rounded-full self-center shadow-md text-white transition-colors" href="/ielts-speaking-app"><span>Get the App</span></a></li></ul></nav><div class="items-center hidden md:flex justify-end lg:flex-shrink-0 lg:min-w-0 md:min-w-[200px] md:p-0"><div class="items-center hidden md:flex lg:hidden"><button aria-label="Toggle Menu" class="flex items-center flex-col justify-center cursor-pointer group h-12 rounded w-12" type="button" data-aw-toggle-menu><span class="sr-only">Toggle Menu</span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:rotate-45 group-[.expanded]:translate-y-2.5" aria-hidden="true"></span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:opacity-0" aria-hidden="true"></span> <span class="transition bg-black dark:bg-white duration-200 ease h-0.5 my-1 opacity-80 rounded-full transform w-6 group-[.expanded]:-rotate-45 group-[.expanded]:-translate-y-2.5" aria-hidden="true"></span></button></div></div></div></header>
9<script>function setupDropdowns(){const e=document.querySelectorAll(".js-dropdown");document.addEventListener("click",(o=>{window.innerWidth<1024||e.forEach((e=>{if(!e.contains(o.target)){e.classList.remove("is-open");const o=e.querySelector(".js-dropdown-toggle svg");o?.classList.remove("rotate-180")}}))})),e.forEach((e=>{const o=e.querySelector(".js-dropdown-toggle"),t=e.querySelector(".sub-menu"),s=o?.querySelector("svg");o&&t&&s&&(window.innerWidth<1024&&(e.classList.add("is-open"),s.classList.add("rotate-180")),o.addEventListener("click",(o=>{o.stopPropagation();const n=e.classList.contains("is-open");window.innerWidth>=1024&&document.querySelectorAll(".js-dropdown.is-open").forEach((o=>{if(o!==e){o.classList.remove("is-open");const e=o.querySelector(".js-dropdown-toggle svg");e?.classList.remove("rotate-180")}})),e.classList.toggle("is-open",!n),s.classList.toggle("rotate-180",!n),window.innerWidth<1024&&t.classList.toggle("hidden")})))}))}document.addEventListener("DOMContentLoaded",setupDropdowns),document.addEventListener("astro:after-swap",setupDropdowns)</script>
9<main><section class="relative bg-slate-100 dark:bg-slate-800 md:-mt-[76px]" id="hero"><div class="mx-auto px-4 sm:px-6 max-w-7xl"><div class="md:pt-[76px] pt-0"></div><div class="grid gap-8 md:grid-cols-2 items-start lg:gap-16 md:py-16 py-12"><div class="text-center md:text-left"><h1 class="font-bold tracking-tighter mb-4 md:text-5xl dark:text-white lg:text-6xl text-5xl text-gray-900">Your Personal AI Coach for <span class="text-primary">IELTS Speaking Practice</span></h1><p class="text-muted text-xl max-w-3xl mx-auto dark:text-slate-300">Stop guessing. Start improving. Get instant feedback, estimated band scores, and unlimited practice on real exam questions with the SpeakPrac app.</p><div class="flex items-center flex-col gap-4 m-auto max-w-xs md:justify-start md:m-0 md:mt-6 mt-6 sm:flex-row sm:justify-center sm:max-w-md"><a class="w-full btn sm:w-auto btn-primary" href="/ielts-speaking-app">Try the App </a><a class="w-full btn sm:w-auto" href="/ielts-speaking-course">Watch the Free Course</a></div></div><div class="relative m-auto max-w-5xl"><img alt="SpeakPrac app interface shown on two mobile phones with feedback analysis" class="w-full mx-auto rounded-md" decoding="async" fetchpriority="high" height="888" loading="eager" src="/_astro/mobile-screen-1.0cPgimoq_Z1tyguf.webp" width="857" srcset="/_astro/mobile-screen-1.0cPgimoq_227AVC.webp 380w, /_astro/mobile-screen-1.0cPgimoq_Z1QXPri.webp 760w" sizes="(max-width: 767px) 380px, 768px"></div></div></div></section><section class="relative not-prose scroll-mt-[72px]"><div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"><div class="absolute inset-0 bg-white dark:bg-slate-900"></div></div><div class="relative mx-auto intersect-once intersect-quarter motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 px-4 intersect-no-queue lg:py-20 max-w-6xl md:px-6 md:py-16 py-12 text-default"><div class="items-center grid gap-8 md:gap-12 md:grid-cols-2"><div class="text-center md:text-left"><div class="text-center md:text-left !mb-6 mb-8 md:mb-12 md:mx-auto"><p class="font-bold dark:text-blue-200 text-base text-secondary tracking-wide uppercase">A Creator & Teacher You Can Trust</p><h2 class="font-bold text-heading font-heading leading-tighter tracking-tighter md:text-4xl text-3xl">Built by a Verified Band 9 Speaker & Certified IELTS Teacher</h2></div><p class="text-muted text-lg mb-4">SpeakPrac is built on the proven, real-world strategies that earned me a perfect <strong class="dark:text-amber-400 text-amber-600">Band 9 in IELTS Speaking, including a Band 9 in all four marking criteria</strong>.</p><p class="text-muted text-lg mb-6">To ensure I provide the highest quality guidance, I am also a <strong>Certified IELTS Teacher</strong>, having completed the official IELTS Speaking - Teacher Training Program provided by <strong>IDP IELTS</strong> (Certificate Number: 68ae-6d3a-b8cc-b036).</p><p class="text-muted">Unlike other resources that make vague promises, I believe in complete transparency. Here's my official, verifiable result (TRF: <strong>25TW500157ALBM051G</strong>) and teaching certification.</p></div><div class="flex items-center flex-col gap-6"><div class="w-full hidden group max-w-md md:block"><div class="shadow-lg rounded-lg overflow-hidden aspect-video duration-300 group-hover:scale-105 transition-transform transform"><img alt="Matt, creator of SpeakPrac, holding his official IELTS Band 9 Certificate" class="w-full h-full object-cover object-center" decoding="async" fetchpriority="auto" height="602" loading="lazy" src="/_astro/matt-ieltscert.C7j7Ynb5_YIfIE.webp" width="800" srcset="/_astro/matt-ieltscert.C7j7Ynb5_1vN6Ff.webp 400w, /_astro/matt-ieltscert.C7j7Ynb5_YIfIE.webp 800w" sizes="(max-width: 768px) 90vw, 38vw"></div></div><div class="w-full text-center"><div class="w-full mx-auto bg-slate-100 border border-slate-200 dark:bg-slate-800 dark:border-slate-700 max-w-lg p-4 rounded-xl shadow-lg sm:p-5"><div class="items-center grid gap-1" style="grid-template-columns:60% 40%"><div class="flex items-center flex-col justify-center gap-3"><img alt="Official IELTS score showing Band 9 for Speaking" class="w-auto rounded-sm shadow-sm h-10 sm:h-12" decoding="async" fetchpriority="auto" height="84" loading="lazy" src="/_astro/matt_band9_speaking.DrzmZ3uk_Zx7Cpv.webp" width="180"> <img alt="IELTS Speaking score breakdown showing Band 9 in Fluency, Pronunciation, Vocabulary, and Grammar" class="w-full h-auto rounded-sm shadow-sm max-w-[280px]" decoding="async" fetchpriority="auto" height="126" loading="lazy" src="/_astro/matt_band9_ielts_breakdown.x-Y8fQrx_OLEon.webp" width="571">
9 <img alt="IELTS Test Report Form (TRF) number for verification" class="w-auto rounded-sm shadow-sm h-8 sm:h-10" decoding="async" fetchpriority="auto" height="70" loading="lazy" src="/_astro/matt_trf_number.D_Ufd15A_Z1zaXlA.webp" width="465"></div><div class="flex items-center justify-center h-full"><a class="relative group block" href="/_astro/Matthew's IELTS Speaking Teacher Training Program Certificate by IDP IELTS.CinZkFxK.webp" rel="noopener noreferrer" target="_blank" title="Click to view full certificate"><img alt="Matthew's IELTS Speaking Teacher Training Program Certificate by IDP IELTS" class="w-full h-auto rounded-sm shadow-sm border border-slate-300 dark:border-slate-600 duration-200 group-hover:opacity-90 max-w-[160px] transition-opacity" decoding="async" fetchpriority="auto" height="1754" loading="lazy" src="/_astro/Matthew's%20IELTS%20Speaking%20Teacher%20Training%20Program%20Certificate%20by%20IDP%20IELTS.CinZkFxK_ZcbMUy.webp" width="1240"><div class="flex items-center duration-200 absolute bg-black/10 group-hover:opacity-100 inset-0 justify-center opacity-0 rounded-sm transition-opacity"><div class="shadow-lg backdrop-blur-sm bg-black/60 p-2 rounded-full text-white"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v3m0 0v3m0-3h3m-3 0H7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg></div></div></a></div></div></div><p class="text-muted mt-3 sm:text-sm text-xs">My Official Band 9 Score, Breakdown & IDP IELTS Teaching Certification</p></div></div></div></div></section><section class="relative not-prose scroll-mt-[72px]"><div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"><div class="absolute inset-0 bg-orange-50 dark:bg-slate-800"></div></div><div class="relative mx-auto intersect-once intersect-quarter motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 px-4 intersect-no-queue lg:py-20 max-w-6xl md:px-6 md:py-16 py-12 text-default"><div class="text-center mb-8 md:mb-12 md:mx-auto lg:max-w-2xl max-w-xl sm:mx-auto"><h2 class="font-bold text-heading font-heading leading-tighter tracking-tighter mb-4 md:text-5xl text-4xl">Master the Strategy with the Free Band 9 Course</h2><p class="text-muted text-xl max-w-3xl mx-auto dark:text-slate-400 mt-4 sm:text-center">Before you practice, you need a plan. My complete IELTS Speaking course on YouTube is 100% free and teaches you the exact frameworks and techniques I used to score a Band 9, backed by my official IDP IELTS Teaching Certification.</p></div><div class="mx-auto max-w-7xl md:px-8 p-4"><div class="md:gap-16 md:flex"><div class="md:basis-1/2 self-center"><div class="text-lg dark:text-slate-400 mb-12"><ul class="text-lg space-y-4"><li class="flex items-start"><svg class="w-6 h-6 flex-shrink-0 mr-2 mt-1 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg> <span>Learn all 4 scoring criteria in depth.</span></li><li class="flex items-start"><svg class="w-6 h-6 flex-shrink-0 mr-2 mt-1 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg> <span>Get proven templates for Part 1, 2, and 3 answers.</span></li><li class="flex items-start"><svg class="w-6 h-6 flex-shrink-0 mr-2 mt-1 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg> <span>Includes interactive workshops to apply what you learn.</span></li></ul><div class="flex mt-8 justify-center md:justify-start"><a class="btn btn-primary" href="/ielts-speaking-course">Start the Free Course</a></div></div></div><div class="md:basis-1/2 md:mt-0 mt-10" aria-hidden="true"><div class="relative m-auto max-w-4xl"><a class="block group" href="/ielts-speaking-course"><div class="relative aspect-video duration-300 group-hover:scale-105 overflow-hidden rounded-lg shadow-lg transition-transform">
9<img alt="Thumbnail of the Ultimate IELTS Speaking Course" class="w-full h-full object-cover" decoding="async" fetchpriority="auto" height="720" loading="lazy" src="/_astro/Complete%20Course.Dy3FQOXx_Z26PYPm.webp" width="1280"></div></a></div></div></div></div></div></section><section class="relative not-prose scroll-mt-[72px]" id="flashcards"><div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"><div class="absolute inset-0 bg-white dark:bg-slate-900"></div></div><div class="relative mx-auto intersect-once intersect-quarter motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 px-4 intersect-no-queue lg:py-20 max-w-6xl md:px-6 md:py-16 py-12 text-default"><div class="text-center mb-8 md:mb-12 md:mx-auto max-w-3xl"><h2 class="font-bold text-heading font-heading leading-tighter tracking-tighter md:text-4xl text-3xl">Master the IELTS Speaking Marking Criteria with Anki Flashcards</h2><p class="text-muted text-xl mt-4">The secret to a high IELTS Speaking score is making advanced language automatic. Our digital flashcard decks use spaced repetition to build 'muscle memory' for these core scoring criteria: Pronunciation, Vocabulary, and Grammar.</p></div><div class="grid gap-8 grid-cols-1 md:grid-cols-3"><div class="flex flex-col bg-slate-50 card dark:bg-slate-800 overflow-hidden rounded-lg shadow-lg"><img alt="IELTS Pronunciation Flashcards Bundle" class="w-full h-auto" decoding="async" fetchpriority="auto" height="800" loading="lazy" src="/_astro/IELTS%20English%20Pronunciation%20Flashcards%20Bundle%20Cover.Tvud1MJy_Z1rJ2fM.webp" width="800"><div class="flex flex-col flex-grow p-6"><h3 class="mb-2 font-bold text-heading text-xl">Pronunciation Bundle</h3><p class="text-muted flex-grow">Build muscle memory for clear speech and master difficult sounds with IPA and minimal pairs.</p><div class="mt-6"><a class="w-full btn-secondary" href="/ielts-flashcards/pronunciation">Learn More</a></div></div></div><div class="flex flex-col bg-slate-50 card dark:bg-slate-800 overflow-hidden rounded-lg shadow-lg"><img alt="IELTS Vocabulary Flashcards Bundle" class="w-full h-auto" decoding="async" fetchpriority="auto" height="800" loading="lazy" src="/_astro/IELTS%20English%20Vocabulary%20Flashcards%20Bundle%20Cover.D-WfeZCe_Z8PvEA.webp" width="800"><div class="flex flex-col flex-grow p-6"><h3 class="mb-2 font-bold text-heading text-xl">Vocabulary Bundle</h3><p class="text-muted flex-grow">Systematically build your word power from foundational to advanced academic levels for a higher Lexical Resource score.</p><div class="mt-6"><a class="w-full btn-secondary" href="/ielts-flashcards/vocabulary">Learn More</a></div></div></div><div class="flex flex-col bg-slate-50 card dark:bg-slate-800 overflow-hidden rounded-lg shadow-lg"><img alt="IELTS Grammar Flashcards Bundle" class="w-full h-auto" decoding="async" fetchpriority="auto" height="800" loading="lazy" src="/_astro/IELTS%20English%20Grammar%20Flashcards%20Bundle%20Cover.CHZ0Q4O__1A7lT6.webp" width="800"><div class="flex flex-col flex-grow p-6"><h3 class="mb-2 font-bold text-heading text-xl">Grammar Bundle</h3><p class="text-muted flex-grow">Master the grammatical structures for each band score, from simple to complex sentence patterns, to boost your GRA score.</p><div class="mt-6"><a class="w-full btn-secondary" href="/ielts-flashcards/grammar">Learn More</a></div></div></div></div><div class="text-center mt-12"><a class="btn-primary" href="/ielts-flashcards">Explore All Flashcard Bundles</a></div></div></section><section class="bg-orange-50 dark:bg-slate-800"><div class="mx-auto px-4 max-w-6xl lg:px-8 md:py-20 py-16 sm:px-6"><div class="items-center grid gap-8 md:gap-12 md:grid-cols-2"><div class="text-center md:text-left md:order-first order-last"><h2 class="font-bold text-heading font-heading md:text-4xl text-3xl mb-4">Get Free IELTS Speaking Tips</h2><p class="text-muted text-lg mb-8">Get <strong class="dark:text-amber-400 text-amber-600">proven strategies from a Band 9 Speaker</strong> to boost your IELTS Speaking score. Join my newsletter for free tips and resources. Unsubscribe anytime.</p><div class="klaviyo-form-VL4Jnx"></div></div><div class="text-center md:text-left">
9<img alt="true" class="mx-auto shadow-lg rounded-lg" decoding="async" fetchpriority="auto" height="300" loading="lazy" src="/_astro/matt_teaching.D_IaUFWs_Z2tHjyb.webp" width="500" srcset="/_astro/matt_teaching.D_IaUFWs_Z2o7myU.webp 200w, /_astro/matt_teaching.D_IaUFWs_ZxGIXc.webp 400w, /_astro/matt_teaching.D_IaUFWs_Z2tHjyb.webp 500w" sizes="(max-width: 768px) 100vw, 500px" Changed="true" UPDATED:="true" accessibility="true" accuracy="true" and="true" for="true" image="true" source="true" text="true" the="true"></div></div></div></section></main><footer class="relative not-prose border-gray-200 border-t dark:border-slate-800"><div class="absolute inset-0 pointer-events-none dark:bg-dark" aria-hidden="true"></div><div class="relative mx-auto intersect-once intersect-quarter motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 px-4 dark:text-slate-300 intercept-no-queue max-w-7xl sm:px-6"><div class="grid gap-4 gap-y-8 grid-cols-12 md:py-12 py-8 sm:gap-8"><div class="col-span-12 lg:col-span-4"><div class="mb-2"><a class="font-bold text-xl inline-block" href="/">SpeakPrac</a></div><div class="text-muted text-sm flex gap-1"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/terms">Terms</a> · <a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/privacy">Privacy Policy</a> · <a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/data-deletion">Data Deletion</a></div></div><div class="col-span-6 lg:col-span-2 md:col-span-3"><div class="mb-2 dark:text-gray-300 font-medium">SpeakPrac App</div><ul class="text-sm"><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-app">Get Android App</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ios-waitlist">Join iOS Waitlist</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-app#features">App Features</a></li></ul></div><div class="col-span-6 lg:col-span-2 md:col-span-3"><div class="mb-2 dark:text-gray-300 font-medium">IELTS Flashcards</div><ul class="text-sm"><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-flashcards">All Flashcards</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-flashcards/bundle">Ultimate Bundle</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-flashcards/pronunciation">Pronunciation Flashcards</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-flashcards/vocabulary">Vocabulary Flashcards</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-flashcards/grammar">Grammar Flashcards</a></li></ul></div><div class="col-span-6 lg:col-span-2 md:col-span-3"><div class="mb-2 dark:text-gray-300 font-medium">SpeakPrac Method™</div><ul class="text-sm"><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-course">Free Video Course</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-course/part-1">Part 1: A.R.E. Framework™</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-course/part-2">Part 2: Topic Diamond™</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-course/part-3">Part 3: I.D.E.A. Framework™</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-course/marking-criteria">Marking Criteria Explained</a></li></ul></div><div class="col-span-6 lg:col-span-2 md:col-span-3"><div class="mb-2 dark:text-gray-300 font-medium">Connect &amp; Learn</div><ul class="text-sm"><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/about">About Us</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="https://www.youtube.com/@MatthewAlberto">YouTube Channel</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-tips">IELTS Speaking Tips (Blog)</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/ielts-speaking-faqs">IELTS Speaking FAQs</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/newsletter">Join the Newsletter</a></li><li class="mb-2"><a class="text-muted dark:text-gray-400 duration-150 ease-in-out hover:text-gray-700 hover:underline transition" href="/contact">Contact Support</a></li></ul></div></div><div class="md:py-8 md:flex md:items-center md:justify-between py-6"><ul class="flex -ml-2 mb-4 md:mb-0 md:ml-4 md:order-1 rtl:-mr-2 rtl:md:ml-0 rtl:md:mr-4 rtl:ml-0"><li><a class="text-muted dark:text-gray-400 dark:focus:ring-gray-700 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 hover:bg-gray-100 inline-flex items-center p-2.5 rounded-lg text-sm" href="https://www.youtube.com/@MatthewAlberto" aria-label="YouTube"><svg class="h-5 w-5" data-icon="tabler:brand-youtube" height="1em" width="1em"><symbol id="ai:tabler:brand-youtube" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M2 8a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4z"/><path d="m10 9l5 3l-5 3z"/></g></symbol><use href="#ai:tabler:brand-youtube"></use></svg></a></li><li><a class="text-muted dark:text-gray-400 dark:focus:ring-gray-700 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 hover:bg-gray-100 inline-flex items-center p-2.5 rounded-lg text-sm" href="https://www.linkedin.com/in/matthewalberto" aria-label="LinkedIn"><svg class="h-5 w-5" data-icon="tabler:brand-linkedin" height="1em" width="1em">
9<symbol id="ai:tabler:brand-linkedin" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M8 11v5m0-8v.01M12 16v-5m4 5v-3a2 2 0 1 0-4 0"/><path d="M3 7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"/></g></symbol><use href="#ai:tabler:brand-linkedin"></use></svg></a></li><li><a class="text-muted dark:text-gray-400 dark:focus:ring-gray-700 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 hover:bg-gray-100 inline-flex items-center p-2.5 rounded-lg text-sm" href="mailto:[email protected]" aria-label="Email"><svg class="h-5 w-5" data-icon="tabler:mail" height="1em" width="1em"><symbol id="ai:tabler:mail" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="m3 7l9 6l9-6"/></g></symbol><use href="#ai:tabler:mail"></use></svg></a></li></ul><div class="text-sm dark:text-muted mr-4"><span class="w-full text-center md:text-left md:w-auto">© 2026 SpeakPrac. All rights reserved.</span></div></div></div></footer>
9<script>!function(){const e="light";if(window.basic_script)return;function t(e){"dark"===e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}window.basic_script=!0;const d=function(){e&&e.endsWith(":only")||!localStorage.theme?t(e.replace(":only","")):"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):t("light")};function a(e,t,d){const a="string"==typeof e?document.querySelectorAll(e):e;a&&a.length&&a.forEach((e=>{e.addEventListener(t,(t=>d(t,e)),!1)}))}d();const o=function(){let t=window.scrollY,d=!0;a("#header nav","click",(function(){document.querySelector("[data-aw-toggle-menu]")?.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.getElementById("header")?.classList.remove("bg-page"),document.querySelector("#header nav")?.classList.add("hidden"),document.querySelector("#header > div > div:last-child")?.classList.add("hidden")})),a("[data-aw-toggle-menu]","click",(function(e,t){t.classList.toggle("expanded"),document.body.classList.toggle("overflow-hidden"),document.getElementById("header")?.classList.toggle("h-screen"),document.getElementById("header")?.classList.toggle("expanded"),document.getElementById("header")?.classList.toggle("bg-page"),document.querySelector("#header nav")?.classList.toggle("hidden"),document.querySelector("#header > div > div:last-child")?.classList.toggle("hidden")})),a("[data-aw-toggle-color-scheme]","click",(function(){e.endsWith(":only")||(document.documentElement.classList.toggle("dark"),localStorage.theme=document.documentElement.classList.contains("dark")?"dark":"light")})),a("[data-aw-social-share]","click",(function(e,t){const d=t.getAttribute("data-aw-social-share"),a=encodeURIComponent(t.getAttribute("data-aw-url")),o=encodeURIComponent(t.getAttribute("data-aw-text"));let n;switch(d){case"facebook":n=`https://www.facebook.com/sharer.php?u=${a}`;break;case"twitter":n=`https://twitter.com/intent/tweet?url=${a}&text=${o}`;break;case"linkedin":n=`https://www.linkedin.com/shareArticle?mini=true&url=${a}&title=${o}`;break;case"whatsapp":n=`https://wa.me/?text=${o}%20${a}`;break;case"mail":n=`mailto:?subject=%22${o}%22&body=${o}%20${a}`;break;default:return}const c=document.createElement("a");c.target="_blank",c.href=n,c.click()}));function o(){const e=document.querySelector("#header[data-aw-sticky-header]");e&&(t>60&&!e.classList.contains("scroll")?e.classList.add("scroll"):t<=60&&e.classList.contains("scroll")&&e.classList.remove("scroll"),d=!1)}window.matchMedia("(max-width: 767px)").addEventListener("change",(function(){document.querySelector("[data-aw-toggle-menu]")?.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.getElementById("header")?.classList.remove("bg-page"),document.querySelector("#header nav")?.classList.add("hidden"),document.querySelector("#header > div > div:last-child")?.classList.add("hidden")})),o(),a([document],"scroll",(function(){t=window.scrollY,d||(window.requestAnimationFrame((()=>{o()})),d=!0)}))},n=function(){document.documentElement.classList.add("motion-safe:scroll-smooth");const e=document.querySelector("[data-aw-toggle-menu]");e&&e.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.querySelector("#header nav")?.classList.add("hidden")};window.onload=o,window.onpageshow=n,document.addEventListener("astro:after-swap",(()=>{d(),o(),n()}))}()</script>
9<script>const Observer={observer:null,delayBetweenAnimations:100,animationCounter:0,start(){const t=Array.from(document.querySelectorAll(['[class*=" intersect:"]','[class*=":intersect:"]','[class^="intersect:"]','[class="intersect"]','[class*=" intersect "]','[class^="intersect "]','[class$=" intersect"]'].join(",")));t.forEach((t=>{var e;t.setAttribute("no-intersect",""),t._intersectionThreshold=(e=t).classList.contains("intersect-full")?.99:e.classList.contains("intersect-half")?.5:e.classList.contains("intersect-quarter")?.25:0}));this.observer=new IntersectionObserver((t=>{t.forEach((t=>{requestAnimationFrame((()=>{const e=t.target,s=t.intersectionRatio,n=e._intersectionThreshold;if(e.classList.contains("intersect-no-queue"))t.isIntersecting?(e.removeAttribute("no-intersect"),e.classList.contains("intersect-once")&&this.observer.unobserve(e)):e.setAttribute("no-intersect","");else if(s>=n){if(!e.hasAttribute("data-animated")){e.removeAttribute("no-intersect"),e.setAttribute("data-animated","true");const t=this.animationCounter*this.delayBetweenAnimations;this.animationCounter++,e.style.transitionDelay=`${t}ms`,e.style.animationDelay=`${t}ms`,e.classList.contains("intersect-once")&&this.observer.unobserve(e)}}else e.setAttribute("no-intersect",""),e.removeAttribute("data-animated"),e.style.transitionDelay="",e.style.animationDelay="",this.animationCounter=0}))}))}).bind(this),{threshold:[0,.25,.5,.99]}),t.forEach((t=>{this.observer.observe(t)}))}};Observer.start(),document.addEventListener("astro:after-swap",(()=>{Observer.start()}))</script>
9<script src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=VNZFNF" async></script>
9<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"40757b50c9ab4cd2ad615698257f0c1b","r":1,"spa":2}' crossorigin="anonymous"></script>
9
10</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.