SENIOR FULL STACK DEVELOPER · BATAM, INDONESIA · UTC+7

Building practical, reliable software across the full stack.

I work across the stack, with C# and .NET experience on the backend and recent React, Next.js, and TypeScript work on the frontend, building SaaS products and data-heavy AdTech platforms with complex workflows.

01 / ABOUT

I am a Senior Full Stack Developer based in Batam, Indonesia. I have spent most of my career working remotely with international teams across the United States, India, and Southeast Asia, so coordinating work across time zones and handing off clearly are normal parts of how I work.

My recent work has focused on React, TypeScript, SaaS products, browser extensions, system integrations, and cloud services. Earlier in my career, I worked mainly with C#, ASP.NET, SQL Server, PostgreSQL, and database-driven business applications. That combination allows me to move between frontend, backend, data, infrastructure, and delivery when a product needs it.

I am a generalist. I work best when I can understand the wider system, make practical technical decisions, and stay accountable for the result from implementation through release and production support.

02 / HOW I WORK

Own the outcome

I stay responsible for how the work holds up after it ships, not only whether the ticket was completed.

Understand the real problem

I look for the intent behind a request and the workflow it needs to support, so the implementation solves the actual problem rather than only the literal ask.

Work across boundaries

I am comfortable moving into an unfamiliar layer, codebase, or integration when that is what the product needs. I take the time to understand it, then carry the work through.

Fix the cause

When something is fragile or failing, I trace the behavior across the relevant layers and try to resolve the underlying issue instead of adding another workaround.

Keep delivery clear

I communicate early when something will not go to plan, coordinate dependencies, and keep implementation, QA, branching, and release work aligned.

Use AI deliberately

I use AI tooling through a scope-driven workflow that I helped formulate for the organization. It keeps coding, documentation, and review tied to a defined scope so the output stays focused and reviewable.

03 / SELECTED WORK
JotGo
Lead Engineer · November 2025 to Present
React TypeScript NestJS Pixi.js WebGL Firestore PostgreSQL GCP GraphQL Auth0 browser extensions MCP

JotGo is a SaaS platform and multi-browser extension for bug reporting and product feedback. It helps product, engineering, and QA teams capture screenshots, user activity, console logs, and network requests, then turn that context into work their teams can investigate and manage.

I led the platform rebuild as the primary technical decision-maker across the frontend, backend, browser extension, database, and MCP server. I coordinated three developers and two QA engineers while setting implementation priorities and managing releases across multiple repositories.

  • Built a Pixi.js and WebGL canvas renderer while retaining the inherited ReactFlow implementation as a fallback. The old canvas began lagging past around 100 images, while the new renderer stayed usable to around 1,000 in generated-data testing, roughly 10x the previous capacity. Production usage sat in the hundreds.
  • Implemented Firestore-based real-time synchronization for the canvas, allowing multiple users to see canvas updates as they occurred without refreshing the page.
  • Built session replay and browser-extension diagnostics end to end across the extension, frontend, and backend. The feature combined user-action capture and playback with console-log and network-request collection, giving customer teams more context for investigating reported issues.
  • Built the GraphQL-based Linear integration, then developed webhook-driven two-way synchronization between JotGo and Linear. Also fixed webhook handling and shared issue fields and actions across the inherited Jira integration.
  • Built and shipped an MCP server that allows users to access and work with platform feedback through supported AI tools using Auth0-based OAuth or personal access tokens.
Cadent Ad Manager Platform
Frontend Developer · July 2024 to November 2025
React Next.js TypeScript Zustand React Hook Form Tailwind CSS REST APIs feature flags

Enterprise AdTech platform for campaign, line item, ad group, targeting, optimization, and audience management. I was the only Digital Avenues developer working directly with Cadent's US-based development team and followed its Eastern Time schedule.

My work was concentrated in ad-group optimization and audience workflows, where interdependent settings, asynchronous data, validation, and shared state had to remain consistent across multi-step creation and editing flows.

  • Built the core ad-group optimization experience in React and TypeScript, using controlled form state, React context, and REST APIs to keep bidding, optimizer, predictive-model, and validation behavior synchronized during creation and editing.
  • Built administrative workflows for managing predictive models with React Hook Form, including cross-field validation, conditional fields, access scoping, and bulk updates released behind feature flags.
  • Built healthcare-audience targeting within a multi-step ad-group setup workflow, preserving selections across creation and editing so users could navigate the workflow and revise targeting without losing their work.
  • Built configurable audience controls with predefined and custom score ranges, giving users direct control over the balance between targeting quality and potential reach for each campaign.
