Full-Stack Development Services

Full-Stack Development Experience Showcasing 10+ years of proven experience building robust, scalable applications for top-tier companies like LeagueApps, DapperLabs, InVision, and Roblox. Specializing in Go, React, TypeScript, and Node.js. Currently focused on my role at LeagueApps and not accepting new projects. 🔧 What I Build Microservices Architecture Design and implement distributed systems API Gateway and service mesh integration Container orchestration with Docker & Kubernetes Event-driven architecture patterns Modern Web Applications React frontend applications with TypeScript Responsive UI with Tailwind CSS RESTful and GraphQL API development Real-time applications with WebSockets Node.js backend services and Go microservices System Integration Third-party API integrations Legacy system modernization Data migration and transformation Message queue implementation (RabbitMQ, Kafka) DevOps & Infrastructure CI/CD pipeline setup Infrastructure as Code (Terraform) Monitoring and observability Performance tuning and optimization 📊 My Expertise Leadership & Scale: ...

August 24, 2025 · 3 min · 531 words · Hector Yeomans

How to Use GORM and Golang Migrate

Introduction This guide demonstrates how to set up and use GORM with Golang Migrate to manage your PostgreSQL database. Follow along to see the code in action and get your environment running. Prerequisites Go installed on your system. Docker installed and running. Project Structure Here is the final directory structure: . ├── .env ├── Makefile ├── cmd │ └── cli │ └── main.go ├── docker-compose.yml ├── go.mod ├── go.sum └── internal ├── db │ └── migrations │ ├── 20240608192206_create_users_table.down.sql │ └── 20240608192206_create_users_table.up.sql ├── models │ └── models.go └── repositories └── repositories.go 8 directories, 10 files Step 1: Initialize Your Project 1. Initialize the Go module: ...

June 7, 2024 · 4 min · 850 words · Hector Yeomans

Golang and interfaces misuse

One of my favorite things about Golang is the concept of interface. It’s also one of my grievances every time I see them used as C#/Java interfaces. It’s typical to see a colossal interface defined at a package level file, for example, a package that defines CRUD operations for a User. package db import "context" // User -- type User struct { ID int Email string } // UsersDb pointless interface type UsersDb interface { Get(ctx context.Context, id int) User Create(ctx context.Context, user User) User Update(ctx context.Context, id int, user User) User Delete(ctx context.Context, id int) bool } //... then we have the actual struct that "implements" the interface What benefit does this bring to the package? Some say mocking capabilities. From what I’ve seen to mock that kind of package, you need a generator that generates and updates the mocks. ...

January 18, 2020 · 3 min · 606 words · Hector Yeomans