Custom OpenVINO Server — ol’ Bear and hyperfocus honeypot. Part 3.
“Wakey, wakey, ol’ clumsy Bear — it’s me, Nicole.”
I heard that in my dream, whispered in a soft voice. Shoot. I’m in trouble now. My fierce Vietnamese partner will tear my ears off when she finds out about that romance. I woke up shivering.
No one by my side.
Hard to decide — disappointed or relieved?
Who the hell is Nicole? How did she land in my head?
The whole day those questions lingered in the back of my mind.
To suppress this returning, soft, tempting voice, I threw myself into improving my experimental server. I know you, ol’ Bear — if you get your hyperfocus honey pot, you won’t pay attention to voices anymore.
I fired up a dark window to “Honey Pot” street and brought to life my Shiny Bit-Brain Corporal Claude. I decided to do some testing with multiple scenarios to prove my router works well.
I was wrangling the server, curl-izing it by hand while Claude watched the logs. That gave good results — but when I asked Claude to generate curl commands for me, he was damn clumsy with formatting them (or maybe it’s just me), and I constantly stumbled on bash errors about some unrecognized command.
How hard can it be to understand, Bash? Take an example from Claude and use your wits. Bash didn’t, though.
So, using my deeply ingrained ingenuity — too late as usual — I told Claude to stop bombarding me, his manager, with silly tasks and go do the dirty work himself.
From that moment on, after each iteration that extended or corrected the server’s guts, I ordered kindly with sergeant’s confidence: “Fire the test and curl-ize this damn thing!” It’s like having your own platoon — except they don’t get wasted when you release them for the weekend.
Thank you Mr. Oliver Stone.
Step by step, bit by bit — maybe even byte by byte — we moved forward through the dense jungle of code. No GPS, just Claude and me.
Brothers in Arms.
I found an interesting article about Python that day — specifically a piece on [https://towardsdatascience.com/the-joy-of-typing/]. Coming from a C# background, my eyes practically wept tears of joy at the sight of actual typed variables and strict data validation in Python. It gave me a brilliant idea for an architectural refactor, just in case if some day I will need to look at the code written by Claude Code. So the refactor was scheduled and tests went on and on.
At some point during testing I noticed that my SVP panel had a serious flaw. It ran in the same process as the server, so whatever problem the server had, the panel caught it too — less intense than VD, but equally annoying to diagnose. Shared process, shared suffering. Time to get divorced.
SVP got its own life as a separate service, running as a sidecar alongside the main stormVINO server process.
From that moment it was easier to diagnose issues — server stats read from outside the main process were always available, even when the main thread was frozen. Positive side of an open relationship.
The next evening I didn’t have anything particular in mind, so I started fiddling with an image generation model.
It must be easy — I watched a YouTube video once where a girl used AI and it broke in the middle of the process. I got scared to death.
I don’t watch YouTube anymore.
But a private server is safe. No exotic beauties inside — I checked personally, because my HP Envy case is wide open constantly to let the Intel Arc B60 and my i7 CPU with its enormous cooler breathe. HP placed them so close together — NVMe drive wedged between that it’s practically submarine crew quarters — cozy, steamy, everyone breathing each other’s exhaust. Before the B60 joined the party, this loud, brutal monster RTX regularly pumped so much heat into the poor NVMe that the whole arrangement ended in thermal dead freeze.
Did I mention how hopeless the HP Blizzard motherboard is?
Did I add cramped casing to it?
Not using cramped, sealed casings with huge, powerful hardware should be as obvious as not bringing winter clothes to Da Nang in July.
Shame on you HP.
Graphics then. How hard could it be?
We went through discussion about cost of the project and decided to save on that functionality for now using sdxl-int8-ov (3.5 GB, INT8 quantized). Saving pointlessly on wrong features - very useful manager skill…
Twirly-whirly-wee and Claude made an endpoint for image generation.
Here we go Claude, make a curl query and ask for “a picture of a cute cat.” Resolution?
I don’t care as long as it’s visible. Picture came out:

Claude, did your mum have a thing for Andy Warhol? No?
Alright than this model seems heavily overquantised.
Let’s invite something better to give birth to my second cat: sdxl-fp16-ov.
Now try again, but harder. I already lost my interest in YouTube.
Save the cats for me.

Hmm right, it’s not Banana at least.
Enough Picasso dressing for ol’ Bear — I’m not an artist anyway — finito!
The only movie I’d want a part in was that one with the Blonde Lady and the flying dress. Andy Warhol would be proud of my first locally generated cat ever.
Wait a minute. Lady… Voice… Nicole!
Yeay! I was dreaming about a voice assistant. How hard could it be?
Claude says it’s easy so we can do it.
Mostly him of course, I’ll command from comfortable chair using my management skills. “We have a beach to conquer, Soldier”
I described to Claude that I wanted a fully local loop: STT → LLM → TTS, equipped with web search — which was actually implemented already.
We started as proper experienced engineers do.
From end to start.
We implemented TTS first because I was rushing to meet Nicole.
Probably you heard them say: true love doesn’t always strike at first sound. I saved on dating expenses, used Piper TTS, and met some less interesting personas along the way. Disappointment level similar to Tinder usage, just without the photos.
So I went to my fidel Claude to talk about girls .
Corporal showed enormous discipline on duty, avoided private talks, but responsibly nodded his head towards something named Kokoro.
I didn’t know that this TTS model hides inside some American girl, perhaps that’s the one from the movie? Blonde. Whispering. Figures.
Honestly usually I’m into brunettes but it’s just a voice.
Kokoro has 15 female voices (11 US / 4 UK accents). There are male voices too, ladies — I think I saw Barry White in there. Enough languages to fill a Tinder favourites of a globetrotter guy. Check the full menu yourself.
I chose Nicole to be my…No I didn’t!
I chose Kore as my assistant, because I like Asian food cooked at home.
Alright, engineer with unfinished geography diploma— next logical step in the process then, the start of course: STT choice.
Lesson learned here, I don’t save on quality anymore, model chosen: whisper-large-v3-int8-ov.
Add a small mic button in the SVP panel — make it look sexy Soldier, Nicole deserves it! Kore I shall say.
Fix it with invisible wire, and let’s test.

Of course it works from the start.
Of course it doesn’t.
Let’s blame HP for that. No mic on the Blizzard motherboard.
It was exactly 1:30AM so I called Logitech Taiwanese office in Hsinchu because they were open already. Three minutes later my USB Logitech camera was conscripted as a microphone.
Thank you Logitech, shame on you HP.
Press — speak — and wait. Wait.
Why doesn’t it respond?
Because it’s a great listener?
Doesn’t like to disturb?
Maybe but I know life.
In reality the silence detection threshold was too high. Fix it, Soldier.
Now it’s better — and surprisingly it works on the first try. Then it breaks on the third, talking Romanian when I’m speaking perfectly good Polish. Not everyone is so optimistic about it.
Those who’ve met me personally know I talk fast and overuse silly comparisons, slightly spicing them up with the most known Polish k-word. But it wasn’t me.
Whisper likes to know upfront what language is coming, or it sets itself to auto-recognition mode. This mode confuses Polish with Romanian sometimes.
Honestly Claude — don’t make BS excuses about vowel clusters similarity confusing language auto-detection. What does it even mean? I think it was because I asked three times for ‘HP-grade’ casing craft courses. In Polish. Three times.
Alright, I agreed to chalk some directional arrows for Mr.Nosy Whisperer. Turns out, he needs to know upfront what language is coming to work optimally. Claude spun his silicon bit-brain and added a tiny toggle to the SVP dashboard — allowing me to switch between Auto / EN / PL modes and starting to feed the explicit language parameter straight to the Whisper pipeline. This solved the issue of Whisper misidentifying my spoken words. I told you it’s not my fault, Claude. Manager is always right, right?

After a few clicks a new ghost appeared in the machine: even when Whisper decoded the Polish perfectly, the LLM server would occasionally decide to reply in English (or vice versa).
I’ve watched The Exorcist, and I know exactly what a machine speaking in multiple tongues means.
It was well after midnight, and since neither Claude nor I wanted to make enemies among spiritual beings, we called it a night and went to sleep.
I had a dream. White, ephemeral, tiny Angel was humming holy OpenVINO song. I asked for his name and he said: I’m TinyB.
Coming up in Part 4: How we performed a digital exorcism on the language-switching bug and finally achieved the holy grail: a fully local, voice-controlled assistant that doesn’t report back to Big Tech (and has Nicole’s voice sometimes).
Whatever more comes there is still in Hyperfocused ol’ Bear’s head.
Disclaimer: All opinions, thermal disasters, clumsy paws, voice choices and questionable purchasing decisions described here are exclusively ol’ Bear’s own. Intel makes good chips. Bear makes trouble and solves some of it for himself. These are separate and independent activities.
Originally published on Medium, 24 May 2026.