Hendriyan Ogivano
Open to new opportunities - remote or relocation

Hendriyan Ogivano

Full Stack Software Engineer

I lead delivery on software that organisations depend on daily. When something breaks, I'm the one who finds out why, ships the fix, and writes the explanation the client reads. 8 years of that, currently at Kinobi, on a platform used by more than 50 client organisations.

The expensive mistakes are rarely technical. Usually someone built exactly what was asked for instead of what was needed.

How I work.

I care about clean code and fast queries. I care more about whether the thing we built solved the problem someone actually had.

At Kinobi I build for universities and career centres. I'm not in their meetings, but I read the support tickets, the feedback and how people use the product, and most of what I build starts there rather than from a spec handed to me.

Before this I mentored 35+ engineers and ran bootcamp tracks, and won a couple of international hackathons back when I was a student. These days I pair with Claude on a lot of work. It's a real speed-up on the mechanical parts and no help at all on deciding what's worth doing.

8
Years of experience
50+
Enterprise clients served
79k+
End users supported
35+
Engineers mentored

Technologies

TypeScript Vue.js Nuxt.js Node.js Express MongoDB PostgreSQL Laravel TailwindCSS AWS Ionic Git

Where I've worked.

  1. Software Engineer · Kinobi

    Jan 2023 – Present
    Full Time · Singapore · Remote

    B2B SaaS career platform used by universities and career centers across Singapore and Indonesia.

    • Lead most feature work on a multi-tenant platform used daily by 50+ client organisations. I scope it, set the technical direction, and stay with it through deployment and on-call.
    • Take client performance escalations end to end. I dig through Grafana and Loki, find the cause, ship the fix, and write the explanation the client reads. One aggregation went from 3 to 6 seconds down to under 200ms in stress tests over 500k records.
    • Moved platform search off regex collection scans onto MongoDB Atlas Search, rolled out per read path behind flags after benchmarking both. Index provisioning runs as automated Kubernetes jobs.
    • Built a daily-rollup and single-flight caching layer behind 100+ analytics panels. A 30-day aggregation over 5M test rows now answers in about 125ms.
    • Rebuilt the email pipeline after a bad mass-send. Global suppression list, an authenticated bounce webhook, a circuit breaker that stops a bad campaign inside 200 sends, and an admin screen to manage it.
    • Ran a 2M+ record migration with no downtime. Built bulk CSV import for users, jobs, offers and placements so clients can load thousands of records without us.
    • Built a load-testing harness reporting per-page p95 and p99, then packaged it so QA runs performance checks without me.
    Nuxt.jsVue.jsNode.jsExpress.jsMongoDB
  2. Front-End Engineer · Schoters

    Mar 2022 – Dec 2022
    Full Time · Jakarta, Indonesia · Remote

    Edtech platform helping Indonesian students prepare for study abroad.

    • Named Best Employee for Q3 2022 after a quarter of hard release deadlines.
    • Built and maintained the Study Abroad Academy and video conference platform, serving 6,500+ student learning hours per month.
    • Rebuilt the busiest learning flows so content staff could update lessons themselves. Got engineers out of the loop and courses out faster.
    Vue.jsNuxt.jsTailwindCSSVuetify
  3. Backend Engineering Mentor · Full Stack Bangalore

    Oct 2022 – Nov 2022
    Freelance · Indonesia · Remote

    Coding bootcamp training junior developers into job-ready full-stack engineers.

    • Ran the backend track for 15+ students, from fundamentals through to deploying working Express APIs.
    • Reviewed every capstone project so the bootcamp could stand behind its graduates.
    Express.jsJavaScript
  4. Backend Engineering Mentor · Ruangguru

    Feb 2022 – Jul 2022
    Freelance · Jakarta, Indonesia · Remote

    One of Southeast Asia's largest edtech companies.

    • Mentored 20+ engineers on Go, Git and engineering fundamentals in an internal upskilling program.
    • Reviewed assignments and pull requests, catching the kind of mistakes that cost you in production.
    GolangGit
  5. Back-End Developer · BuildWith Angga

    Aug 2021 – Feb 2022
    Full Time · Bandung, Indonesia · Remote

    Online learning platform making quality IT education affordable in Indonesia.

    • Kept a platform serving 79,000+ users healthy. Diagnosed performance problems and shipped fixes without taking it down.
    • Took backend features from spec through to deployment.
    LaravelPHPMySQL
  6. Front-End Engineer · Monster Group

    Nov 2020 – Aug 2021
    Full Time · Surabaya, Indonesia

    ICT consultancy building digital products for enterprise clients.

    • Shipped features across the company's whole client portfolio, keeping quality even across several codebases.
    • Packaged web apps as native mobile builds with Capacitor, so one product shipped to iOS, Android and web.
    Vue.jsCapacitor.jsTypeScript
  7. Front-End Developer · Jatimnet.com

    Apr 2019 – Apr 2020
    Part Time · Surabaya, Indonesia

    Regional news outlet covering East Java.

    • Grew readership 30% with SEO fixes and the article features readers kept asking for.
    • Sped the site up enough to rank. Lighthouse scores went up, organic traffic followed.
    Vue.jsNuxt.jsBootstrap
  8. Programmer · Event Surabaya

    Jan 2018 – Mar 2019
    Part Time · Surabaya, Indonesia

    Online media partner for city events in Surabaya.

    • First engineer on a non-technical team. Built the company's pilot product from nothing, Laravel backend and Flutter app.
    • Set up the infrastructure and release process myself, first commit through to production.
    LaravelFlutter

