← Blog

The Week My Projects Started to Converge

2026-06-14weeklyai-engineeringlocal-aiside-projects

Recap of June 8–14: three redesigns shipped, a hostile code review, a local AI lab, and the growing sense that all my projects are telling the same story.

The weekend as a test bench

I move my projects forward on weekends, and this Sunday, sitting down to recap, I noticed something I'd missed all week: my projects are no longer separate experiments. They're starting to tell a single story — that of a backend engineer building for the AI era.

This post crosses three views of the week: what actually shipped, what I explored in local AI infrastructure, and the overall state of the portfolio. Not everything shone. Some things also broke.

Highlights — what shipped

Backend to the Future got a real redesign, not a reskin. The lab site now leans on a design system as the source of truth: spacing, color and typography stop being guesswork. On top of that, a bilingual blog (Spanish/English) wired to the existing language toggle, so every article switches live with the rest of the UI, and a project showcase with TokenMeter front and center. It all shipped as PR #1.

diegobarrioh.dev was rebuilt with one specific reader in mind. Not in the abstract: a technical recruiter or an engineering team seeing me for the first time. That constraint changed every decision — the hero floating unframed, CTAs with real icons (CV PDF, LinkedIn, GitHub, Let's Talk), responsive behavior that holds on mobile without the image shoving the title around. The most interesting call was the CV: ChatGPT had drafted a markdown redesign of it, so the natural move was to render /cv as markdown instead of a hand-built page. The CV now points at the real work: TokenMeter and Backend to the Future with live links, the Local AI Lab on an NVIDIA RTX 3060 with 12 GB, the models tested (Qwen 3.5, Gemma 3, Llama 3.1, DeepSeek R1, Mistral Nemo), and akademia as a featured project with its honest stack: RAG-based question generation using OpenAI embeddings through OpenRouter, and a Stripe-backed store for study guides.

I pointed a senior code review at akademia and asked it to read the code like a hostile stranger. No matters of taste — real defects: race conditions, silently swallowed errors, type coercions hiding failures, dead config and dead code. It found plenty. I worked through it in reviewable batches on a fix/codebase-review branch split across PRs, and closed with release discipline: aligning develop and main, a clean back-merge, and cutting release 1.3.0 with git flow.

What I explored — the harness matters more than the model

In parallel I kept building a local AI lab on the hardware I already own. The week's lesson: the model is only one piece. Running a useful coding assistant isn't loading a model into Ollama; it's the harness around it — access to files, terminal, test execution, search, context management and tool calling. On the RTX 3060, 7B–14B models are perfectly practical; VRAM is still the bottleneck, and tool integration matters more than any benchmark ranking. I also explored how agents authenticate against commercial providers via OAuth instead of API keys, and how to inspect quota and react to limits — unglamorous topics that, as the tooling matures, look more and more like classic backend engineering.

The portfolio underneath

Beyond what shipped, the whole moves on several fronts: DBHLABS, an ecosystem of autonomous agents to automate the development lifecycle (Spring Boot, PostgreSQL, React + Vite, integrating Jira, GitHub and isolated Docker environments); ExoDrill Escape, a platformer with low-poly Blender assets and an open technical decision on the engine (Godot vs Unity); and akademia refining its MVP of dynamic flashcards over study material with RAG. Different fronts, same root: building with AI as the workflow, not as a novelty.

The detail that mattered

A bug that looked cosmetic wasn't. A container class used the CSS shorthand padding: 0 28px, which silently zeroed the vertical padding on every section using it; Tailwind's py-* utilities were overridden by layer precedence, and entire sections lost their breathing room for no obvious reason. The lesson is old but keeps insisting: a shorthand doesn't just set what you typed, it resets everything you didn't.

Lowlights

Not everything was smooth. Closing the release with git flow tripped on tagging: git flow release finish failed with fatal: ¿sin mensaje de tag? because the tag had no message and couldn't be created non-interactively — automation around git is great until it hits the one interactive prompt it can't answer. Off the code, a strange Mac Mini failure made macOS audio devices vanish (it resolved itself while preparing a reboot: sometimes the best debug tool is still restarting the thing), and I kept investigating odd network behavior where a corporate laptop seems to affect every other device — CrowdStrike, Zscaler and FortiClient remain suspects, with no confirmed root cause.

The thread connecting everything

Seen coldly, the week wasn't a set of disconnected tasks. The same ideas resurfaced in every repo: a local AI lab on consumer hardware, AI-assisted development as the actual workflow, and tools like TokenMeter and akademia that exist because I build this new way. Even the division of labor was multi-model — ChatGPT drafting the CV, Claude and Fable doing the building, each playing to its strength.

Takeaways

What's next

The pieces are converging on their own, so the next step is to lean into it: make the workflow where local and cloud models cooperate explicit instead of incidental, and let each tool do what it's best at. The site, the CV and the projects are all starting to say the same thing — and it's more interesting than any of them said separately.