Hey there, I'm
Giovanni Aguirre

I’m a frontend engineer from El Salvador. Right now, I’m working at a leading telecom company, building and maintaining a UCaaS platform. I love digging into TypeScript and finding creative ways to solve problems and build awesome user experiences. I’m a huge fan of learning new things and taking on challenges—whether it’s exploring new frameworks, improving my skills, or just figuring out how to make stuff work better.

Experience

March 2024, Present

Ooma Inc, Frontend Engineer L2

  • Develop new modules for a UCaaS platform as part of an 8-person team, taking features from early requirements all the way to production.
  • Build cross-tenant applications and microfrontends that adapt to each customer's setup, collaborating with multiple teams to coordinate versioning and get their releases shipped.
  • Publish and maintain shared npm packages on top of our internal design system, so components stay consistent and reusable across every microfrontend instead of being rebuilt.
  • Use WebSockets to keep the UI in sync with real-time data, handling live updates smoothly without forcing full page refreshes.
  • Translate PRDs and design mockups into pixel-perfect, robust features, handling edge cases carefully before they reach production.
  • Review code to keep it clean, share ideas, and help the team write more readable, maintainable code through consistent feedback.
  • Use AI to speed up my workflow by building custom skills and plugins that automate repetitive tasks and cut down on boilerplate.

March, 2023, February 2024

2600Hz, Software Engineer

  • Implemented new features and maintained existing functionality for a UCaaS platform built with React microfrontends orchestrated through SingleSPA, keeping each app independently deployable.
  • Enhanced and supported a desktop application built with Electron, wiring main and renderer process communication and keeping it in sync with the web platform.
  • Proposed and built proofs of concept for new features, then worked with the team to turn the best ideas into production work.
  • Consumed real-time data events over WebSockets, optimizing data structures and the update flow so the UI stayed responsive under heavy event traffic.
  • Worked closely with product and design to translate requirements into shipped features, and reviewed code to keep it clean, consistent, and readable.

Education

Feb, 2019, Dec 2023

University of El Salvador, Bachelor's Degree in Computer Systems Engineering.

Cum laude

I studied Computer Systems Engineering at the University of El Salvador and graduated cum laude. The first semesters were heavy on math and physics, which is where I learned to break a problem into smaller pieces and work through it step by step. I also led a few team projects along the way, splitting up the work and keeping everyone on the same page. What stuck with me most, though, is a self-taught mindset: reading the docs, testing ideas on my own, and figuring things out instead of waiting for someone to hand me the answer.

Online Courses

  • Coursera, Python for Python for Everybody Specialization
  • Coursera, Intermediate PostgreSQL
  • Google Cloud Skills Boost, Develop Serverless Applications on Cloud Run.

Skills

  • React
  • Next.js
  • MongoDB
  • Drizzle ORM
  • Node.js
  • Express
  • Electron
  • Zustand
  • Typescript
  • Python

Volunteering

Feb, 2021, Dec 2022

Glasswing International, Robotics Instructor

  • Taught high school students the fundamentals of programming and robotics.
  • Guided students in developing abilities that will help to solve problems using algorithms and soft skills.
  • Collaborated in organizing and facilitating multi-school robotics tournaments.

Interests

Professional: micro frontend architecture, webRTC, websockets, API building, data science.

Hobbys: electronics, gaming, PC building, gym training.

Blog entries

September 23, 2026

Debugging WebSocket Connections from the Browser Console

Postman can't reproduce CORS or mixed-content errors, so it lies to you about WebSocket bugs. Here's a small console script that tests the connection in the one environment that matters: the browser.

September 23, 2026

Open a Folder in Zed From the Terminal (the `code .` Equivalent)

VS Code has code . to open a folder, but Zed's CLI isn't on your PATH out of the box. Here's a one-line fix using a symlink in ~/.local/bin, plus the commands that make it useful.

September 23, 2026

Simulating Packet Loss on Linux to Test Audio and Video

You can't wait around for real Wi-Fi to misbehave. Use tc and netem to drop incoming and outgoing packets on demand and see how your audio and video stack holds up.

May 1, 2026

Useful .bashrc Tweaks That Make Your Terminal Life Easier

A collection of practical .bashrc tweaks for navigation, safety, auto-correction, and shared terminal history that remove friction from daily terminal use.

April 30, 2026

Rescuing a 100% Full /var Partition on Linux

How to diagnose a full /var partition, clean up snap packages and apt caches, and use bind mounts to permanently move heavy directories to /home.

March 25, 2025

Syncing System Info from Electron in React with useSyncExternalStore

useSyncExternalStore is a not-so-popular React hook, but it's super useful for subscribing to an external source and storing its data—no useEffect or useState needed.

February 14, 2025

Cleaner JavaScript with Logical Assignment Operators (&&=, ||=, ??=)

A guide with examples on how logical assignment operators (&&=, ||=, ??=) in JavaScript simplify assignments.

January 30, 2025

How to disable internal microphone and camera on Linux

Disabling input devices can be required for privacy, security, or debugging. This guide provides the necessary commands to achieve it.

December 17, 2024

Reversing an integer mathematically in TypeScript

Reversing an integer is one of the most common problems for interviews. It can be easily done if we treat the number as a string, but there is a mathematical way of doing it...