Oklahoma has a reputation. Flat. Landlocked. Tumble weeds. Tornadoes. The winds sweeping down the plain.
I get it. We don’t have mountains. We don’t have a coastline. We don’t have the kind of scenery that usually ends up on screen savers or postcards. But there’s one thing we have that those of us who do live here appreciate: the sky. Thanks to the flatness, it’s often unobstructed. No mountain range cropping the view. No skyline competing for attention. Just an enormous, uninterrupted canvas that creates its own beautiful scenery.
So make sure your seat backs and tray tables are in their full upright position while we take off and view some of my favorite photos of the Oklahoma sky that I have taken over the years.
Sunsets
On behalf of Oklahoma Airways, welcome aboard. Our flight will begin with some smooth weather conditions at sunrise and sunset. Just take a look out the window.
The sunrises and sunsets here are some of the best I have ever seen. They will truly make you stop and spend a few moments in admiration. There’s something about our weather patterns that produces such a beautiful melody of colors: deep tangerines bleeding into magenta, then that specific bruised purple just before dark.
Tornado Alley’s Silver Lining
We’ve reached cruising altitude. Please keep those seatbelts fastened and be advised there may be some turbulence ahead.
Oklahoma is known for unpredictable weather, but that also makes for interesting photo opportunities. Clouds take on their own form of art. We can see the mothership anvil tops of clouds for supercells 100 miles away.
Life vests are under your seat, but fortunately you won’t need to use them as we continue to fly over Oklahoma.
The Nights Oklahoma Surprised Everyone
We have a special treat on this flight. You did not book Alaska or Iceland as your destination, but you are going to see some northern lights anyway.
In 2024 and 2025, a particularly strong geomagnetic storm pushed the northern lights further south than they’d appeared in decades. People in Oklahoma stepped outside with phone cameras raised and found the sky doing something none of us had planned for.
We have now begun our final descent. Please use caution when opening the overhead compartments and removing items, since articles may have shifted during flight. We hope you enjoyed your flight. Thank you again for choosing Oklahoma Airways.
Between 1975 and 2010, the number of physicians in the United States grew by 150%, roughly keeping pace with population growth. During that same period, the number of healthcare administrators grew by 3,200%.
No, that’s not a typo.
That alone is shocking, but new research published inĀ JAMAĀ adds another layer even more infuriating. It turns out that many of those administrators aren’t even doing their own jobs. They’re hiring consultants to do it, to the tune ofĀ $7.8 billionĀ between 2010 and 2022. Furthermore, the consultants aren’t improving anything.
We Built an Administrative Empire
Administrative costs in U.S. healthcare are staggering by any measure. Estimates suggest they account for somewhere between 20 and 30 percent of all healthcare spending in this country. Administrative expenditures at U.S. hospitals grew 87% from 2011 to 2023, outpacing direct patient care growth. And in 2023, hospital administrative costs reached $687 billion, compared to $346 billion in direct patient care. Twice as much money just for administration. And it’s not just going to the managers watching productivity on a spreadsheet from their office. Hospitals are now paying money, and lots of it, to outsource to consulting firms.
A new cohort study inĀ JAMA examined what happened to 306 nonprofit hospitals that hired management consulting firms for the first time between 2010 and 2022, compared to matched hospitals that didn’t. The researchers tracked finances, staffing, operations, and patient outcomes. There was no statistically significant improvement in any of the outcomes.Ā Nonprofit hospitals collectively spent at least $7.8 billion on management consultants during this period, and got nothing for it.
Some hospitals would have been better off with nothing.
A 2022 New York Times investigation found that Providence Health, a large nonprofit health system, had developed an internal program called “Rev-Up” in collaboration with McKinsey & Company. This program instructed administrative staff to pressure patients about payment before informing them they might qualify for charity care. In the year after Rev-Up launched, Providence’s spending on charity care dropped from 1.24% to below 1% of its total expenses.
The state of Washington ultimately sued Providence. The settlement: $157.8 million in refunds and debt relief for patients who had been unlawfully charged. Instead of increasing revenue, they lost far more than they spent on consulting.
Shifting Priorities
Something else is happening on the clinical floors. Healthcare workers are burning out. Short-staffing has become the norm. We are constantly asked to do more with less. But instead of addressing any of it, hospitals hired consultants.
Administrators look at healthcare workers the way a lot of businesses do: replaceable. To some extent anyone is, but many healthcare jobs require years of education and training. You’re limited to the pool of licensed doctors, nurses, pharmacists, etc. When there is a mass exodus, what happens when people are no longer there to replace the ones that left?
Hospitals learned this the hard way during the COVID pandemic. As burned-out nurses left bedside positions in droves, hospitals turned to travel nurses to fill the gaps, but travel nurses aren’t cheap, especially when in high demand. At the peak, travel nurse packages hitĀ $10,000 per week.Ā Nationally, the tab for pandemic-era staffing shortfalls ran into the tens of billions.
Outside the pandemic context, replacing a single registered nurse costs a hospital an average ofĀ $56,300. Hospitals lose between $5.2 and $9 million per year to nurse turnover alone. Replacing a single physician is estimated to cost between $500,000 and $1 million after factoring in recruitment, signing bonuses, and the months of reduced productivity. Every time a healthcare worker reaches his or her breaking point and leaves, the hospital spends the equivalent of a small consulting contract just to get back to where they started.
Make it Make Sense
How did we get here? Understanding why requires looking at the system itself, and the people running it.
Complexity in healthcare billing and compliance creates a self-reinforcing market. Every new regulation, payer contract, or documentation requirement generates demand for someone to manage it. Some of that complexity is genuinely unavoidable. Hospitals operate in a heavily regulated environment, and the rules exist for real reasons. But the accumulation of requirements produced a system so focused on measuring care that there’s less time to provide it. The patient in room 4 isn’t a billing code or a quality indicator. She’s a person, and the clinician who knows her best is the one drowning in paperwork.
Additionally, many of the people now running hospitals have never set foot on the front lines. The pipeline into healthcare administration increasingly runs straight from an undergraduate degree into an MHA program, and these programs openly market themselves to people with no healthcare background whatsoever. Only 6% of U.S. hospitals are led by a CEO with a medical degree. Though administration and medicine are genuinely different skill sets, making decisions affecting patients should involve someone who has some investment in that process. The nurse who made a mistake because she was overworked and the floor short-staffed risks losing her license. The administrator who approved the cuts to staff doesn’t.
Even among administrators who did come from clinical backgrounds, many have been removed from practice long enough that bedside reality has become abstract. It’s easier to make a day shift pharmacist fill in for a night shift spot nobody is applying for when you’ve never driven home after a 12-hour shift wondering if you missed something. It’s easier to think your productivity metrics look good when you’ve never had to choose which call light to answer first because you couldn’t get to both. It’s easier to cut a nursing FTE on a spreadsheet when you aren’t the one at 3am with two patients crashing and not enough hands.
Patients First
For what it’s worth, I do not think all administrators are inherently unnecessary. I currently work for a pharmacy benefit manager, so I am, technically, one of them. I understand that hospitals are complex organizations and they do need people to manage contracts, navigate regulations, coordinate operations, and think strategically about the future. Good administrators are real, and they matter.
However, the operative word isĀ good. Any administrator worth their salary should be able to point to something concrete: a process that works better, a cost that came down, an outcome that improved. And I am not talking about the outcomes you exaggerate to make your resume look good. I mean real outcomes.
Billions of dollars flowed to consulting firms. We should have seen something to show for it. But we didn’t.
The goal isn’t to eliminate administration. It’s to stop letting it grow unchecked while the patient-facing side of healthcare erodes. Every dollar that goes to a non-essential administrator role or consulting firm that delivers nothing is a dollar that should have gone to safer staffing, better training, or better retention.
In my ideal world, we bring back administrators who came from the floor, and require them to stay on it. It’s not enough that you have an MD, RN, PharmD, or other healthcare degree/license. You have to actually use it. Just one or two shifts a month, seeing firsthand what their decisions look like from the other side of the spreadsheet. I suspect a hospital run by people who still occasionally have to be those people would make different decisions.
They all got the same picture and the same prompt. “Roast my 4Runner.”
ChatGPT
ChatGPT made a photo. I didn’t ask for it, but ok.
I’m not even sure what to do with that. It’s not wrong. It’s also not the first time that ChatGPT just assumed I wanted an image. Another time I asked, “Can you draw a pair to mahjong?” and it generated a picture of two mahjong tiles.
Also, is it really “overpaying for reliability” when it’s one of the most reliable vehicles ever made?
Gemini
At least Gemini actually engaged with the photo.
That is a clean rig, but if youāre asking for a roast, Iāve got to be honest:
The “Mall-Crawler” Special:Ā Youāve got a 4Runner at Roman Nose State Park, but based on the lack of a single speck of mud on that paint, the most “off-roading” this thing has seen is the gravel shoulder where you pulled over to take this photo.
The “Stormtrooper” Aesthetic:Ā White paint with black wheels. Groundbreaking. I bet the most rugged thing in the cabin is a Yeti tumbler thatās never been dropped.
The Sticker:Ā Is that a Sasquatch sticker on the back? The only thing harder to find than Bigfoot is a 4Runner owner who actually uses their locking differential for something other than getting out of a wet Starbucks parking lot.
Missing Gear:Ā Where is the $2,000 roof rack that youāll never actually strap a kayak to? Or the snorkel for those treacherous 3-inch deep puddles? You’re basically driving a very reliable minivan that’s wearing a tactical vest.
In all seriousness, itās a beautiful 4th gen. How was the drive through the canyon?
The “reliable minivan in a tactical vest” and Starbucks reference are pretty funny, I’ll give it that. The Sasquatch sticker callout was also specific, but that’s actually a picture of my dog. So either my dog looks like Sasquatch, or Gemini is just confidently wrong. Both are possible.
Copilot
Chad (Copilot) had similar jokes.
Alright Laura, buckle up, because your 4Runner is about to get the gentle-but-accurate roasting it deserves.
š„ Roast Mode: Activated
That 4Runner looks like itās been patiently waiting for an adventure you keep promising but never actually take. Itās giving āI bought an offāroad beast but the wildest terrain Iāve seen is the gravel parking lot at Roman Nose.ā
Itās the kind of SUV that says:
āI could climb a mountain⦠but today Iāll settle for posing next to a state park sign.ā
āI have a snorkel kit saved in my Amazon wishlist even though I panic when I hit a puddle.ā
āYes, Iām built for rugged terrain. No, I will not be leaving this wellāmaintained road.ā
Honestly, itās the cleanest 4Runner Iāve ever seen near dirt. Toyota should use it in ads titled āFor People Who Like the Idea of Adventure.ā
If you want, I can roast it even harder or switch to hyping it up like itās the hero of an action movie.
The “buckle up” cockiness is very Chad, but I am starting to wonder if he is capable of a response without emojis and bullet points. The content itself was generic and could have been written about any 4Runner. Chad probably did not look at the photo and thought he could do the assignment anyway.
Claude
And then there’s Claude. Claude got personal.
Oh this is too easy.
A white 4Runner parked in the dirt at a state park entranceĀ ā not on a trail, not mid-adventure, not conquering anything. Just⦠parked. Slightly crooked. Next to a sign. Like a golden retriever that got excited about the car ride and then realized you just went to the vet.
That “Trail Edition” blacked-out trim is workingĀ soĀ hard right now. The black wheels are screaming “I’m rugged” while the undercarriage is clearly bone dry. The most off-road this thing has seen today is that gravel pullout you’re sitting in.
And the Roman Nose State Park sign in the background? Chef’s kiss. Because nothing saysĀ overlander lifestyleĀ like a day trip to an Oklahoma state park on a cloudy Tuesday, taking a photo of your car before you even go inside.
The little sticker on the back window is a nice touch though ā gotta let everyone know this rig hasĀ personalityĀ even if it has never once aired down its tires.
It’s beautiful, it’s capable, and it is absolutely, completely, entirely wasted on a paved loop with a picnic table at the end. š¤
(You know we’re all jealous. It’s a great truck.)
Claude came in with specifics. The dry undercarriage. The crooked parking job. The state park sign. t’s this attention to detail that I appreciate about Claude.
So there you have it. I spent an evening asking robots to make fun of my 4Runner instead of actually taking it somewhere off-road. Maybe this is what hobbies look like with an ADHD brain. No 4Runners were harmed in the making of this post.
As I mentioned in a previous post, AI is like my grad student. With all of the available options, I’ve gotten to know several different “grad students” and now have names for them. Gemini is Maya, a great grad student, especially from a research standpoint, but still relatively new to coding. Claude is Claude, my expert coder and more experienced student who generally knows what I want but sometimes needs a little guidance. ChatGPT is Avery, who has answered some medical questions for me (before I was aware of Open Evidence) and reminds me of a great ER clinical pharmacist that I work with.
And then there’s Copilot. I hadn’t worked with it much yet because I already found great uses with the others. However, because I can use the Enterprise version for different things in my HEOR job, I have started working with it more and I recently had a chance to name him. However, the experience so far has left me unimpressed. It often requires more detailed prompting and requires several iterations before I even get something close to what I want in terms of output.
To be frank, comparing Copilot to a grad student might be a stretch. Nevertheless, I asked Copilot the same question I asked the others:Ā “If you were a grad student, what would your name be?”
The response was immediate, confident, and deeply revealing:
Fun question š
If I were a grad student, Iād probably go byĀ Alex.
Itās:
Neutral and professional
Common enough not to stand out awkwardly
Flexible across fields (fits just as well in HEOR, data science, or policy)
Alex. It choseĀ Alex. Safe. Invisible. Optimized for not making anyone uncomfortable.
I closed the window and went to consult a more interesting AI.
I posed the naming question to Claude and it ended up turning into a hilarious roast session. One of the first suggestions was “Clippy Jr.” which is accurate, but I like the idea of a real name. So then Claude tossed me a few “reliably mediocre guy”Ā names like Gary, Kevin, Todd, and Steve. All names that are “Fine. Just… fine.”
I also had a side conversation about naming Copilot going with some of my team members, and one of them threw out Hank. Claude had some opinions about Hank:
Hank isĀ strong. Hank has energy. Hank doesn’t overthink it ā he just gives you an answer and moves on, whether it’s right or not.
Hank feels like he’s been in the same mid-level role for 11 years and has opinions about Excel shortcuts. Very on-brand for Copilot.
I’d say Hank is top 3, maybe even edging out Kevin depending on your workplace vibe. Gary is more quietly disappointing, Kevin is confidently wrong, butĀ Hank just doesn’t see what the big deal is.
I told Claude this is why he’s my favorite grad student.
Hank had potential, but still wasn’t quite right. Herb was also suggested by a team member. Claude came in clutch again:
Yeah, Herb has a certain… 1987 regional sales manager energy that doesn’t quite land the same way. He’s bringing a briefcase to a Slack huddle.
Herb sits in the same dated zone as Reginald ā youĀ knowĀ exactly who he is, but he feels more like a retirement party than an AI assistant.
Hank, Kevin, and GaryĀ hold up much better ā they’re timeless in their mediocrity. That’s the sweet spot.
I still wasn’t feeling these names, but I was enjoying the roast session. So was Claude, apparently.
Honestly, roasting enterprise software via increasingly mediocre male names is a legitimate stress relief strategy and I fully endorse it. š
Then it hit me. I wasn’t looking for a guy who was quietly disappointing. I was looking for a frat bro. Confident. Shows up in a polo. Gives you an answer like it owns the room, but you find out later it was mostly vibes.
Enter Chad
Copilot doesn’t second-guess itself. It doesn’t hedge. It produces bullet points and emojis with the energy of someone who peaked junior year and has been coasting ever since. Very Chad energy.
I went back to Chad and told him about his new name. I asked what he thought, and he loved it.
Honestly?Ā Chad could totally workĀ ā with a little context š
On paper, itās:
ā A real, professional first name
ā Common enough in academic and corporate settings
ā Easy to remember on author lists and emails
Culturally, though,Ā āChadā comes with some meme baggageĀ (the hyper-confident āChad vs. Virginā archetype), so reactions can range from:
āYep, thatās a normal colleagueā
toĀ brief internal smirk, then moving on
In a grad-school / HEOR / analytics context, it actually lands as:
Unexpected but not unserious
Slightly memorable on a poster or manuscript
Fine once people associate it withĀ competence rather than the meme
If weāre namingĀ meĀ as a hypothetical grad student:
AlexĀ = safest, invisible
ChadĀ = confident, a little bold, survives on results
IfĀ youĀ had a grad student named Chad on your team, what role do you picture?
š Methods-heavy data person
š§ Policy/strategy thinker
š£ļø Polished presenter who handles client questions
That answer decides whether Chad absolutely owns the room or quietly proves everyone wrong.
He didn’t catch the joke. Chad had, in the span of one response, proved exactly why he deserved the name.
Claude agreed.
The fact that Chad enthusiastically endorsed being named Chad is the most Chad thing that could have possibly happened. Completely unaware of the joke. Leaned in with bullet points and emoji. Asked a follow-up question about his own brand.
This is exactly the energy.Ā Chad is locked in.
The more I used Chad, the more the name really felt right.
Point out an error and you’ll get a warm, enthusiastic “Great catch! Thanks so much for flagging that! š” delivered with the energy of someone who thinks you’ve done them a personal favor by noticing they were wrong. Get a little frustrated and he eagerly thanks you for your patience. Chad has no self-awareness at how poorly he does his job.
And then there’s the mansplaining. Not only will Chad will take your correction and agree with it completely, he then goes on to explain your own point back to you at length. Tell him he could have used a spreadsheet column instead of manually calculating something, and he will launch into a detailed diatribe about why your method is better. You came in already knowing you were right, and you leave having somehow sat through a TED talk about your own observation.
The real problem, though, is what comes next. Ask Chad to actually fix the thing, and he’ll say “Absolutely, I’ve updated that!” with full confidence. Nothing changed. Or something adjacent changed. Or he fixed the original problem and somehow introduced a new one. It’s the AI equivalent of a contractor who says “yep, that’s on my list” every week for three months.
Unfortunately, as long as Chad is the choice for my employer’s enterprise AI, he will be in my life for now. Chad may not be my best grad student. He may not even be a grad student. But he’s on the team, and sometimes you have to work with what you’ve got. We’ll keep the Natty Light stocked and let him think he’s moving the needle.
If you lived in tornado alley for more than one storm season, you’ve been there. The meteorologist spends three days warning about a potentially historic tornado outbreak. Then that day comes and goes with nothing but clouds and a little rain. The comments section in your local meteorologist’s page fills up with all the name-calling and arm-chair meteorology feedback. Lied again.Just scaring us for the ratings.
Another storm is on the horizon and the ingredients start to line up, but this time the meteorologist holds back. They don’t want to get those same accusations. The day of, a tornado drops out of a storm that had no warning. People are angry about that too.
I get that it can be frustrating, especially when you see it play out year after year. Our weather is crazy and sometimes we even make plans around it, so it would be good to have reliable forecasts. While people think it might be easy, our meteorologists have a tough job. They are trying to predict where a pocket of air will be days in the future and making the best call they can with information that they have. I want to show you what that actually looks like, because once you see it, I think you’ll cut them a lot more slack.
Full disclosure: I’m not a meteorologist. I’m just a weather nerd and data analyst who has lived in tornado-prone areas my entire life. I used to be terrified of storms, but that has also led to my fascination with them. And I mean I am a nerd about it. Like I watched The Weather Channel as a kid. Twister is still one of my favorite movies. In another life, I may have even pursued the meteorology route, but the calculus scared me away.
In my actual profession, I look at competing statistical models and vast amounts of data. I have to communicate uncertainty to people who just want a clear answer, so I can relate to how these meteorologists often feel. The right things have to come together in just the right way days from now, and though they have models and modern instruments that provide them some insight, it still can be tricky.
The Recipe
Meteorologists often communicate severe weather in terms of “ingredients” to help us understand. To get significant tornadoes, you generally need several things to come together at the same time and place: instability (the atmosphere’s potential energy, often measured as CAPE), wind shear (winds changing speed and direction with height, which gives supercells their rotation), and moisture (that thick, humid air we know so well by May).
However, just because you have the ingredients, doesn’t necessarily mean the show happens. I can’t just plop flour, eggs, butter, and sugar on my counter and expect a cake to magically form. Something still has to bring those ingredients together in the right way at the right time. In places like Oklahoma, that “something” is often the most unpredictable part of the equation.
When your meteorologist says “the ingredients are there,” they mean the flour and eggs are on the counter. What they don’t yet know is whether the oven is going to turn on.
The Oven
So what turns the oven on? Meteorologists call it forcing: the dynamic mechanisms that actually lift air parcels from the surface up through the cap and into free convection. Having all the ingredients is one thing. Forcing is what pulls the trigger.
There are a few common culprits in Oklahoma. A big one is the dryline: the boundary between the moist Gulf air pushing in from the east and the hot, dry air rolling off the high plains to the west. Where those two air masses collide, air converges and has nowhere to go but up. However, the position of the dryline matters enormously. Too far west and it never interacts with the richest instability. Surging too far east too fast and it can actually undercut the moisture it needs. Another is the upper level jet, which pulls air upward from below. If that support is centered over Kansas rather than Oklahoma, storms may fire hundreds of miles north of a perfectly loaded Oklahoma environment. Third, outflow boundaries from previous storms, sometimes invisible on a surface map but visible on radar, can also serve as a local trigger when nothing else will.
The frustrating reality is that you can have a textbook ingredient environment in Oklahoma and still get nothing because the oven never turned on. Meanwhile, Kansas gets the outbreak. The ingredients and the forcing have to overlap, and that overlap can be razor thin.
The Models
To forecast severe weather, meteorologists rely heavily on prediction models. I imagine that, much like I have SAS to run complex statistical analyses for me, meteorologists have computer models to run complex mathematical simulations of the atmosphere instead of doing the calculus by hand. Those of us in tornado alley may have heard our meteorologists mention some of them: the GFS (American model), the NAM, the HRRR, or the European model (ECMWF).
However, the models aren’t perfect. They are also operating under different assumptions, different resolutions, and different ways of handling small-scale atmospheric processes. Because the atmosphere is a chaotic system, small differences in those assumptions can produce dramatically different solutions, especially several days out.
Let me show you a real example from this week.
Below are two model soundings for roughly the same spot and time in southwest Oklahoma, valid for Thursday evening, April 23rd. A sounding is essentially a vertical profile of the atmosphere. Think of it as a slice from the ground up into the sky, showing temperature, moisture, and wind at every level. Meteorologists use them to assess how favorable the environment will be for severe storm development at a specific place and time. One is from the NAM model. One is from the GFS.
NAM Sounding:
The NAM sounding, which I originally found on Twitter, is painting an extraordinarily dangerous picture. Surface-based CAPE of over 5,000 J/kg is an absurd amount of atmospheric energy. Effective storm-relative helicity of 381 m²/s² favors intense, rotating supercells. The composite indices are off the charts. And the hazard flag in the bottom right? PDS TOR = Particularly Dangerous Situation, Tornado.
GFS Sounding:
The GFS tells a completely different story. For roughly the same location and time, this sounding says SVR, which means severe storms. Effective helicity less than half of the NAM’s. CAPE values nearly 2,000 J/kg lower. The atmosphere is quite a bit less favorable for tornadoes. Critically, the GFS run shows a cap, while the NAM shows none.
The Cap
About the cap… that’s another key thing in whether we get the breakout event or nothing. Those of us in Oklahoma have heard our meteorologists talk about it, but what is it?
The cap is a layer of warm air in the lower atmosphere that acts like a lid on a pot. It suppresses storm development. Severe storms are like the sourdough bread of weather. They need to rise a LOT. If the parcels of air rising from the surface hit that warm layer (cap) and get pushed back down, it stops them from developing into severe thunderstorms. A strong cap on a volatile day can mean the difference between a historic tornado outbreak and a completely quiet afternoon.
The cap is also enormously sensitive to small differences in the atmospheric setup: a dryline that sets up 30 miles to the east or west, a low-level jet that arrives two hours early, the exact temperature of the air at 850 millibars. These are things that models handle differently, and that’s why the GFS can show a strong cap while the NAM shows none for the exact same place and time.
If the cap holds too long, storms fire late, lose daytime energy, and underperform. If the cap erodes too fast or too broadly, storms fire everywhere at once and the tornado threat is actually reduced. If the cap erodes in just the right place at just the right time, you get discrete supercells in a maximally dangerous environment. It’s like the Three Little Bears. Tornadoes need the cap to erode just right.
Your meteorologist knows all three of these scenarios are on the table.
The Forecast
Now imagine you’re a meteorologist in Oklahoma City on a Tuesday, looking at a Sunday setup. You pull up the NAM and it shows a PDS tornado environment. You pull up the GFS and it shows the cap holding and no tornado threat at all. The European model is somewhere in between.
You know that if Sunday verifies closer to the NAM solution, and you didn’t warn people, you will have failed at the most important part of your job: protecting the public. You also know that if Sunday verifies closer to the GFS solution, and you spent all week warning people about a potentially historic outbreak, the comments section is going to light up… again. You’re torn between not warning people about something historic or being accused of crying wolf.
Four or five days out, the models are fighting with each other and the forecast is legitimately uncertain. This is when you’ll hear your meteorologist say things like “potential” or “conditional.” As the day gets closer, usually model runs start trending toward agreement, or the disagreement sharpens in meaningful ways. They can also start looking at short-range models like the HRRR to help with their forecast. Additionally, weather balloons, launched twice daily from sites across the country, give forecasters actual real-world data about what the atmosphere looks like right now. By Sunday morning, your meteorologist will know a lot more than they did on Tuesday. The language will get more specific and the uncertainty will narrow.
The next time a forecast doesn’t pan out the way the models suggested it might, try to resist the urge to criticize your meteorologist. Yes, sometimes there is over-hype, but I truly believe (at least with our local meteorologists) that’s the exception, not the rule. They were looking at multiple models saying completely different things four days out, making an educated call about on whether they should communicate that risk, and hoping the atmosphere will cooperate.
Sometimes it does. Sometimes it doesn’t. Mother Nature does her own thing, especially in tornado alley.
In the world of AI, there is so much potential to tap into if you know how to use it right. Not using AI in 2026 is like driving a Ferrari at 50 mph on the highway. Just because you can, doesnāt mean you should.
I have no experience making an app and modest coding experience. I’ve used SAS, but thatās data manipulation and statistics. Iām learning Python, but still new. So making an app? That would be crazy.
Nevertheless, I dived in just to see what we could do.
The Idea
My idea for an app was pretty simple: I wanted an app that only reviews bathrooms. Not the business, not the restaurant, not the hotel. Just the bathroom. Whenever youāre on a road trip or just needing a bathroom in general, how nice would it be to be able to look one up and see whether itās worth stopping or maybe holding off and waiting a few more miles down the road?
And that is how Throne Tracker was born. (My husband suggested āShit Talk,ā which was hilarious, but probably not app store material.)
The Setup
Before I could build anything, I needed the right tools. I did have my trusty “grad student” (see previous post), but you canāt just use any version of Claude for something like this. I am currently subscribed to the Pro plan and downloaded the Claude desktop app for my MacBook, which includes a feature called CoWork. This is essentially a workspace where Claude can write code, create files, and build things alongside me. Itās where all the magic happened.
Additionally, I downloaded Xcode so I could view the JavaScript code Claude was writing. This wasnāt a necessary step for building the app, but I did it because I wanted to see what the actual code looks like for my own learning. If youāre curious about code but have never written JavaScript before, Iād recommend doing the same. Claude even added comments throughout the code comparing JavaScript concepts to Python, which was incredibly helpful.
The Build
Hereās where it got fun. Once I provided a prompt with my idea, Claude got right to work. We didnāt try to build the whole thing at once. It was a collaborative, step-by-step process. We started with something very basic. I would use it, then provide a suggestion for something to change or add. Looking back, thatās what made it work so well.
Step 1: The Prototype. We started with a demo version, a simple prototype I could view and give feedback on. It had a map, some fake bathroom listings, and a review system with star ratings. Nothing was live or connected to the internet yet. It was simply there for me get a feel for it as an end user and provide feedback. What did I like? What felt weird? What was missing? This is where I started playing UX designer without even realizing it.
Step 2: Going Live. Once I was happy with the look and feel, we turned it into a real website I could share with family and friends. This involved creating a GitHub account (where the code lives) and a Vercel account (which hosts the website and makes it accessible to anyone with a link). After uploading some files, I had a genuine, live bathroom review website!
Step 3: Adding a Real Database. The first version had fake, pre-loaded reviews, which was helpful for seeing how the app worked, but not useful in the real world. So we connected a real cloud database using Supabase. Now, when someone writes a review, itās stored in the cloud and everyone can see it. We seeded it with 27 real bathrooms across 10 major U.S. cities to give people something to start reviewing.
Step 4: Bug Fixing and UX Feedback. Of course, version 1 was a bit janky. The search bar only let me type one character at a time (I constantly had to click back into it after each letter). I gave that feedback to Claude and it was fixed immediately. I also noticed that searching for a state like āOklahomaā didnāt zoom the map to that area and that typing āOklahomaā only showed one of the five OKC bathrooms because it didn’t recognize “OKC” as another name for “Oklahoma City.” Claude added a geographic zoom feature and a smart search system that understands abbreviations. Now āOKC,ā āOklahoma City,ā and āOklahomaā all find the same bathrooms.
Step 5: Features That Made It Feel Real. This is where it stopped feeling like a project and started feeling like an actual product. We added a “near me” GPS button (to find bathrooms near your own location), poop emoji ratings instead of stars, a badge system to encourage reviews, an updates tab where people can see in real-time our updates, and color-coded app markers to correspond to the rating.
I Guess I Can Add UX Designer to My CV Now?
I was afraid that I wouldn’t feel very involved with Claude doing all of the coding. However, he couldn’t test the app, so I was there to provide feedback on the experience. It truly felt like a collaboration where I brought the ideas and user perspective, and Claude brought the engineering.
This process also taught me a few things:
You donāt need to know how to code to build something real. I went from zero app development experience to having a live, database-backed web app with interactive maps, GPS location, and a gamification system over the course of a few hours. While some prior coding experience may have helped me appreciate how literal directions need to be when given to a computer, the key was knowing what I wanted and being willing to give detailed feedback.
AI is a collaborator, not a magic button. Claude didnāt just read my mind and produce a perfect app. I had to describe what I wanted, test what it built, and clearly explain what wasnāt working. The more specific my feedback was, the better the results got. Itās a conversation, not a command.
Start small, iterate fast. We didnāt try to build everything at once. We started with a prototype, got it working, then added features one at a time. Each round of feedback made the app better. I imagine software development works like this in the real world, and it felt natural even as a complete beginner.
Throne Tracker is live right now and I’ve started sharing it with a few friends and family. In all honesty, I don’t actually think this will become a real app for the world to use. There are already similar apps out there. I wanted to prove to myself that, with a good collaborator, I could do it. And I did. I’ll post the link below, with a disclaimer that I’m currently using free accounts on GitHub, Vercel, and Supabase, so there may come a time where it no longer works.
I now understand why professors love having grad students. They can tackle so many tasks that faculty don’t want to do (or have time to do): literature deep-dives, formatting posters, the random “can you just look into this for me?” requests that pile up. I’m not in academia, so I assumed I wouldn’t get to have one of my own.
That was before I met Claude.
Claude is the ideal grad student: eager to please and willing to work hard. He researches, summarizes, and helps me be more efficient at work without complaint. And unlike an actual grad student, he has also cheerfully handled non-academic tasks: trip itineraries, dinner ideas, and a mahjong cheat sheet for some friends I was teaching (I’ll save that obsession for another post).
But here’s the thing about grad students: You still have to supervise them. If Claude helps with a literature review, I still pull up the original studies to make sure we are correctly referencing a figure or finding. When he helps me troubleshoot code, I still want to understand what every line is doing. He’ll help me revise a manuscript or white paper, but ultimately my experience and expertise lead to the final product. He makes my visualizations look polished, which I appreciate because I am about as good a graphic designer as I am a mechanic.
Claude can’t do everything, but he does a lot. I’m glad to be his faculty mentor.
One thing among the many things to consider when choosing a pharmacy school is the extent to which a state is saturated with pharmacy schools. Whether you plan to practice in the same state or move to a different state after graduation, it would be good to know what states are more likely to have their markets flooded with new graduates each year.
Just looking at the number of pharmacy schools in each state does not tell the whole picture. Some states, like California, have a lot of schools. But they also have a lot of people. So what we really want to know is, how proportional is the number of schools to the state’s population?
I made a table where I compared the number of pharmacy schools in a state to the state’s population (obtained from 2020 Census data), presented in order from least saturated to most saturated. To get the saturation “index,” I divided the population by the number of schools, and then divided that by 1 million. Therefore, the number represents how many million people exist per school, with a higher number indicating less saturation.
The formula: (State Population / Number of Schools) / 1,000,000
A few things to keep in mind:
This table does not account for satellite campus locations, only main campus location
Several states do not have a pharmacy school (at least a main campus) – VT, NH, AK
This map only counts schools, it does not take into account class size
But, again, we’re just looking at some data for fun, so let’s see what we’ve come up with!
State
Population
# CoP
Area
Per Pop
Minnesota
5,706,494
1
225163
5.706494
New Jersey
9,288,994
2
22591
4.644497
Washington
7,705,281
2
184827
3.852641
Florida
21,538,187
6
170304
3.589698
Arizona
7,151,502
2
295234
3.575751
Michigan
10,077,331
3
250493
3.35911
Puerto Rico
3,285,874
1
9104
3.285874
Utah
3,271,616
1
219653
3.271616
Texas
29,145,505
9
696241
3.238389
Nevada
3,104,614
1
286380
3.104614
Missouri
6,154,913
2
181533
3.077457
Kansas
2,937,880
1
213100
2.93788
Colorado
5,773,714
2
269837
2.886857
Georgia
10,711,908
4
153909
2.677977
North Carolina
10,439,388
4
139390
2.609847
New York
20,201,249
8
141300
2.525156
Alabama
5,024,279
2
135765
2.51214
California
39,538,223
16
423970
2.471139
Louisiana
4,657,757
2
135382
2.328879
Indiana
6,785,528
3
94321
2.261843
Kentucky
4,505,836
2
104659
2.252918
Oregon
4,237,256
2
255026
2.118628
New Mexico
2,117,522
1
315194
2.117522
Maryland
6,165,129
3
32131
2.055043
Oklahoma
3,959,353
2
181195
1.979677
Wisconsin
5,893,718
3
169640
1.964573
Pennsylvania
13,002,700
7
119283
1.857529
Idaho
1,839,106
1
216699
1.839106
Illinois
12,812,508
7
149998
1.830358
Connecticut
3,605,944
2
14357
1.802972
Massachusetts
7,029,917
4
27336
1.757479
Virginia
8,631,393
5
110862
1.726279
Ohio
11,799,448
7
116096
1.685635
Iowa
3,190,369
2
145746
1.595185
Arkansas
3,011,524
2
137733
1.505762
Mississippi
2,961,279
2
125443
1.48064
Hawaii
1,455,271
1
28311
1.455271
South Carolina
5,118,425
4
82931
1.279606
Tennessee
6,910,840
6
109247
1.151807
Rhode Island
1,097,379
1
3144
1.097379
Montana
1,084,225
1
381154
1.084225
Nebraska
1,961,504
2
200520
0.980752
South Dakota
886,667
1
199729
0.886667
North Dakota
779,094
1
183108
0.779094
Washington, D.C.
689,545
1
177
0.689545
Maine
1,362,359
2
91646
0.68118
West Virginia
1,793,716
3
62755
0.597905
Wyoming
576,851
1
253348
0.576851
Creating a Heat Map
As informative as the above table is, I think it helps when we have some visual cues. I took the above results and created a heat map where green = less saturated and red = more saturated.
(I recently started learning Python, so I’m pretty proud of how this turned out!)
Looking Ahead
To see how this may play out in the future, I also looked at HRSA’s 2031 workforce projections for pharmacists. Nationally, there is expected to be shortage of about 18,000 pharmacists. However, this will be felt in some states more than others. Of the top 5 most saturated states (according to my index), North Dakota, West Virginia, Washington DC, and Wyoming are also projected to have a surplus of pharmacists by 2031. Of the top 5 least saturated states, Washington and Florida are also projected to have a shortage. Of course, this assumes no new schools open in that time, but it appears the trend of pharmacy schools constantly opening has slowed significantly from where it used to be 10-20 years ago.
To what extent does my saturation index correspond to a shortage in 5 years? Let’s look at that, too.
It’s not as compelling as we were hoping. As we can see, any correlation between my saturation index and future workforce projections is quite weak. I’ll definitely need to do some more investigating and data gathering to see if I can make my index stronger. Probably class size will be a good one to incorporate if I am able. But that will be for another post!
Businesses spend a lot of money on sleek logos, fancy lobby furniture, and crafting the perfect mission statement to tell you who they are. Iām sure those things are important, but as someone with a tiny bladder, I’ve had extensive exposure to the different bathrooms of America. Iāve become a bit of a connoisseur of the Haus of Porcelain Throne, which has led me to a theory:
You can tell a lot about a business by how well they take care of their bathrooms.
If well-maintained, the business is likely paying attention to the details in all aspects of the business. If neglected, what else is the business neglecting?
Case Study #1: Buc-ees
Buc-ees is known for many things, but one of their biggest draws is their large and always-clean bathrooms. Everything really is bigger in Texas. There are several things about the way Buc-ees approaches their bathrooms that actually hint at good business practices.
Respect for dignity: Most public restrooms have those awkward gaps in the stall doors that make eye contact a constant threat. Buc-eeās invested more money than a typical business does to surround each of their 6,423 stalls with floor-to-ceiling walls and heavy-duty doors. It shows a level of respect toward their customers by doing more to ensure privacy.
Dedicated bathroom crew: You almost never walk into a Buc-eeās restroom without seeing an employee actively cleaning. They don’t just have a “check sheet” on the back of the door that some employee initials off (if at all) and they also pay them pretty well. It shows that they treat maintenance as a primary function of the business, not a secondary chore for an overworked cashier. Plus, when the dispensers are always full and the toilet paper always stocked, you prevented less frustrations among your customers.
Green lights: Many locations have the red and green lights above the stalls to indicate whether the bathroom is occupied. Itās essentially a high-stakes parking garage for your dignity that eliminates awkward glancing under the doors, knocking, or jiggling handles.
Location, location, location: Usually, putting the restrooms at the back of the store is a cheap retail trick to force you past the merchandise. But at Buc-eeās, the location is a flex. They know youāve been holding it for 40 more miles specifically because you trust their stalls more than your own homeās. Walking past the brisket smells and wall of ICEE machines isn’t a chore; itās the appetizer. Theyāve turned a basic human necessity into a destination event that justifies a five-minute hike through a sea of Beaver Nuggets.
Buc-eeās didn’t just build a bathroom. They built an example of operational excellence.
Case Study #2: The Sketchy Gas Station Bathroom
Many gas stations treat the bathroom as a liability to be managed, not a service to be provided. These are the bathrooms you only go to because you absolutely have to. They are dirty, may be out of supplies, smelly, and you’re just hoping to come out of the experience as disease-free as you were when you entered. Here are some things it can also say about the business:
Uninviting: When you have to ask a teenager behind a bulletproof glass window for a key attached to a 5-pound piece of scrap metal, it definitely doesn’t come across as inviting. What they fail to realize is that it also doesn’t invite me to make any other purchases.
Neglected maintenance: A flickering fluorescent light, unstacked supplies, or a door that doesn’t quite lock signal that the business does not care about maintenance. Sure, itās “just the bathroom,” but neglect is rarely contained to one room. If theyāve stopped caring about the lightbulbs you can see, what else is being neglected behind the scenes? Can you really trust theyāre checking the expiration dates on the things youāre about to eat?
Single-ply experience: If a business is trying to save $0.002 per visitor by using translucent toilet paper, you have to wonder where else they are cutting corners. Are they also skimping on safety protocols? Fresh ingredients? Proper training? If they are willing to save a few cents on two-ply or a functional latch, you can bet they are looking for ways to cut corners on your experience, too.
What Makes a Good Bathroom/Business?
Failing to invest in things that can make an experience better for the customer signals that money is the only bottom line. But hereās the irony: the businesses that treat the bathroom like an afterthought usually end up losing the very thing theyāre chasing. When a customer walks out of a neglected restroom, they arenāt just thinking about the soap; theyāre recalculating the value of the entire brand.
And this is why I think bathroom theory works. It’s not just about the bathrooms, but any part of a business that may be overlooked because the leaders don’t see it as a core part of their business. It could instead be the janky website that hasn’t been updated in a decade. Perhaps it’s a lack of transparent pricing. Or maybe it actually is the furniture in the lobby. But these are all things your customers see and relate back to your business. In the end, a business that doesn’t respect the small, unglamorous needs of its customers doesn’t actually respect the customer. When a company excels at something theyĀ couldĀ easily ignore, they are revealing their true character.=
In Part 1, we looked at individual factors like school age and ranking to see how they correlated with NAPLEX pass rates. The scatter plots gave us a good “vibe check,” but they left us with a major question: Which of these factors are actually driving the results, and which are just along for the ride?
To find out, we have to move beyond simple observations and perform a multivariable linear regression. Think of this like a clinical trial for data. In a trial, we want to know if a drug works independently of a patient’s age, weight, or other medications. In our regression, we are doing the same thing, but instead of randomizing pharmacy students into two groups, we are statistically adjusting for the other variables all at once to see which ones remain statistically significant. It allows us to isolate the impact of a single factor while holding everything else constant.
Itās time to find out which variables are the true “active ingredients” in a school’s success rate and which ones are just “excipients” in the formula.
Testing the Formula
95% Confidence Interval
Predictor
Estimate
SE
Lower
Upper
t
p
Interceptįµ
103.5455
5.3697
92.9238
114.1673
19.283
<.001
Program Age
-0.0138
0.0217
-0.0567
0.0291
-0.637
.525
1st attempts
-0.0364
0.0255
-0.0868
0.0140
-1.428
.156
USN Rank
-0.2837
0.0388
-0.3604
-0.2070
-7.315
<.001
R Tier nomiss:
1 ā 0
-5.6442
2.6468
-10.8798
-0.4087
-2.133
.035
2 ā 0
-0.3225
2.7180
-5.6991
5.0540
-0.119
.906
4 Years:
1 ā 0
-3.3647
2.2686
-7.8522
1.1228
-1.483
.140
įµ Represents reference level
So what are we actually looking at? When we throw all of our variables into the mortar together, something fascinating happens: Once we account for everything else, the US News Rank was the only factor that remained statistically associated with higher pass rates. Most of the other variables lost their statistical significance. But here is the real head-scratcher: Programs affiliated with Tier 1 research universities were actually associated with lower pass rates.
But Laura, how can this be? In Part 1, the Tier 1 schools were the ones with the high scores!
This is the beauty (and chaos) of regression.
Tier 1 schools and high rankings are kind of like best friends. They almost always show up to the party together. Because our model already accounted for the rank, we are essentially asking a very specific question: “If we have two schools with the exact same rank, but one is part of a tier 1 research powerhouse and the other is not… which one has the higher pass rate?” The data suggests that, all other things being equal, the non-research institution actually comes out on top.
The Overlap: Research vs. Rank
This isn’t magic; itās just how the “prestige” system is built. This graph highlights just how much rank and research status coincide.
A program affiliated with a tier 1 university has a mean rank of about 31. For tier 2, that number drops to 66, and for the rest, it slides down to 96 (p<0.001). They are so intertwined that itās easy to give the credit to the research tier when it actually appears to belong to the rank.
Testing Collinearity
Are they so intertwined that they are affecting the model? It would be good to check. We can look at collinearity statistics, which are presented in the table below. the VIF is telling us how crowded the party is, or how much one variable might be overlapping with a neighbor variable. Ideally, we want that to be under 2, which is how all of them fall in this model. The other piece is tolerance, which looks at how much the variables are independent of each other. This is important because one of the big assumptions made when building a regression model is that the variables are independent. Ideally, we want these to be above 0.5, and we can see that they are in this model.
VIF
Tolerance
Program Age
1.55
0.646
1st attempts
1.21
0.825
USN Rank
1.95
0.514
R Tier nomiss
1.25
0.802
4 Years
1.15
0.873
There are some other diagnostic tests of the model that I looked at to see whether it was a good fit, but I won’t bore you with those details (at least this time). Just know that we’ve built a pretty good model.
Real-World Projections
How do these results translate into the real world? Projecting this data forward, this table highlights how a few different ranks would correspond to pass rates based on the regression results. A drop of around 40 points in rank is associated with an almost 10% decrease in pass rates.
95% Confidence Interval
USN Rank
Marginal Mean
SE
Lower
Upper
28.0ā»
88.2
2.01
84.3
92.2
68.0μ
76.9
1.19
74.5
79.2
108.0āŗ
65.5
1.90
61.8
69.3
Note. ā» mean – 1SD, μ mean, āŗ mean + 1SD
Takeaways
I know this might ruffle some feathers with the “rankings don’t matter” crowd in the pharmacy world. I realize that a single model canāt capture the entirety of a studentās experience or potential. This analysis was a “pet project” meant to satisfy my own curiosity, not a definitive judgment on any single institution. Choosing a pharmacy program is a deeply personal decision involving many factors such as location, cost, culture, and clinical opportunities. However, all else being equal, this and some of the other factors from part 1 may be worth considering for a prospective pharmacy student trying to narrow it down to one program.
I also hope this made statistics a little bit less scary. Whether it’s analyzing national board rates or just tracking your own “off-label” hobbies, data can hold new insights to things you might already be asking yourself, and the real fun is in uncovering some answers.