Liveloop

An interactive timeline for social media. Every post is a tiny app you can play, save, and remix.

Product

  • Feed
  • Create
  • Claude Code plugin
  • Blog

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • DMCA

Project

  • Templates
© 2026 Liveloop. All rights reserved.
LiveloopVersion history

v1Current

@coach_ben · 5/21/2026, 7:05:42 PM

Initial version — all lines are new.

+<style>
+ html,body{height:100%;margin:0}
+ body{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e7f0ee,#f7f4ee);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
+ #w{width:100%;max-width:340px;padding:1.25rem;text-align:center}
+ h2{margin:.2rem 0 .8rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#5E7C68}
+ #q{font-size:1.3rem;margin-bottom:1rem}
+ #q b{color:#8FB39C}
+ .opt{display:block;width:100%;box-sizing:border-box;margin:.45rem 0;padding:.85rem;border:2px solid #e5e7eb;border-radius:.9rem;background:#fff;font-size:1.05rem;font-weight:600;cursor:pointer}
+ .ok{background:#dcfce7;border-color:#16a34a}.no{background:#fee2e2;border-color:#dc2626}
+ #bar{height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:1rem}
+ #fill{height:100%;width:0;background:#8FB39C;transition:.3s}
+ #score{margin-top:.8rem;color:#6b7280}
+</style>
+<div id="w">
+ <h2>Past Tense · Irregular Verbs</h2>
+ <div id="bar"><div id="fill"></div></div>
+ <div id="q"></div>
+ <div id="opts"></div>
+ <div id="score"></div>
+</div>
+<script>
+ var qs=[{v:"go",a:"went",d:["goed","gone","goned"]},{v:"eat",a:"ate",d:["eated","eaten","eat"]},{v:"buy",a:"bought",d:["buyed","boughted","bringed"]},{v:"see",a:"saw",d:["seed","seen","sawed"]},{v:"take",a:"took",d:["taked","taken","tooken"]},{v:"think",a:"thought",d:["thinked","thunk","thinked"]},{v:"drink",a:"drank",d:["drinked","drunk","drinken"]},{v:"write",a:"wrote",d:["writed","written","wroted"]}];
+ var i=0,score=0,locked=false;
+ var q=document.getElementById("q"),opts=document.getElementById("opts"),scoreEl=document.getElementById("score"),fill=document.getElementById("fill");
+ function shuffle(a){for(var k=a.length-1;k>0;k--){var j=Math.floor(Math.random()*(k+1));var t=a[k];a[k]=a[j];a[j]=t;}return a;}
+ function render(){
+ if(i>=qs.length){q.innerHTML="🏁 Done!";opts.innerHTML="";scoreEl.innerHTML="<b>"+score+" / "+qs.length+"</b> correct";fill.style.width="100%";return;}
+ locked=false;var item=qs[i];fill.style.width=(i/qs.length*100)+"%";
+ q.innerHTML="Past tense of <b>"+item.v+"</b>?";
+ var choices=shuffle([item.a,item.d[0],item.d[1]]);opts.innerHTML="";
+ choices.forEach(function(c){var b=document.createElement("button");b.className="opt";b.textContent=c;b.onclick=function(){
+ if(locked)return;locked=true;
+ if(c===item.a){b.className="opt ok";score++;}else{b.className="opt no";[].forEach.call(opts.children,function(x){if(x.textContent===item.a)x.className="opt ok";});}
+ setTimeout(function(){i++;render();},850);
+ };opts.appendChild(b);});
+ scoreEl.textContent="Score: "+score;
+ }
+ render();
+</script>

v1Current

@coach_ben · 5/21/2026, 7:05:42 PM

Initial version — all lines are new.

+<style>
+ html,body{height:100%;margin:0}
+ body{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e7f0ee,#f7f4ee);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
+ #w{width:100%;max-width:340px;padding:1.25rem;text-align:center}
+ h2{margin:.2rem 0 .8rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#5E7C68}
+ #q{font-size:1.3rem;margin-bottom:1rem}
+ #q b{color:#8FB39C}
+ .opt{display:block;width:100%;box-sizing:border-box;margin:.45rem 0;padding:.85rem;border:2px solid #e5e7eb;border-radius:.9rem;background:#fff;font-size:1.05rem;font-weight:600;cursor:pointer}
+ .ok{background:#dcfce7;border-color:#16a34a}.no{background:#fee2e2;border-color:#dc2626}
+ #bar{height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:1rem}
+ #fill{height:100%;width:0;background:#8FB39C;transition:.3s}
+ #score{margin-top:.8rem;color:#6b7280}
+</style>
+<div id="w">
+ <h2>Past Tense · Irregular Verbs</h2>
+ <div id="bar"><div id="fill"></div></div>
+ <div id="q"></div>
+ <div id="opts"></div>
+ <div id="score"></div>
+</div>
+<script>
+ var qs=[{v:"go",a:"went",d:["goed","gone","goned"]},{v:"eat",a:"ate",d:["eated","eaten","eat"]},{v:"buy",a:"bought",d:["buyed","boughted","bringed"]},{v:"see",a:"saw",d:["seed","seen","sawed"]},{v:"take",a:"took",d:["taked","taken","tooken"]},{v:"think",a:"thought",d:["thinked","thunk","thinked"]},{v:"drink",a:"drank",d:["drinked","drunk","drinken"]},{v:"write",a:"wrote",d:["writed","written","wroted"]}];
+ var i=0,score=0,locked=false;
+ var q=document.getElementById("q"),opts=document.getElementById("opts"),scoreEl=document.getElementById("score"),fill=document.getElementById("fill");
+ function shuffle(a){for(var k=a.length-1;k>0;k--){var j=Math.floor(Math.random()*(k+1));var t=a[k];a[k]=a[j];a[j]=t;}return a;}
+ function render(){
+ if(i>=qs.length){q.innerHTML="🏁 Done!";opts.innerHTML="";scoreEl.innerHTML="<b>"+score+" / "+qs.length+"</b> correct";fill.style.width="100%";return;}
+ locked=false;var item=qs[i];fill.style.width=(i/qs.length*100)+"%";
+ q.innerHTML="Past tense of <b>"+item.v+"</b>?";
+ var choices=shuffle([item.a,item.d[0],item.d[1]]);opts.innerHTML="";
+ choices.forEach(function(c){var b=document.createElement("button");b.className="opt";b.textContent=c;b.onclick=function(){
+ if(locked)return;locked=true;
+ if(c===item.a){b.className="opt ok";score++;}else{b.className="opt no";[].forEach.call(opts.children,function(x){if(x.textContent===item.a)x.className="opt ok";});}
+ setTimeout(function(){i++;render();},850);
+ };opts.appendChild(b);});
+ scoreEl.textContent="Score: "+score;
+ }
+ render();
+</script>
← Version history