Selected work.

Hospital Companion App

2021

Cross-platform mobile app supporting hospital staff and patient workflows - one Vue codebase shipped to iOS and Android with Capacitor.

Vue.jsCapacitor.js

Learning Management System

2020

Full LMS built and deployed end to end on Google Cloud - course delivery, assessments, and admin tooling for a private client.

LaravelJavaScriptGoogle Cloud

Small CLIs for problems I kept hitting.

Each one started as a production incident I wanted to make impossible to repeat. They ship as npm packages.

apiprobe

Black-box scalability probe for REST APIs

Point it at a running list endpoint and it reports whether pagination degrades with depth, whether result sets are bounded, whether error shapes are consistent, and whether rate limits exist. No OpenAPI spec, no source access. Exit codes are the CI contract.

TypeScriptNode.jsCLI Source

aggregate-explain

Why a MongoDB aggregation is slow, in English

Reads explain() output from mongosh, the driver, or Mongoose and turns 400 lines of JSON into a short list of findings: disk spills, collection scans, unselective indexes, unindexed sorts. Suggests an index only when the case is unambiguous, never guesses.

TypeScriptMongoDBMongoose Source

mongoose-lint

Static linter for Mongoose schemas

MongoDB documents six schema anti-patterns and no ORM checks for any of them. This parses schema source with ts-morph, never imports Mongoose or connects to a database, and flags unique-on-optional fields, redundant index prefixes, and case-sensitive unique strings. Every finding links to the MongoDB page it enforces.

TypeScriptts-morphMongoDB Source

searchdex

Atlas Search index definitions as JSON in your repo

Pull, diff, apply, and drift-check Atlas Search indexes from version control. Unlike a status-only wait, apply blocks until every host is serving the definition you just pushed, so a green deploy means the query actually changed.

TypeScriptMongoDB AtlasCLI Source

mongoose-codemod

Mongoose major upgrades, one hop at a time

Scans a codebase for call sites a Mongoose major upgrade affects and sorts them into two buckets. Mechanical changes, where only the syntax moved, get transformed. Semantic changes, where behaviour silently changed, are never touched: it reports the location and what to check. The refusal is the feature.

TypeScriptts-morphMongoose Source

Things I build on my own time.

Small products aimed at problems I've watched people struggle with. None of them is a business. They're where I get to pick the problem myself.

Repit

In development
Shared expense tracking over WhatsApp

Couples text their spending to a bot that categorizes it and keeps a shared ledger. Built because the budgeting apps I tried asked people to change their habits instead of meeting them where they already are.

Nag

Prototype
Notes that resurface themselves

A macOS menubar tool for quick capture that brings a note back before you forget it. Small, and built to scratch my own itch.

Let's talk.

I'm open to full-stack roles and interesting product work, remote or with relocation. I'm in Indonesia (GMT+7), used to distributed teams, and happy to move my hours to overlap with yours. Email is the fastest way to reach me.