EasyWebTools

Long Time - Intro

S
new tool stopwatch time privacy

Long Time - Intro

There’s a reason Playboi Carti opens Die Lit with “Long Time - Intro.” Before the ad-libs, before the chaos of the rest of the album, there’s this — a track that breathes. Art Dealer’s production floats, and Carti sits on top of it saying what amounts to one thing over and over: “I ain’t felt like this in a long time.” It’s not a brag, not a flex. It’s relief. The feeling of arriving somewhere after a long stretch of not being there.

This is the first blog post I’m writing for EasyWebTools, and this was one of my first real build sessions on the site. Tool number 40. The first tool in an entirely new Time category — nothing to borrow from, no existing patterns, just a blank component file and the question of what a good stopwatch actually looks like in a browser.

And I hadn’t felt like this in a long time, either. Building something from scratch, seeing it come together, watching the ring animation fill for the first time and thinking, yeah, that’s it. “Just to feel like this it took a long time, yeah.” It did. But it was worth the wait.

The result is a stopwatch that runs in your browser, tracks your laps, highlights your best and worst splits, and doesn’t ask you to create an account or watch an ad before you can press start. No cap and gown required — we skipped the ceremony and went straight to building.

I’d Rather Die Before I Come in Last

“I’d rather die before I come in last.” Carti’s talking about the hustle, the refusal to settle. That energy drove the decisions in this stopwatch — not just making it work, but making it good.

Here’s what it does:

  • Laps and splits. Hit L while it’s running and you get both — the split time for that individual lap and the cumulative total. Your fastest split gets highlighted in neon green. Your slowest gets tagged in sunset orange. No math required, it just shows you. Coming in last has never been this color-coded.
  • The ring. A 60-second visual progress indicator that fills once per minute. It’s not decorative — it gives you a sense of time passing without having to read the numbers. You can feel a minute elapsing, which is more useful than it sounds when you’re mid-workout or timing a presentation rehearsal.
  • Fullscreen mode. Press F and the stopwatch takes over your entire screen. The ring scales up, the time gets huge, the distractions disappear. It’s genuinely satisfying. Try it.
  • Keyboard shortcuts. Space to start and stop. L for laps. R to reset. F for fullscreen. The kind of thing that makes you feel like a hacker in a movie, except you’re just timing your plank.
  • Stats. Once you’ve recorded two or more laps, a stats panel appears with your average split, best, worst, and total time. If you’re training, studying, cooking, whatever — it’s all right there.
  • Export. Your laps can be copied to clipboard in a tab-separated format that pastes cleanly into a spreadsheet, or downloaded as a CSV named with today’s date. Your data, your format, your call.

And if you close the tab by accident? Your session is still there when you come back. It’s saved automatically. You get a little prompt asking if you want to restore or start fresh. Because we’ve all rage-closed a tab and immediately regretted it.

Just to Look Like This It Took a Long Time

“Just to look like this it took a long time, yeah.” Carti’s talking about himself, but the line hits different when you’ve spent an hour getting tabular numbers to align in a lap table.

I care a lot about how things look. Not in a “let’s add gradients to everything” way — more in the way where the spacing matters as much as the feature list. Every element should feel like it belongs where it is. Just to look like this, it really did take a long time. And that’s fine. That’s the work.

The ring animation was a deliberate choice. A raw number ticking up is functional, sure, but it’s not felt. The ring gives you peripheral awareness of time. You don’t have to stare at digits to know you’re approaching a minute. You just see it filling, and that’s enough. Function wearing a nice outfit.

The lap table was designed with tabular numbers — font-variant-numeric: tabular-nums — so the digits don’t jump around as they change. It’s a small thing. The kind of detail you don’t notice until it’s not done, and then the whole thing feels slightly off. Like a blazer that almost fits.

Best split in neon green, worst in sunset orange. No labels are needed. The color does the talking. Which, if you think about it, is how good design is supposed to work — the information is carried by the presentation, not placed next to it.

The fullscreen mode isn’t just “make it bigger.” The ring is scaled to fill your viewport, the time display grows proportionally, and everything else gets out of the way. It’s the difference between a cramped studio and a room with good light. Everything in its right place, and nothing that shouldn’t be there.

Just Leave Me Alone Right Now

“Hold up, I’m tryna find, hold up, I’m tryna do something right now, just leave me alone right now, just leave me alone.” There’s a moment in the song where Carti just wants space — no distractions, no interference, just room to work. That’s exactly what this stopwatch does. It leaves you alone.

The stopwatch is powered by requestAnimationFrame, which is a browser API that syncs with your display’s refresh rate — usually 60 frames per second, so roughly every 16 milliseconds. It’s the same mechanism that’s used by browsers to render smooth animations. We’re not using setInterval or any kind of fixed-rate polling, because those drift over time and aren’t reliable. requestAnimationFrame is accurate, efficient, and pauses when you switch tabs, which saves your battery.

The actual elapsed time isn’t calculated by counting frames. That would accumulate errors. Instead, a high-resolution timestamp is recorded when you press start, and the difference is calculated on every frame. So even if your browser hiccups, lags, or gets busy rendering something else, the time is always correct. It’s the difference between counting your steps and checking GPS — one drifts, the other doesn’t.

Your laps, your total time, your entire session — all of it is stored in localStorage, which is a small storage space built into your browser. It never touches a server. It never leaves your device. There are no analytics on your lap times, no tracking pixel watching how fast you run your intervals. The most dramatic thing this stopwatch does on the network is absolutely nothing.

You deserve to know how your tools work. And when a tool tells you “your data stays private,” you deserve to know what that actually means. In this case, it means exactly what it says. You wanted to be left alone? This stopwatch leaves you alone.

I Ain’t Felt Like This in a Long Time

“I ain’t felt like this in a long time.” That’s the line that keeps coming back, over and over, through the whole song. And it’s the one that stayed with me after this session.

Tool number 40. A brand new category. Something built from nothing that came out looking and feeling exactly right. It tracks laps, highlights your bests and worsts, runs in fullscreen, saves your session, exports your data, and respects your privacy. There’s no signup wall, no ads over your splits, and no mysterious request for your location just to time a plank.

It’s one of those tools where the goal was simple — be the stopwatch you actually want to use — and the execution is where the craft lives. The ring, the tabular numbers, the keyboard shortcuts, the auto-save. Small decisions that compound into something that feels right. Just to feel like this, it took a long time.

Go try it. Hit Space. Time something. See if you don’t feel it too.

I ain’t felt like this in a long time — and I built something to prove it.