Habi Standalone
Project Lead · October to November 2023
.NET Core JavaScript SQL Server ClickHouse Amazon S3

Standalone healthcare audience-building product for estimating audience size and reach from clinical, insurance, provider, demographic, location, cost, and date-of-service criteria. It also provided media insights across publishers, channels, and devices.

I took over final delivery of the inherited product when the US team no longer had capacity to complete it before the planned release.

  • Coordinated QA across multiple environment branches, delegated fixes, resolved blockers directly, and promoted three releases to production within roughly one month.
  • Stabilized core audience-building and results workflows by resolving frontend, Razor-view, and API issues affecting audience saves, reach calculations, duplicate submissions, date-of-service filters, chart rendering, and generated results.
  • Validated returned data and product behavior with the US Product Owner and data warehouse team, resolving data and UI discrepancies before production.
AdTheorent DSP Application
Full-Stack Developer · February 2021 to July 2024
C# ASP.NET MVC Razor Web API WCF ADO.NET SQL Server JavaScript jQuery Angular SFTP

Long-running AdTech campaign management platform covering campaigns, line items, strategies, targeting, audiences, reporting, and forecasting. My work was frontend-heavy across JavaScript and Razor, with backend responsibility in C#, ADO.NET data-access and business-logic layers, WCF services, and SQL Server.

  • Built and enhanced targeting workflows across geographic, point-of-interest, device, network, video and CTV, audience, and frequency-cap criteria, integrating MVC views with API and WCF-backed flows.
  • Implemented multi-currency support across the MVC and Angular applications, carrying currency context, values, and formatting through campaign, forecasting, marketplace, audience, and reporting workflows.
  • Improved zip-code map performance for large selections by moving coordinate lookup from the browser's main thread into a web worker before plotting markers, reducing interface blocking during map-based targeting.
  • Implemented C# changes across ADO.NET data-access and business-logic layers, wrote stored procedures when needed, and traced requests through WCF services and SQL Server to resolve cross-layer data and business-rule defects.
  • Extended the existing reporting console with SFTP delivery for generated CSV, Excel, and ZIP files, allowing reports to be sent directly to client-managed infrastructure instead of relying only on email.
  • Diagnosed and resolved production issues across campaign and targeting workflows, while mentoring junior developers through pair debugging and code reviews.
04 / EXPERIENCE
Digital Avenues Ltd
February 2021 to Present
Singapore (Remote) · Senior Full Stack Developer, Contractor

Worked across AdTech campaign management and SaaS feedback products, progressing from full-stack development to frontend ownership and platform leadership. Delivered the JotGo, Cadent, Habi, and AdTheorent engagements with distributed product, engineering, and QA teams across the United States, India, and Southeast Asia.

Escurity
March 2016 to December 2019
Batam, Indonesia · .NET Developer

Started as a junior developer and progressed to a mid-level role, building and supporting database-driven business applications with C#, ASP.NET, SQL Server, PostgreSQL, JavaScript, and related data-access technologies.

Worked across requirements gathering, database design, application development, releases, deployment, and production support. Products included a property-management application covering finance, sales, payments, legal records, and reporting, and a proposal-generation application built with ASP.NET Core, REST APIs, PostgreSQL, JavaScript, and PDF generation.

05 / EDUCATION
Universitas Internasional Batam
2013 to 2020
Batam, Indonesia

Bachelor of Computer Science, Information System

UTeM University
2015
Malacca, Malaysia

Student Exchange Programme, Information and Communication Technology

06 / SKILLS
Frontend development
React, Next.js, TypeScript, JavaScript, Pixi.js, WebGL, Angular, Razor, Zustand, Tailwind CSS, React Hook Form
Backend and APIs
C#, ASP.NET MVC, ASP.NET Core, NestJS, Web API, WCF, REST APIs, GraphQL, ADO.NET
Databases and data access
SQL Server, PostgreSQL, Firestore, ClickHouse, Cloud SQL, Redis, stored procedures
Cloud, DevOps, and delivery
Google Cloud Platform, App Engine, Cloud Storage, Secret Manager, Log Explorer, Jenkins, CI/CD, Bitbucket, branching and release management
Browser extensions and integrations
Chrome, Edge, and Firefox extensions, background service workers, Auth0, OAuth, JWT, Linear, Jira, webhooks, MCP, SFTP, SendGrid
Workflow
Git, Agile, Scrum, distributed-team delivery, code review, Scope-Driven Development
07 / CONTACT

Open to remote roles, with onsite or relocation considered for the right fit.

I am primarily looking for Senior Full Stack Developer roles, but I am also open to backend, frontend, or junior lead positions when the fit is right.