Skip to content

My cat got sick, so I turned a WhatsApp mess into a dashboard

Posted on:March 25, 2026 at 12:00 PM

Rumi has been sick for about six weeks, and at some point my life turned into cat-medical paperwork triage. Hemograms, ultrasounds, prescriptions, urine cultures. Some in the vet group chat. Some in direct messages. Some buried in conversations with my girlfriend. Every time I wanted to check whether her creatinine was better than last week, I had to go digging for some forwarded PDF.

The vet almost certainly has a proper system. I do not. I get screenshots, forwarded files, and documents called things like hemograma (2).pdf.

I tried Claude Cowork first. It runs in an isolated sandbox, and in my case it never really got comfortable with the PDFs. Maybe that’s on me. I didn’t spend that long trying to force it. Still, it felt like the wrong shape of tool. I’m already sitting in a terminal. I already have OCR, file utilities, and parsers on my machine. Using something more locked down for this felt cramped.

So I switched to OpenCode with MiMo V2 Pro Free. Free model, totally fine. This job did not need a frontier model. It needed filesystem access and instructions that were actually specific. In about an hour, including the failed Claude detour, I had the files renamed, the lab values extracted, and a little HTML dashboard I could use.

About an hour total. That includes the failed first attempt.

That part alone was worth it. Once every file had a date, the folder stopped looking like a junk drawer and started looking like a timeline. I also ran bloodwork on my other cat, Julie, just to be safe. She is fine, and now her records are organized too.

controles/
├── Rumi/
│   ├── [2025-10-17] - bloodwork.pdf
│   ├── [2026-03-05] - biochemistry.pdf
│   ├── [2026-03-05] - blood-count.pdf
│   ├── [2026-03-06] - hospitalization-consent.pdf
│   ├── [2026-03-06] - ultrasound.pdf
│   ├── [2026-03-09] - blood-count.pdf
│   ├── [2026-03-11] - urine-culture.pdf
│   ├── [2026-03-16] - nephrology-notes.pdf
│   ├── [2026-03-18] - bloodwork.pdf
│   ├── [2026-03-18] - prescription (updated).pdf
│   ├── [2026-03-18] - ultrasound.pdf
│   ├── [2026-03-18] - urinalysis.pdf
│   ├── [2026-03-20] - nephrology-consult.pdf
│   ├── [2026-03-21] - prescription-updated.pdf
│   ├── [2026-03-24] - tube-removal-notes.txt
│   └── rumi_dashboard.html
└── Julie/
    └── [2026-03-16] - bloodwork.pdf

(the real file names were in Spanish, translated here so this is easier to read)

Then I plotted everything. Plain Chart.js. Nothing fancy, which was perfect. Creatinine dropped from 8.95 to 1.44. Weight crawled back from 3.18 kg to 3.5. Once it was on a screen, I did not have to keep the whole case in my head anymore.

Creatinine: the chart I kept reopening

Creatinine (mg/dL)

Peak

8.95
mg/dL · Mar 6

Recovery

−84%
12 days

Current

1.44
mg/dL · normal ✓

Ref

<1.8
mg/dL

Her creatinine was 1.1 back in October, totally normal. Then March got ugly. It was 7.35 on March 5, then 8.95 on March 6. Almost five times the upper limit. Three days into treatment it dropped to 6.34. Twelve days later it was 1.44. I kept coming back to this chart because it turned panic into something I could at least track.

Weight: slowly coming back

Weight (kg)

This one is less dramatic, but honestly it meant more to me. She left the clinic at 3.18 kg. Then she dipped a bit. Then she started climbing again. She hit 3.5 kg on March 24, the same day the feeding tube came out. That is the kind of number you stare at for a while.

What showed up once the data was in one place

I had the model go through 20-plus PDFs, pull out the key values, and line them up by date. Once it did that, a few things became obvious.

BUN moved with creatinine. They both spiked on March 6 (BUN 116, creatinine 8.95). They were both back in range by March 18 (BUN 24.3, creatinine 1.44). That was reassuring in a strange way. Two kidney markers, same story.

BUN (mg/dL): blood urea nitrogen

Neutrophils stayed high. Even after the kidney numbers recovered, neutrophils were still at 79% on March 18. So it was not a clean “everything is fine now” moment. The antibiotics were helping, but the infection clearly was not done, which helps explain why Clamovet got extended to 30 days.

Neutrophils %: infection and stress indicator

Hematocrit kept sliding. It was 42.9% in October and 32.3% on March 18. Still within the normal range (29-45%), but heading the wrong way. During kidney disease that can mean the kidneys are not producing enough erythropoietin. Not an emergency, but definitely something I want watched at the next visit.

Hematocrit %: anemia watch

This is the kind of thing that is easy to miss when you are opening PDFs one by one and trying to remember what changed.

Medicines

The prescription changed as Rumi’s case changed, so I had the model pull every update into one place:

DrugPurpose
Clamovet (amox + clavulanic)Urinary infection, extended to 30 days
Renal NKidney support
EpakitinPhosphorus binder
ProtelivLiver support
Tamsulosin 0.12 mgUreteral stone expulsion
Citrate of PotassiumUrinary alkalization
MirtazapinaAppetite stimulant
TraumeelPain management

What changed between March 18 and March 21 is pretty clear. Early on the focus was stabilizing her kidneys. Later the prescription added Tamsulosin and Citrate of Potassium, which is much more about dealing with the ureteral stone itself. Same cat, different phase of the problem.

Rumi has a ureteral obstruction from a PLUG (protein matrix plug), plus a kidney infection on top of that. She is on antibiotics, renal supplements, and a special diet. The tube is out. She is eating on her own again. I am not pretending a chart fixes any of this, but seeing the numbers move in the right direction has helped a lot.

Your vet is probably not going to hand you a dashboard. If you know your way around a terminal, you can make your own.

Rumi

She still has a way to go. The stone is still there. Her kidneys need watching. Her weight does too. But the trend is finally not terrifying. If you made it this far, send a little good luck her way.