Backend developer in Go, Bali, Indonesia

Go backends, built to be read, tested, and run.

I am Khairul Aswad, a backend developer working in Go. I came from networks into software, and I build the parts users never see: APIs, data models, and the tests that prove they hold up. Based in Bali, Indonesia, and open to relocating for the right backend role.

Currently building in Go, PostgreSQL, Redis, and Docker. The work below is linked to its repository wherever one exists.

GEOSEARCH radius 1 kmsos-allert-be, Redis geospatial
POST /topup/initializeewallet, Go and Fiber
migrate up, then seedstockflow-test, PostgreSQL

How I work

Three habits, each tied to a project below. If a habit does not show up in the work, it does not belong here.

Start from the data model

In the SOS alert backend, a user location is stored once, as a Redis geospatial entry, and the database is only hit when an alert is actually triggered. The shape of the data decides what the rest of the system has to do.

Test the hard part first

Distance, expiry, and filtering are where the SOS feature can quietly go wrong, so the repository and use case tests come before the notification gateway. The gateway starts as a stub that logs its recipients, and the real provider comes later.

Keep the surface small

The e-wallet API is split into clean-architecture layers so a top-up, a transfer, and an email notification can each change without pulling the others apart. Small surfaces are easier to review, and easier to trust.

Selected work

Newest first. Every repository link goes to the code as it stands on GitHub. Client work without a public repository is marked as such.

SOS Alert backend

A realtime SOS feature that notifies users within 1 km of an alert, shows the reporter location, and records triggered alerts for audit.

  • Redis geospatial storage with GEOSEARCH for nearby users, replacing a Haversine check in the use case.
  • Filtering for inactive users, with alert records kept in the database only when an alert is triggered.

Stockflow test

A Go backend for products, stock movements, and sales orders, run locally with Docker Compose and PostgreSQL.

  • Database migrations with golang-migrate, plus seed data for products.
  • Product search using the latest movement time from stock movements.

Sales and inventory, CV Bersyukur Nalar Luas

A tailored sales and inventory web solution built to match the business process, with a Svelte frontend and a Golang backend.

  • Custom template engine, MVC architecture, and a custom ORM built with in-house libraries.
  • Tarantool for high-performance operations, and ClickHouse logging every data change in real time for analytics and auditing.
Client work, no public repo

E-Wallet API

An e-wallet service in Go using clean architecture, with top-up, transfer, login, and transaction notifications.

  • PIN-based authentication and a custom token-based system for sessions and API security.
  • SMTP email notifications for transactions and account activity.

Shipping provider, TokoBapak

A shipping-provider feature that calculates cost from weight and distance, built with dependency injection and unit tests.

  • Geospatial distance calculation with the Haversine formula.
  • Unit tests for every developed feature, written with Testify.

More on GitHub, including learning repositories: golang-redis-api-example, golang-rabbitmq, and simplebank.

Latest on GitHub

This section loads the newest public repositories from GitHub every time the page opens. It does not change the selected work above. Each paragraph uses that repository's own description or README, plus its language and last push date. If a repository has no description or README, the paragraph says only what GitHub records about it.

Loading the newest repositories from GitHub...

Experience

As listed on my resume. Percentages below are the resume figures for that work.

Apr 2025 – May 2026

Junior Software Engineer

CV Bersyukur Nalar Luas, Bali, Indonesia

  • Built the sales and inventory frontend in Svelte v4, integrated with a Golang backend through a custom template engine.
  • Delivered a web solution matched to the business process, with a 10% increase in key performance metrics.
Aug 2024 – Jan 2025

Frontend Developer, freelance

Bone, Indonesia

  • Built an Islamic boarding school website in Next.js and Contentful, with a blog and dynamic content management, helping increase registrations by 20%.
  • Designed and developed a tailoring business website to showcase sewing work and support advertising, and managed a WordPress site for a national investment project.
Apr 2024 – Jul 2024

Junior Software Engineer

PT Enigma Creative Indonesia, remote

  • Assisted in developing a SQL firewall tool to prevent database attacks such as SQL injection.
  • Designed and implemented security measures that reduced potential attack vectors by 40%.
Education

State Vocational High School 1 Bone, Indonesia

High School Diploma in Computer and Network Engineering, May 2020 – Aug 2023. Coursework: networking, programming, web development, and design.

Stack

What I have used in the work above, and in current learning repositories. Nothing here is a claim about a tool I have not touched.

Languages
Golang, JavaScript, Dart
Frameworks
Svelte, React, Next.js, Fiber, Flutter
Databases
PostgreSQL, MySQL, Tarantool, ClickHouse, Redis
Tools
Git, Docker, RabbitMQ, VS Code, Windsurf

Hiring for a backend Go role? Start with the repos, then write to me.