Achievement Unlocked: Keep a New Year’s Resolution

With Charts to Prove It!

Achievement Unlocked: Keep a New Year’s Resolution
Photo by Andrey Soldatov on Unsplash

I’ve never been serious about New Year’s resolutions. Don’t get me wrong, there’s plenty about my life that would benefit from setting them, or at least having some extra diligence/attention/effort. Eat better. Floss more. Get my screen time below six hours a day. Download an app to help lower my screen time. Download a meditation app to help deal with anxiety around screen time. Buy a journaling app to help me stay on task, i.e. the task of lowering my screen time. Get my screen time below eight hours a day. Abandon journaling app in favor of a different app. Peruse reddit for insights on digitally decluttering. Get my screen time below 10 hours a day.

You know. The basics.

In 2025, however, I made one resolution: to do the New York Times crossword puzzle every day. 365 days, 365 completed puzzles. I know: Setting such a Herculean goal must have been part of a long and arduous decision-making process. Here’s an inside look at how it played out:

INT. JSG'S HOUSE — LIVING ROOM — DAY

New Years Day, a chilly Wednesday. JOE (38M, boyish-charmed hero) sits on his COUCH half-watching the Rose Bowl. As his Oregon Ducks continue to get throttled by Ohio State, Joe pulls out his PHONE and opens the New York Times crossword app. 423 seconds later — or just a shade over seven minutes — he is done. The app plays a jingle and presents him with a digital gold star.
JOE
Nice. I should try to do this every day.
END. FADE TO BLACK.

Was this an overly ambitious goal? Not really. The entire point was to give myself one small anchor point each day. Some people might have chosen meditation or gardening or walking or whatever else. I liked this because it was easily accessible, intellectually stimulating, and the only real time pressure was to get each puzzle done before midnight. In short, it was a low-stakes resolution that I wouldn’t have to work too hard to achieve. In theory, I could keep my streak going without ever leaving bed.

It was perfect.

In the end, my dear sweet reader friend, I’m happy to say I not only achieved my goal, but the streak is still alive and well. As of this moment, it’s at 391 days. One more day and it’ll be exactly seven times as long as Joe DiMaggio’s famously untouchable MLB hitting streak. Now, am I saying my NYT crossword streak is seven times more impressive than Joltin’ Joe’s thing?

Yes. Yes I am. Joe DiMaggio sucks. In fact, the Yankees should hire me and play me at CF every day even though Joe DiMaggio retired in 1951. Trent Grisham made $22 million for the Yankees last year; I’d be willing to sign right now for, like, half that. I haven’t played baseball since third grade (and even then, I was a light-hitting 3B) but I know a goddamn thing or two about the pressure of keeping a New York streak alive.

Anyway: Besides solving the puzzles themselves, the real joy comes from aggregating the metadata of my streak and doing some light statistical analysis. Ooh yeah. That tingly feeling you’re getting is anticipation of some sexy spreadsheet action. But wait. I haven’t mentioned that I ran an even sexier Python script to scrape the data automatically and spit it out into a .csv file for me. Sploosh.

Did I have to Google “NYT data python script” and then Google “how to run python script?” Of course. And I fucked it up a handful of times before it finally worked. But don’t let that ruin the moment. These charts and tables are ready to go.

First, the basics: I solved every single puzzle. One of the measures the Python script grabs is “percent filled,” and all of mine are at 100. Secondly, they all earned gold stars, meaning they were completed on or before their publish date. (Puzzles are available by 7 p.m. the night before Monday-Saturday and by 3 p.m. on Sunday, so getting a head start was always an option.) This was the bare minimum of my stated goal: to do the puzzles completely and on time. Hooray!

Here’s January 2025, for reference. All golds, all the time.

In all, these 365 puzzles took me 228,189 seconds to complete. That’s 3,803 minutes, or nearly 63.5 hours, or … well here, check out this summary:

Put another way: If you started on Friday at 8 a.m. and worked without stopping, you would have been done with the entirety of 2025 by 11:23 p.m. Sunday night (plus nine seconds). And you could still squeeze in a quick game of Connections before midnight!

In terms of highs and lows, I made a little Pivot Table to highlight my min, max, and average times per day of the week:

My fastest Monday time was 3:03, on March 31st’s puzzle from Ryan Mathiason. Which is both great but also irksome because I know a sub-three minute time is possible! I’ve been chasing that since April to no avail. 2025 had 52 Monday puzzles, and of those I managed to solve 24 in under four minutes. But this ain’t the mile run, this is a digitally-accessible crossword game. If things break exactly right, I will someday get a sub-three done.

The other thing I like about this table is my fastest Friday, which is a total outlier compared to the days that bookend it. On October 10th — the same day the Seattle Mariners would eke out a 3-2 series win against the Detroit Tigers in a 15-inning thriller — I solved the crossword in 5:45. 5:45! My average was over twice that long. If I’d have started Prince’s “1000 Light Years from Here” at the same time as the puzzle, it would have finished exactly one second after I did. I don’t know how I managed it.

How about a trended view? Here’s how long each month took me in minutes:

March took me the longest time at 346 minutes, followed closely by June and May at 339 and 330, respectively. Conversely, my quickest month wasn’t February but September, coming in at a brisk 290 minutes. February was tied for second-fastest with April and November.

At first, I thought this meant I was getting faster as the year went along, but then I dug a layer deeper. Here’s the breakdown not just of total days in each month, but how many of each weekday the month had:

Makes a little more sense, right? March not only has a full 31 days, but the three “extra” puzzles — beyond the evenly-distributed 4x7 makeup of, say, February — were on Saturday-Sunday-Monday. If you aren’t familiar with the NYT crossword, Saturday generally has the hardest puzzles while Sunday has the largest ones. September’s extra puzzles ran Monday-Tuesday — the two easiest days of the week to solve.

Speaking of weekdays, let’s see how long each day of the week took me. Spoiler alert, we both already know the answer.

BREAKING NEWS: As the week goes along and the difficulty ramps up, the solve times get longer. Who’d have thought?!??!!?!!??

Fake incredulity aside, I do find it interesting how the week sort of stairsteps upward … until you get to Friday, where my total solve time was almost identical to Thursday. Neat! Sunday, naturally, took me the longest: the 1,080 minutes I spent on those was about the same as Wednesdays and Saturdays combined (1,071).

All of this is well and good, but what I really wanted to know is: Was I getting faster as the year went on? To answer that, I looked at my rolling average solve time per weekday. Get ready for some color and trendlines!

Was I getting faster? In a word: no. A few days look like they got a little faster, but others — most notably Sunday — got slightly slower. Net result: eh. Seems pretty comparable.

A lurking variable here is probably my solving platform. I spent the year solving most (but not all) of the weekday puzzles via laptop and most (but not all) of the weekend ones on mobile. Trying to correct a typo in iOS 26 is like trying to perform a bris on a mouse pup. That definitely slowed me down plenty of times, although it’s hard to say how much it slowed me down.

Beyond the cold, hard statistics of the year, I’m happy I set this resolution and stuck with it. Whether I was sick and/or tired, traveling, slammed at work, busy scrolling Instagram and playing Nintendo, no matter what — I got each puzzle done on time. Here’s to keeping it rolling in 2026!

Lastly, if you’re somehow reading this (unlikely) and you made it this far (impossible), thank you for humoring my self-indulgent, data-heavy post. I hereby present you with a coupon for one free high five in person, redeemable anytime, no expiration date. Cheers!