← Selected work

GO / BACKEND DEVELOPMENT

Go Banking Backend

A production-style banking service built around transactional data, authenticated APIs, and asynchronous work.

PERSONAL PROJECT · FEBRUARY–MARCH 2026View source on GitHub ↗
GO BANKING BACKEND01 / ARCHITECTURE
↗
REST + gRPC clientsOne service. Two interfaces.
request / response
Go
Banking APIGin · gRPC Gateway · auth
▤PostgreSQLSQLC + transactions
≋RedisAsynq task queue
↳ Background workers · email notifications
Docker → GitHub Actions → AWS EKSExplore

Architecture overview

THE BUILD

What the service does.

Built RESTful APIs for account management, balance tracking, and money transfers using Go and Gin. The service also exposes gRPC APIs through gRPC Gateway, supporting HTTP and gRPC clients.

01

Data consistency

Designed the PostgreSQL schema and implemented database access with SQLC. Transaction handling addresses isolation levels and deadlock prevention for consistent financial operations.

02

Authentication and sessions

Implemented JWT and PASETO authentication, session management, and secure refresh-token cookies. Authentication is part of the API flow rather than an isolated interface feature.

03

Background processing

Used Redis and Asynq for asynchronous task processing and email notifications, alongside structured logging and graceful server shutdown.

04

From service to deployment

Containerized the service with Docker and automated testing, builds, and deployment using GitHub Actions. Deployed to Kubernetes on AWS EKS with secrets, ingress, HTTPS, and automated TLS certificate management.

This is a portfolio project demonstrating backend engineering practices; the production application metrics on the homepage refer to my work at Galaxy.ai.

KEEP EXPLORING

NyayaConnect Discuss my work ↗