Software Engineer × AI Enthusiast

I build calm software, and I teach it to do the boring parts.

Building clean web apps with Laravel, polished UI with plain CSS, and practical AI integrations. Let's make something useful together.

See my work Get in touch

Based in
Indonesia
Focus
Backend, interface, applied AI
Working style
Small commits, plain language
My favorite workspace — zsh, vim, and quiet code.

About

A short version of the long story

My first real job was building internal tools for a logistics team. Spreadsheet rescue missions, mostly. That is where I learned software only counts if people actually use it — and that the fastest way to lose someone is a form that forgets what they typed when validation fails.

These days I work across the stack. Laravel, Postgres and queues on one side; interface work, accessibility and plain CSS on the other. I have a soft spot for the unglamorous middle: migrations, retries, error states, the parts you only notice when they are missing.

The AI half is not a slogan. I use language models every day — retrieval over small, well-chosen corpora, evaluation runs that catch regressions before users do, and automation that removes the dull parts of my own workflow. I am most useful when a model can sit on top of plumbing that is already boring and well tested.

What I care about: code a teammate can still change in six months, estimates I can defend, and accessibility treated as a baseline instead of a retrofit at the end.

  • Clear over clever

    If a reviewer needs a comment to follow the logic, I rewrite the logic.

  • Small, honest scope

    I would rather ship one thing that works than half of four things.

  • Accessible by default

    Keyboard, contrast and screen readers are part of the build, not a follow-up ticket.

Currently Building cool stuff with Laravel and local AI models. Coffee addict, terminal enthusiast.

Skills

What I actually do

Five things I get hired for, in the order they usually show up in a project.

  • Backend engineering

    Laravel and PHP services with Postgres or MySQL underneath. Migrations that do not surprise anyone at 2am, queues that retry sensibly, and APIs I would be happy to document.

  • Frontend and interface work

    Blade, hand-written CSS and enough JavaScript to keep things honest. Responsive layouts, real focus states, and pages that stay usable at 320px wide.

  • Applied AI / LLM integration

    Retrieval over your own data, function calling against existing APIs, and eval harnesses so you can tell whether the prompt change last Tuesday helped.

  • Data and pipelines

    Ingestion, embeddings, vector search, and the reconciliation scripts nobody wants to write but everybody needs when two systems disagree.

  • Tooling and developer experience

    CI that runs in minutes, containers that boot on the first try, and code review that reads as a conversation instead of a verdict.

Portfolio

Selected work

Four projects that are representative of what I do. Client names swapped for placeholders where I do not have permission to share them.

  • View Studio Booking Flow
    Calendar booking interface with a selected day and a summary bar.

    Client work · 2024

    Studio Booking Flow

    A booking flow for a four-person studio. Rebuilt the calendar, moved payments to Stripe, made the whole thing work on a phone. Double bookings went to zero in the first month and stay there.

    • Laravel
    • Stripe
    • Alpine.js
    • Postgres
  • View Support Docs Assistant
    Chat conversation with an answer bubble and cited source documents.

    Internal tool · 2023

    Support Docs Assistant

    A document assistant for a support team of twelve. It answers from their own help centre, cites the article it used, and says "I do not know" when the article is missing — which turned out to be the feature they valued most.

    • RAG
    • pgvector
    • Laravel
    • OpenAI API
  • View Checkout, Unclogged
    Order summary rows above a prominent pay button.

    Product work · 2023

    Checkout, Unclogged

    Checkout for a small shop selling about 200 orders a month. Was 14 seconds on a mid-range Android; is now under two, mostly by deleting scripts and shipping one properly sized image.

    • Performance
    • Blade
    • Redis
  • View Prompt Eval Runner
    Evaluation run report with pass and fail markers per case.

    Open source · ongoing

    Prompt Eval Runner

    A small evaluation runner I use on every prompt change: fixed inputs, recorded outputs, a diff you can read in thirty seconds. Started as a personal script, now used by three teams I have worked with.

    • PHP
    • Laravel Zero
    • Evals

Notes

What people say afterwards

Three quotes, lightly trimmed. Placeholder names until I confirm I am allowed to use the real ones.

  • ReallBoyy shipped our entire payment system in two weeks. Code was clean, tests solid, and the API documentation made onboarding trivial. We shipped it to production unchanged.

    Sarah Chen CTO, Fintech Startup
  • The AI feature he built actually works. We thought we'd need to babysit it constantly, but the evaluation harness he set up caught every regression before users saw it. That's rare.

    Marcus Williams Product Lead, SaaS Platform
  • Left our codebase cleaner than he found it. Three months later we're still using the test helpers and deployment scripts he added without being asked. Attention to detail matters.

    Dmitry Volkov Engineering Manager, E-Commerce

Contact

Let us talk

Hiring, a project that needs a second opinion, or a question about the AI part — all fine. I answer email within a couple of days, and I will tell you honestly if I am not the right person.