AI

Transform Your Coding with Gemini CLI: A Local AI Assistant

Every developer has a moment mid-flow when they break concentration to look up a flag, debug an error, or Google that one awk trick they always forget. It’s death by context switching — and the browser is the grim reaper.

That’s where Gemini CLI comes in.

It’s not just another AI chatbot ported into a terminal.
It’s an embedded, context-aware development assistant that lives alongside your code, speaks your language, and remembers what you’ve worked on — locally.
No browser tabs, no copy-paste gymnastics, no handing your project to the cloud gods.

When choosing an AI coding assistant, developers have several strong options to consider.
Claude Code offers sophisticated reasoning and natural language understanding, excelling at complex problem-solving and architectural decisions through its command-line interface.
OpenAI Codex, which powers GitHub Copilot, integrates seamlessly into popular IDEs and has been widely adopted for its reliable code completion and suggestion capabilities.

Google’s Gemini stands out with its multimodal capabilities and strong performance across various coding tasks, while offering a particularly appealing advantage for developers just getting started: it’s available for free.

This makes Gemini an excellent entry point for newcomers who want to explore AI-assisted development without any initial investment, allowing them to experiment and learn before committing to paid tools as their needs grow.

Let’s unpack how Gemini CLI changes the game for developers, how to use it effectively, and where it still falls short.

Continue reading →
Standard
Chrome, JavaScript, webdev

Building a Real-Time Pull-Up Tracker: How I Taught The Browser to Count Our Pain

It started as a simple idea my son brought up: Can we make a web app that counts our pull-ups during our pull-up games?

Turns out, teaching a machine to recognize human suffering is both hilarious and complicated.
What began as a “let’s make a quick pull-ups app” spiraled into an intense journey through computer vision, browser quirks, and a few accidental infinite loops that made our laptop sound like a jet engine.

The “Simple” Goal

I wanted to automatically count pull-ups using a web camera.

Easy, right?

Just detect a human, see when they go up and down, and count.

Continue reading →
Standard
Business, life

Nine Mental Models to Stop You from Making Dumb Decisions

We all think we’re rational.

We’re not.

Most of the time, most of the people are just apes with phones making pattern-matching errors at scale. If you aren’t sure, just look around.

Shane Parrish’s The Great Mental Models, is a antidote — a toolkit for thinking clearly and making fewer stupid decisions. Hopefully.

Btw, I wrote about it in the past as I ‘took’ ideas from the great Charlie Munger:

Below are nine models I keep coming back to, rephrased for the real world (and with fewer academic eyebrows raised).

Continue reading →
Standard
cloud, webdev

5 Essential Security Moves Every Startup & SMB Must Make to Prevent Cyber Attacks

If you’re working at a startup or SMB, you might think “we’re too small to be targeted.” You might believe that cyber attackers only go after Fortune 500 companies with deep pockets and valuable data worth millions.

That assumption could destroy your business.

Here’s the uncomfortable truth: attackers don’t discriminate by company size.
They discriminate by vulnerability.
And right now, small and medium-sized businesses represent the softest, most lucrative targets in the entire threat landscape.

Here are the top 5 things you should do.
Right now.

Continue reading →
Standard
cloud, Design, JavaScript, webdev

Building Resilient Microservices for Bootstrapped Apps 🏃🏼‍♀️🚵🏼

Out on the trail, your phone isn’t plugged into a wall. Every network ping drains battery. Every background process steals CPU cycles that could keep your GPS running for another hour.

In my previous post on the GPX Water Mapper, we explored visualizing water sources along your route. Now we’re going under the hood: designing a microservices architecture that respects the constraints of outdoor apps—where a dead battery isn’t just inconvenient, it’s potentially dangerous.

Imagine getting a real-time hydration alert as you approach mile 12 of your desert bike ride, calculated from your current pace, the temperature, and known water sources ahead.
All while using less battery than a typical podcast app.

What we’ll build:

  • A microservices approach that actually makes sense for small teams
    (spoiler: not everything needs to be a service – moreover, in many cases you should avoid it and run on a monolith)
  • Event-driven patterns that keep your app responsive without constant polling
  • Node.js implementations you can deploy on minimal infrastructure
  • Real-world trade-offs: when to split services and when a monolith wins

Continue reading →
Standard
Business

10 Startup Lessons from David Deutsch’s The Beginning of Infinity

David Deutsch’s The Beginning of Infinity isn’t a business book. It’s a bold meditation on science, philosophy, and human progress. But buried in its pages are principles that can reshape how startup leaders think about building companies, products, and cultures.

Startups are problem-solving machines.
Problems never stop coming; solutions never stop creating new challenges. That cycle is the essence of growth. Deutsch gives us a framework for seeing this not as a burden, but as the path to infinity.

Here are ten core lessons from the book, translated into practical guidance for startup leadership, with examples of how a CTO might put them into action.

Continue reading →
Standard
Business, webdev

Scaling Engineering Teams: Lessons from Google, Facebook, and Netflix

After spending over a decade in engineering leadership roles at some of the world’s most chaotic innovation factories—Google, Facebook, and Netflix—I’ve learned one universal truth: scaling engineering teams is like raising teenagers. They grow fast, develop personalities of their own, and if you don’t set boundaries, suddenly they’re setting the house on fire at 3am.

The difference between teams that thrive at scale and those that collapse into Slack-thread anarchy typically comes down to three key factors:

  • Structured goal-setting
  • A ruthless focus on code quality
  • Intentional culture building

Let me share some lessons I learned from scaling teams at Google, Facebook, and Netflix. Here are a few frameworks, metrics, and tools that actually work when you’re trying to scale from 10 to 100 to 1,000+ engineers—without losing your mind or your best people.

Continue reading →
Standard
Sport

Find Water (And Coffee) Along Your GPX Route Easily

As the old proverb says:

“To find water, follow the path of the antelope.”

But in other cases, when you are planning a long ride, hike, or bikepacking trip and wondering where you can safely refill water? GPX Water Mapper helps you find potable water sources along any GPX route — quickly, privately, and for free.

Try it, explore the code, and join the (dev) community:

Continue reading →
Standard
Business, JavaScript, webdev

Craft Exceptional Web Experiences as a Full-Stack Engineer

At EspressoLabs.com, we’re on a mission to redefine the future of IT/Security management through exceptional user experiences and cutting-edge technology.
We believe that enterprise software should not only be powerful and scalable but also intuitive, elegant, and a joy to use.

We’re building a platform that merges AI-intelligence with seamless design—and we’re looking for a Full-Stack Developer who shares our passion for creating meaningful, impactful technology.


Continue reading →
Standard
Design, webdev

Essential System Design Tips for Startups

You’re launching your first startup… Well, Congrats!

Whether it’s a SaaS invoicing tool, an e-commerce shop for handmade goods, or a new social app, you’ll quickly hit a truth: system design is your blueprint.

Done right, it makes your app boringly reliable. Done wrong, you’ll spend more time firefighting than building features.

This post is based on Sean Goedecke’s excellent piece on system design, reshaped with a founder’s lens: lean, practical, and ready for bootstrapped growth.


Continue reading →
Standard