My introduction to hands-on AI experience was with Ollama. After the initial excitement of being able to communicate via the keyboard, with what for all intents, was a font of unlimited knowledge, its limitations became apparent - it's purely text-based, able to offer thought-provoking prose on a vast number of subjects, but not much else. True, you can tell the LLM operating behind the scenes to do some coding for you, but you cannot submit your own code, or anything else for that matter - it's up to the LLM's 'front-end', Ollama in this instance, to provide an interface to its capabilities. Which Ollama does not offer (the 'out-of-the-box' Ollama anyway!).
Enter Unsloth. This looked a far more rewarding front-end, offering microphone input, coding (sand-boxed execution), Thinking and most important, the ability to upload files! Whereas Ollama is Terminal-based, Unsloth features a sleek GUI-based interface. Those are the highlights, it's all uphill from here...
...and it's mostly down to my crummy hardware, which took ages to figure out! From the get-go, it crashed constantly. Ask a handful of questions, and by the tenth one, it'd freeze up. I've only just discovered, within the last day or so, the underlying cause - yep, my hardware! But thanks to Unsloth's comprehensive configurability setup, a fix was discovered - change the 'Compute back-end' from Vulkan to CPU, yes, that easy! The downside is that a working LLM consumes significantly more power, from 80W up to 110W. But no more crashes, which is the main consideration!
Enter Vibe-coding. With Unsloth finally running reliably, I figured it was time to check out this vibe-coding lark. I wasn't expecting much to be honest, mainly because of the hardware situation (Intel 13th gen, i7, 16 core), which severely limits what LLM's qualify. I had already tried a 27B parameter Qwen model, Qwen3.8-28B-GGUF, but it had proven unusably slow. I ended up with the sickly runt of the litter, Gemma4-E2B-it-GGUF, chosen by Unsloth as the 'best-hope' choice that my meager hardware could handle.
Which proved a disaster. The token throughput proved pretty decent, about 5-6 per/sec, so usable for the small task I proposed - "vibe-code me a Linux app that could download the icecast stream directory, segregate them into user-selectable, Ogg, mp3 & Aac categories, before finally, playing a random stream from the selected category. Easy-peezy, or so I thought! The light-weight LLM proved hopeless - the number of times it came up with lines like, "this is the final, final version, guaranteed to work" almost had me screaming! It would take one step forward, producing executable code, only to back-pedal and produce an unusable mess at the next attempt. It was also about the time I started looking for pointers from Gemini 3.6 Flash.
The first piece of advice I was given was that if I was looking for an easy vibe-coding starter experience, starting by basing a media player on the SLD2 media player library, was not the way to go. While it hadn't been my choice, I told Gemini to carry on and tell me more! And it was all downhill from then on! It also was decided that it was going to be a terminal-based player, so not snazzy, but usable nonetheless. The difference between these two LLM's is like the difference between night & day. Gemma4 for instance, managed (at most) to successfully download the icecast stream directory, but it could go no further, mostly down to SDL2 issues. Give the code produced by Gemma to Gemini, and Gemini could flawlessly edit it for further development. Whereas every time I tried the opposite, Gemma would get hopelessly muddled. Long story short, Gemini had a working player up & running in short order.
Gemini also is a pleasure to instruct, Gemma4 a nightmare. I kept waiting for Gemini to tell me that if I wanted any more coding done, I'd need to start buying tokens but it never happened (yet), not even a prompt. I had tried the free version of Claude a while back and the "Sign up for tokens to continue" command occurred after just a few questions, never mind coding an app. Another thing that surprised me about Gemini was its self-introspection, its readiness to admit, without prompting, that it had been hallucinating. So overall, a pleasurable first vibe-coding experience. You would need to be a real vibe-coding aficionado to try vibe-coding something complex, on a local setup with a slow computer setup - which, where LLM's are concerned, applies to about 95% of the hardware out there - Gemini 3.6 Flash is blazingly fast, and it still took 'us' hours to code this small application. I still think of LLM's as some kind of magic - how 'predicting the next word' algorithms can do stuff like this will always be beyond me. If anyone wants to see my first vibe-coded app in operation, you can download it from here.
