Fullstack Developer

Andika
Permana Sidiq.

From API to interface.

I build internal business systems for reporting, audit operations, and project management. Go and REST APIs on the backend, Vue.js and Next.js on the frontend.

About

I have been a Fullstack Developer at PT Smart Multifinance since March 2023, working on three internal systems: Oneapp, Smart Audit, and PROMIS.

Oneapp handles marketing reporting, Smart Audit supports audit operations, and PROMIS tracks projects and Change Requests raised to the IT team. Most of it is cross-team work: mapping requirements with business stakeholders, agreeing on API contracts with backend and mobile developers, then building the interfaces on top. Alongside that, I spent two months in 2024 as a part-time Fullstack Developer on 112 Report, a location-based emergency reporting application for Kominfo Kota Tangerang.

The recurring problem across all three is the same: making sure what the interface shows is actually correct. Most of my time goes into data validation, workflow and permission rules, and recovering cleanly when part of an operation fails.

Featured Projects

Illustrative Oneapp reporting table with fictional data and a workflow for data mapping, API contract alignment, response validation, and frontend data processing; not a production screenshot.
Conceptual illustration with fictional data or statuses. Not a production screenshot.

Marketing Reporting System

Oneapp

Fullstack Developer

Marketing reporting. Users access and manage the report data the backend serves to the frontend.

Problem
Reporting data needed to be integrated and displayed efficiently on the frontend.
My contribution
Collaborated with the backend team to map the required reporting data, align the API contract, validate returned data, and improve the application's data retrieval and processing flow.
Stack
  • Vue.js
  • Quasar
  • Golang
  • Gin
  • PostgreSQL
Outcome
Report data now moves through one agreed API contract, so what the report displays matches what the backend returns.
View case study
Illustrative Smart Audit recovery flow: inspection saved, assignment failed, both records refetched, and only the failed step retried with the latest lock_version. Fictional statuses; not a production screenshot.
Conceptual illustration with fictional data or statuses. Not a production screenshot.

Audit Management System

Smart Audit

Fullstack Developer

Audit operations: auditors work through inspection tasks, document findings, and validate the data before it reaches a report.

Problem
Separate mobile submission requests could save the inspection while the assignment failed, leaving partially saved data or an inconsistent status.
My contribution
Preserved local state and added a recovery marker, refetched inspection and assignment records to identify completed steps, and retried only the failed step with the latest lock_version.
Stack
  • Vue.js
  • Quasar
  • Golang
Outcome
Only the failed step is retried, so a partial save no longer forces the user to resubmit the whole form.
View case study
Illustrative PROMIS Change Request flow: backend checks the previous status, user role, and allowed workflow stage before the API provides validated status, owner, and progress to the frontend; not a production screenshot.
Conceptual illustration with fictional data or statuses. Not a production screenshot.

Project Management System

PROMIS

Fullstack Developer

Project and Change Request tracking for the IT team, from the request being raised through scheduling to the work being marked done.

Problem
Frontend-only Change Request status transitions could allow invalid changes or updates beyond user permissions as requests moved between teams and workflow stages.
My contribution
Enforced status-transition rules on the backend using the previous status, user role, and allowed workflow stage, then exposed validated data through the API for the frontend to display status, owner, and progress.
Stack
  • Next.js
  • NestJS
  • MySQL
Outcome
A Change Request can no longer skip a stage or be moved by someone without the right role, because the backend rejects the transition before it is saved.
View case study
All projects

Technical Skills

Backend

Services behind REST APIs, mostly in Go, with NestJS and Laravel on individual projects. Authentication, authorization, and the business rules that decide what each request is allowed to do.

  • Golang
  • Gin
  • NestJS
  • Laravel
  • REST APIs

Frontend

Interfaces built on top of those APIs, from responsive reporting tables to forms that have to survive a failed submission.

  • JavaScript
  • TypeScript
  • Vue.js
  • Next.js
  • Quasar

Database

Relational schemas for reporting and workflow data, and the queries that keep those screens responsive.

  • PostgreSQL
  • MySQL

Tools & Collaboration

Version control, design handoff, and the API documentation that keeps backend, mobile, and frontend work in step.

  • Git
  • GitHub
  • GitLab
  • Figma

Professional Experience

  1. Fullstack Developer

    PT Smart Multifinance

    March 2023 – Present

    Full-time
    • Build and maintain the internal systems for reporting, audit operations, and project management, across Go and NestJS services, Vue.js and Next.js interfaces, and PostgreSQL and MySQL schemas.
    • Design and integrate the REST APIs those systems run on, including the endpoints the mobile app consumes.
    • Work with business stakeholders to turn requirements into API contracts, then build against them with backend, mobile, and design colleagues.
    • Debug reported issues, tighten data validation, and improve the performance and day-to-day usability of the reporting screens.
  2. Fullstack Developer

    Kominfo — Kota Tangerang

    August 2024 – September 2024

    Part-time
    • Built the 112 Report emergency reporting web application with Vue.js and Laravel.
    • Implemented the location-based reporting workflow for incoming emergency reports.
    • Handled real-time management of the incoming report data.

Development Approach

  1. Understand

    Work out the business rule behind the request: who may do what, and which states the data can legitimately be in.

  2. Plan

    Agree the API contract before either side is built, so the frontend never compensates for a response it cannot predict.

  3. Build

    Write the service and the interface against that contract, keeping the rules that matter on the server.

  4. Validate

    Test the paths that fail, not only the one that works: rejected transitions, partial saves, stale records.

  5. Improve

    Return to whatever is slow or confusing once the system is in daily use, and fix it against real behaviour.

Get in Touch

Email is the best way to reach me, and a short note about what you have in mind is enough to start.