
I build the clinic tools that did not exist
A Cypress GP, Claude, Cursor, and the stack I run at Hearthstone: discharges, a Shepherd one-click loop, a waiting-room gallery, and a lab interpreter.
I am not a software company. I am a one-doctor practice that got tired of waiting for veterinary vendors to ship the obvious thing. So I started building. Lovable first — describe a page, get React. Then the drafts were slop, the buttons went nowhere, and I moved the real work into Cursor with Claude in the loop. That is how this site got honest, and how the clinic tools got into production instead of a demo.
I have looked at what is for sale. Pieces exist: a transcriber here, a discharge template there, a pretty slideshow that wants a marketing budget. I have not found another solo GP who records the visit, turns it into language the owner can actually follow, and writes it back into Shepherd in one click. Nobody sold me that loop. I built it, because the evening was disappearing into the keyboard.
The stack, on one screen
DischargePro
Patient drop-off take-homes: why they are here, what we are doing, pickup instructions in owner language.
Surgery discharge
The post-op sheet: incision, cone, pain meds, when to panic. Separate app, same rule — I still read it.
Shepherd loop
Record the visit. Dictate. Transcribe into client-friendly copy. Push it into the medical record in one click.
Pawfect Gallery
Waiting-room pet photo slideshow. The one that did not exist, so I shipped it.
Antech interpreter
Lab results in English an owner can use, not a wall of abbreviations.
This site
BitcoinVet.ai — the notebook. Started in Lovable. Finished in Cursor, with Claude in the chair next to me.
How this started
BitcoinVet.ai began as a Lovable project because I could get something on the internet without hiring a firm. That door is real. It is also how you get empty About cards, invented download counts, and a homepage that reads like a brochure. The first draft of a clinic tool has the same disease: confident sentences, missing edge cases, a button that does not write to the record.
Cursor changed the job. I can see the files. Claude can edit them with me. I still have to click every path and delete every number that did not come from the clinic. The model is a fast junior. I am still the doctor who signs.
Two discharge apps, two jobs
Drop-off day and surgery day are not the same piece of paper. I built two sites because stuffing both into one form made the wrong paragraph print.
DischargePro is for patient drop-offs: why the animal is here, what we are doing while they are gone, how pickup works, what to watch for at home that night. The last ten minutes of a drop-off are when we type. Owners wait. Then they call at 8pm because “twice daily” was not as clear as we thought.
Surgery is a different sheet. Incision care, the cone, pain meds, the one sentence that means come back tonight — all of it has to survive a groggy ride home. That lives at discharge.peltonsites.com. Same method: templates I wrote the way I talk, software fills the visit, I read it before it leaves. The discharge note is the method. Neither app replaces me in the room.
The Shepherd loop — record, write, file, one click
Transcription vendors will give you a SOAP dump. Discharge apps will give you a PDF you still have to copy. Practice-management software will store whatever you type. The gap in the middle is where the evening goes: I already said it out loud, and then I say it again with my fingers, and then I say it a third time in words an owner can use.
So I wired my own path into Shepherd. I record. It dictates. It transcribes into client-friendly format — not a transcript of every “um,” not a note only another veterinarian can parse. Then it pushes into the record with one click. No extra tab. No paste-and-pray. I still read it. I still sign it. The difference is I am not retyping the visit after the last patient has gone home.
I went looking for a product that did that end-to-end. I did not find one I could buy and drop onto a solo GP day. If someone else in this field has that loop running in production, I have not seen it. Until I do, this is the tool I use at Hearthstone, and it is the one I will keep sharpening.
Pawfect Gallery — the waiting-room slideshow
Clients sit in our lobby with a scared animal and a phone full of pictures of that animal at home, happy. Every clinic wants those photos on a loop. The options were a consumer Chromecast nightmare, a dental-office vendor that looked like 2009, or a staff member’s laptop playing a folder named “pets.” None of that is a product.
I built pawfect-gallery.lovable.app. Photos of the patients, on the wall, without a second career in AV. If you have been in our Cypress waiting room, that is why the golden retriever keeps showing up on the screen.
Lab results in English
Antech (and every other lab) sends a sheet that makes sense to me and looks like a crash to an owner: ALT, SDMA, bands, a flag, no story. The callback then becomes a translation job. I built antech-interp.lovable.app so the numbers can come back as a first-pass explanation — what we are looking at, what is noise, what needs a plan. I still interpret the case. The tool does not diagnose. It stops me from starting the conversation at “let me decode this PDF for you.”
What is worth building (and what is not)
Build the job you already do on paper, badly, every day. Discharges. Surgery aftercare. The note that has to live in the PMS. The slideshow. The lab call. Do not build a second Shepherd. Do not build a chatbot that diagnoses. If you cannot explain the tool to a tech in one minute, it is too big.
Cost is a subscription and your evenings, not a $40,000 custom quote. Time is not “an afternoon to production.” Time is an afternoon to a prototype, then weeks of catching what the model invented — a dose, a duration, a button that writes to the wrong field. That last part is the whole job. Shipping the first draft is how clinics get in trouble.
How I work now
- Pick one annoying, bounded job. Discharges were first. The Shepherd loop was the one that ate the night.
- Write the template or the script myself. Then let software fill. Never the other way around.
- Prototype in whatever is fastest — Lovable still counts — then move into Cursor when it has to touch a real record.
- Have someone who did not build it try to break it. A tech. An owner. Me at 7pm.
- Keep a human on the signature line. Always. If it cannot show its work, it does not touch a chart I sign.
Why I am loud about this
Veterinary software has spent twenty years selling us “AI” as a landing page. I am a GP who still sees every patient, and I have a working stack: take-homes, surgery aftercare, a one-click note into Shepherd, a lobby gallery, a lab interpreter, and this site. That is not a vendor roadmap. That is Tuesday.
If you want the method for discharges, read the take-home note. If you want to see what is live versus a sketch, open Projects. If you want to argue that some other solo doctor already wired Shepherd this way, email me. I would like to be wrong. I have not been yet.
Product names are descriptions, not ads. Linked tools are separate apps with their own terms. None of this is a diagnosis engine. Educational only.