$ whoami

Rezki Nasrullah

Backend Engineer ·

Jakarta, Indonesia · open to interesting backend work

I’m a backend engineer with 10+ years of experience in NestJS, Go, ASP.NET Core, and PostgreSQL. Most of my work is making existing systems faster, easier to operate, and less risky to change. Recent examples include cutting query latency by 99% and deployment time by 75%.

I usually start with the bottleneck in front of me: a slow query, an unreliable job, a deployment that takes too long, or a system nobody wants to touch. The fix is often indexing, better boundaries, caching, or a smaller change—not a rewrite.

I’m based in Jakarta and work with teams across Singapore and Southeast Asia on fintech, enterprise SaaS, and high-traffic consumer products.

years building backends
10+
p95 cut on last gig
99%
deploy time reduced
75%
based in
Jakarta, Indonesia
TypeScriptJavaScriptGolangC#PHPSQLNestJSASP.NET CoreLaravelGoFiberNuxt.jsNext.jsPostgreSQLMySQLSQL ServerRedisMongoDBGCPAzureDockerGitLab CI/CDSonarQubeApache KafkaRabbitMQHangfireSolidityDevExpress XAFPower BI EmbeddedTypeScriptJavaScriptGolangC#PHPSQLNestJSASP.NET CoreLaravelGoFiberNuxt.jsNext.jsPostgreSQLMySQLSQL ServerRedisMongoDBGCPAzureDockerGitLab CI/CDSonarQubeApache KafkaRabbitMQHangfireSolidityDevExpress XAFPower BI Embedded

$ cat skills.json

  • TypeScript
  • JavaScript
  • Golang
  • C#
  • PHP
  • SQL

$ git log --oneline career

  1. Backend Developer @ D3labs.io

    Remote — Singapore

    • NestJS
    • PostgreSQL
    • Redis
    • Docker
    • GCP
    • Built a dynamic RBAC layer for fine-grained permissions across internal services.
    • Tracked a PostgreSQL bottleneck from a 20-second p95 to the underlying queries, then used indexes, rewrites, and caching to bring it down to 200ms.
    • Shortened Docker builds and cold starts with multi-stage images and uv.
    • Moved environment configuration into one system instead of keeping values hardcoded in individual services.
  2. Backend Developer @ Berlian Sistem Informasi

    Jakarta, Indonesia

    • ASP.NET Core
    • Hangfire
    • SQL Server
    • Redis
    • Azure
    • Docker
    • Built an internal feature-flag service so we could roll changes out gradually and run A/B tests without redeploying.
    • Moved backend services from VMs to containers; average deployment time fell from about two hours to 30 minutes.
    • Replaced the in-memory cache with Redis and rewrote the SQL Server queries on the hot paths, improving API response time by 80% under load.
    • Implemented round-robin lead assignment to spread incoming leads across agents instead of overloading a few of them.
  3. Fullstack Developer @ Garuda Cyber Indonesia

    Pekanbaru, Indonesia

    • Laravel
    • Go
    • Nuxt.js
    • MySQL
    • Redis
    • GitLab CI/CD
    • Built a multi-bank integration API for campus finance systems. It served more than 33,000 users with sub-two-second responses.
    • Automated payment verification end to end, reducing manual work by about 90% and removing reconciliation errors.
    • Introduced GitLab and a real CI/CD pipeline where releases had previously used manual FTP and no version control. Release time dropped from hours to one or two minutes.
    • Rebuilt a high-traffic news portal from Laravel 5 to Go, Nuxt.js, and Redis. Normalizing the schema and fixing the slow paths reduced page load from about a minute to under a second.
  4. Fullstack Developer @ Sistem Multi Solusindo

    Pekanbaru, Indonesia

    • DevExpress XAF
    • C#
    • SQL Server
    • Worked on ERP modules built with DevExpress XAF and SQL Server.
    • Fixed production bugs and made stability improvements in a client-facing environment.

