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

@jaymakes · 5/21/2026, 8:45:54 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,#1e293b,#0f172a);color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
+ #wrap{width:100%;max-width:330px;padding:1.1rem;text-align:center}
+ h2{margin:.1rem 0;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fbbf24}
+ .sub{color:#94a3b8;font-size:.74rem;margin-bottom:.9rem}
+ .row{text-align:left;margin:.5rem 0}
+ .row label{display:block;font-size:.8rem;color:#cbd5e1;margin-bottom:.2rem}
+ .row input,.row select{width:100%;box-sizing:border-box;border:1px solid #334155;border-radius:.6rem;padding:.55rem;font-size:16px;background:#1e293b;color:#fff}
+ .act{margin-top:.9rem;padding:.7rem 1.6rem;border:0;border-radius:9999px;background:#fbbf24;color:#0f172a;font-weight:800;font-size:1rem;cursor:pointer}
+ #result{display:none}
+ #age{font-size:3.4rem;font-weight:800;line-height:1;margin:.3rem 0}
+ #line{font-size:1rem;color:#e2e8f0;margin:.3rem 0}
+ #days{color:#fbbf24;font-weight:700}
+ .disc{color:#64748b;font-size:.7rem;margin-top:1rem;line-height:1.4}
+</style>
+<div id="wrap">
+ <h2>⏳ Life Clock</h2>
+ <div class="sub">A playful estimate — just for fun!</div>
+ <div id="form">
+ <div class="row"><label>Your age</label><input id="cage" type="number" min="1" max="110" placeholder="e.g. 30"></div>
+ <div class="row"><label>Sex</label><select id="sex"><option value="f">Female</option><option value="m">Male</option><option value="x">Prefer not to say</option></select></div>
+ <div class="row"><label>Do you smoke?</label><select id="smoke"><option value="no">No</option><option value="yes">Yes</option></select></div>
+ <div class="row"><label>Drinking</label><select id="drink"><option value="none">Rarely / never</option><option value="mod">In moderation</option><option value="heavy">Heavily</option></select></div>
+ <div class="row"><label>Exercise</label><select id="ex"><option value="often">Often</option><option value="some">Sometimes</option><option value="rare">Rarely</option></select></div>
+ <button class="act" id="go">Estimate</button>
+ </div>
+ <div id="result">
+ <div class="sub">Your fun estimate lands around age</div>
+ <div id="age"></div>
+ <div id="line"></div>
+ <button class="act" id="again">Try again</button>
+ <div class="disc">Just for fun — this is NOT a real prediction, and not medical or actuarial advice. Be kind to yourself and enjoy the time you've got. ❤️</div>
+ </div>
+</div>
+<script>
+ function val(id){ return document.getElementById(id).value; }
+ document.getElementById('go').onclick=function(){
+ var age=parseInt(val('cage'),10);
+ if(!age||age<1||age>110){ alert('Enter your age first.'); return; }
+ var sex=val('sex');
+ var base = sex==='f'?81 : sex==='m'?76 : 79;
+ var adj=0;
+ if(val('smoke')==='yes') adj-=9;
+ var d=val('drink'); if(d==='heavy')adj-=5; else if(d==='mod')adj-=1; else adj+=1;
+ var e=val('ex'); if(e==='often')adj+=4; else if(e==='some')adj+=1; else adj-=2;
+ var est=base+adj;
+ if(est<age+1) est=age+1;
+ var years=est-age;
+ var nowYear=new Date().getFullYear();
+ document.getElementById('form').style.display='none';
+ document.getElementById('result').style.display='block';
+ document.getElementById('age').textContent=est;
+ var msg = years>40 ? "Loads of time — about " : years>15 ? "Plenty ahead — roughly " : "Make it count — around ";
+ document.getElementById('line').innerHTML = msg + "<span id='days'>" + years + " more years</span>, somewhere near " + (nowYear+years) + ". 🎉";
+ };
+ document.getElementById('again').onclick=function(){ document.getElementById('result').style.display='none'; document.getElementById('form').style.display='block'; };
+</script>

v1Current

@jaymakes · 5/21/2026, 8:45:54 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,#1e293b,#0f172a);color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
+ #wrap{width:100%;max-width:330px;padding:1.1rem;text-align:center}
+ h2{margin:.1rem 0;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fbbf24}
+ .sub{color:#94a3b8;font-size:.74rem;margin-bottom:.9rem}
+ .row{text-align:left;margin:.5rem 0}
+ .row label{display:block;font-size:.8rem;color:#cbd5e1;margin-bottom:.2rem}
+ .row input,.row select{width:100%;box-sizing:border-box;border:1px solid #334155;border-radius:.6rem;padding:.55rem;font-size:16px;background:#1e293b;color:#fff}
+ .act{margin-top:.9rem;padding:.7rem 1.6rem;border:0;border-radius:9999px;background:#fbbf24;color:#0f172a;font-weight:800;font-size:1rem;cursor:pointer}
+ #result{display:none}
+ #age{font-size:3.4rem;font-weight:800;line-height:1;margin:.3rem 0}
+ #line{font-size:1rem;color:#e2e8f0;margin:.3rem 0}
+ #days{color:#fbbf24;font-weight:700}
+ .disc{color:#64748b;font-size:.7rem;margin-top:1rem;line-height:1.4}
+</style>
+<div id="wrap">
+ <h2>⏳ Life Clock</h2>
+ <div class="sub">A playful estimate — just for fun!</div>
+ <div id="form">
+ <div class="row"><label>Your age</label><input id="cage" type="number" min="1" max="110" placeholder="e.g. 30"></div>
+ <div class="row"><label>Sex</label><select id="sex"><option value="f">Female</option><option value="m">Male</option><option value="x">Prefer not to say</option></select></div>
+ <div class="row"><label>Do you smoke?</label><select id="smoke"><option value="no">No</option><option value="yes">Yes</option></select></div>
+ <div class="row"><label>Drinking</label><select id="drink"><option value="none">Rarely / never</option><option value="mod">In moderation</option><option value="heavy">Heavily</option></select></div>
+ <div class="row"><label>Exercise</label><select id="ex"><option value="often">Often</option><option value="some">Sometimes</option><option value="rare">Rarely</option></select></div>
+ <button class="act" id="go">Estimate</button>
+ </div>
+ <div id="result">
+ <div class="sub">Your fun estimate lands around age</div>
+ <div id="age"></div>
+ <div id="line"></div>
+ <button class="act" id="again">Try again</button>
+ <div class="disc">Just for fun — this is NOT a real prediction, and not medical or actuarial advice. Be kind to yourself and enjoy the time you've got. ❤️</div>
+ </div>
+</div>
+<script>
+ function val(id){ return document.getElementById(id).value; }
+ document.getElementById('go').onclick=function(){
+ var age=parseInt(val('cage'),10);
+ if(!age||age<1||age>110){ alert('Enter your age first.'); return; }
+ var sex=val('sex');
+ var base = sex==='f'?81 : sex==='m'?76 : 79;
+ var adj=0;
+ if(val('smoke')==='yes') adj-=9;
+ var d=val('drink'); if(d==='heavy')adj-=5; else if(d==='mod')adj-=1; else adj+=1;
+ var e=val('ex'); if(e==='often')adj+=4; else if(e==='some')adj+=1; else adj-=2;
+ var est=base+adj;
+ if(est<age+1) est=age+1;
+ var years=est-age;
+ var nowYear=new Date().getFullYear();
+ document.getElementById('form').style.display='none';
+ document.getElementById('result').style.display='block';
+ document.getElementById('age').textContent=est;
+ var msg = years>40 ? "Loads of time — about " : years>15 ? "Plenty ahead — roughly " : "Make it count — around ";
+ document.getElementById('line').innerHTML = msg + "<span id='days'>" + years + " more years</span>, somewhere near " + (nowYear+years) + ". 🎉";
+ };
+ document.getElementById('again').onclick=function(){ document.getElementById('result').style.display='none'; document.getElementById('form').style.display='block'; };
+</script>
← Version history