$ ls ~/projects

Shoebox

2Aug 2026 — Present

An embedded Go message queue with memory, SQLite, and Postgres storage. It gives small services retries and persistence without a broker.

  • Go
  • SQLite
  • PostgreSQL
  • Runs in-process: call shoebox.Enqueue("orders", payload) without setting up a broker or Docker container.
  • Uses Memory for speed, SQLite for durable single-process workloads, or Postgres with FOR UPDATE SKIP LOCKED for multiple instances.
  • Reclaims messages left in processing after a crash and puts them back in pending.

Query Plan Analyzer

Aug 2026 — Present

A Go tool for reading PostgreSQL and SQL Server query plans, flagging common bottlenecks, and getting an optional LLM explanation.

  • Go
  • PostgreSQL
  • HTMX
  • Docker
  • SQL Server
  • Accepts PostgreSQL EXPLAIN ANALYZE output and SQL Server execution-plan XML, then detects the input format.
  • Uses small, database-specific rules to flag sequential scans, implicit conversions, missing indexes, and planner misestimates.
  • Streams optional analysis from multiple LLM providers over SSE.

PRUV.Finance

Apr 2025 — Present

NestJS and PostgreSQL services for tokenized asset issuance and redemption, with Solidity contracts handling on-chain ownership.

  • NestJS
  • PostgreSQL
  • Solidity
  • Google Cloud Storage
  • Docker
  • Modeled issuers, assets, supplies, redemptions, and audit events in PostgreSQL.
  • Connected the off-chain lifecycle to Solidity minting and redemption flows, with daily reconciliation.
  • Replaced a manual release checklist with GitLab CI for linting, tests, and canary deploys.

Mitsubishi Salesforce ID

Oct 2024 — Mar 2025

Backend services for Mitsubishi’s dealer sales app, covering lead management, reporting, Salesforce sync, and performance work.

  • .NET Core
  • Hangfire
  • SQL Server
  • Redis
  • Azure Storage
  • Docker
  • Built the .NET Core services behind lead ingestion, distribution, performance tracking, and reports.
  • Tuned SQL Server queries and added Redis caching; report responses dropped from 2–3 seconds to under 400ms.
  • Moved nightly aggregation and Salesforce reconciliation into retryable Hangfire jobs.

Certe.ID

Jan 2023 — Jun 2024

A Laravel and MySQL platform that lets universities run their own TOEFL-equivalent English tests, from registration through results.

  • Laravel
  • MySQL
  • Bootstrap
  • Built the admin, test-taker, and results workflows for university-run exam sessions.
  • Added time limits, single-attempt rules, browser controls, and institution-specific scoring rubrics.

LancangKuning.com

Mar 2023 — Mar 2024

Rebuilt a slow Laravel 5 news portal with Go, Nuxt.js, MySQL, and Redis. Page load dropped from 45–60 seconds to under 1 second.

  • Go
  • Nuxt.js
  • MySQL
  • Redis
  • Replaced the Laravel 5 backend while keeping the existing content and editorial workflow.
  • Normalized the database, added full-text indexes, and used page and fragment caching to bring load time below one second.

SmartCampus.co.id

Jun 2023 — Jun 2024

A shared Go and MySQL backend that runs several university environments while keeping tenants isolated.

  • Next.js
  • Go
  • MySQL
  • Led backend and frontend work across authentication, learning modules, and content delivery.
  • Designed tenant isolation around a shared Go and MySQL schema, with tenant context on every request and query.
  • Modeled institutions, users, courses, and resources with indexes and foreign keys for the common tenant-scoped queries.

$ education --list

  1. Universitas Muhammadiyah Riau

    Aug 2015 — Aug 2019

    Pekanbaru, Indonesia

    Bachelor's Degree · Computer Science

    Coursework: Software Engineering, Databases, Artificial Intelligence, Machine Learning.

$ tail -n 3 ~/writing.md

Latest from my Substack.