Graxya
CONTRACT @ DPR RI
APPROACH WORK ACHIEVEMENTS STACK NOTES ASK CONTACT
00 · INDEX 000 % ▁▁▁▁▁▁
00 BACKEND · AI · FULL STACK

FULL STACK DEVELOPER

BASEDTANGERANG · WIB
DEPTHARCHITECTURE · AI
SINCE2023
MODECONTRACT / FREELANCE

I build the boring-but-critical stuff: backend services, RAG pipelines, auth layers. The parts that just need to work. Informatics Engineering at Politeknik Multimedia Nusantara, 3.94 GPA, recognized by Samsung Innovation Campus.

SCROLL
PYTHON/FASTAPI/GO/POSTGRESQL/PGVECTOR/REDIS/DOCKER/NEXT.JS/NATS JETSTREAM/CLEAN ARCHITECTURE/JWT & OAUTH2/
01
APPROACH

I build for
later, not
for demo day.

Easy when it's just you writing to it. Gets messy once two teams need the same data to line up, or someone who's never touched a foreign key has to make sense of your schema.

So I keep it boring on purpose: real schemas over caches, real RBAC over shared logins, idempotent jobs over retry buttons.

Backend-first, but I ship the whole thing, schema to handover, so nothing quietly breaks in between.

$ make report --since=2023 BUILD PASSED
[ OK ]years building software3
[ OK ]systems shipped to production12
[ OK ]tables in my biggest schema yet37
[ OK ]cumulative gpa3.94/4.0
[ OK ]peak concurrent users, load-tested100K+
DIFF ~/asset-systems commit 4a9e21c
-flat tables, no audit trail on transfers
-asset returns tracked across work units by hand
+37-table schema, one source of truth
+returns as a state machine, audit log built in
02
SELECTED WORK

TWO SYSTEMS,
END TO END.

CASE 01 · GOVERNMENT & ENTERPRISE · 2023-PRESENT
State Asset & Inventory Backend Systems
ROLE · DATA MODEL · BACKEND · TRAINING
FASTAPI POSTGRESQL SQLALCHEMY DOCKER
01 / PROBLEM

Asset records lived in flat tables with zero audit trail. Everyone requested transfers their own way, so nothing ever matched up.

BOTTLENECK · NO AUDIT TRAIL ON RETURNS
02 / ARCHITECTURE DECISION

Schema first, API second. One source of truth instead of a dozen exports. FastAPI handles auth and the whole asset lifecycle, no more manual reconciling.

37 TABLES · 1 SCHEMA
03 / IMPLEMENTATION

PostgreSQL mapped to how assets actually move: in, held, transferred, returned. SQLAlchemy handles the relations, Docker keeps it reproducible.

NEW SCHEMA · LEGACY MIGRATED
04 / OUTCOME

One schema instead of a workaround per unit. New features ship without breaking the trail, and I train the staff on it myself.

LEGACY → REBUILT
EDGE
WORK UNITSasset requests
PAPER FORMSno schema
LEGACY REGISTRYflat tables, no trail
STATE INVENTORYlegacy · read-only
GATEWAY
ASSET SERVICE APIFastAPI · OpenAPI
AUTH · JWT
RBAC · ROLE-SCOPED
AUDIT · APPEND-ONLY
DOMAIN
ASSET REGISTRYhierarchy · custody
ASSET TRANSFERunit-to-unit
RETURN WORKFLOWstate machine
STAFF PORTALREST · web
TRAINING DOCSguides · specs
DATA
POSTGRESQL37-table relational schema37 TABLES
ASYNC
REDIS CACHEsession · lookups
BACKGROUND JOBSreports · exports
OUTCOME PACKET RATE FOLLOWS SCROLL VELOCITY →
CASE 02 · HIGH-CONCURRENCY SYSTEMS · 2025

CONCERT TICKET QUEUE SYSTEM

A queue for concert ticket sales that stays fair under 100k+ concurrent users and never sells the same seat twice.

GO REDIS NATS JETSTREAM POSTGRESQL
STEP 01 / 05 · SCROLL RUNS HORIZONTAL →
02 / CONSTRAINT

The queue has one job: nobody double-checks out.

Every stage had a load-test budget before I wrote a single handler. Too slow under k6 at 100k users, it got moved off the hot path.

JOIN QUEUE8ms
VALIDATE14ms
LOCK SEAT19ms
CHECKOUT62ms
HEADROOM300ms
03 / PIPELINE

One direction, one lock, no double-checkouts.

01REQUEST INTAKENATS JetStream · dedupe
02VIRTUAL QUEUERedis sorted set
03POSITION CHECKpure fns · unit-tested
04SEAT LOCKoptimistic lock · fails closed
05CHECKOUT WORKERidempotent ids · replay

Each stage talks through NATS, not a shared function, so I can restart or swap one without touching the rest.

04 / GUARDRAILS

A queue system is judged on how it says no.

KILL SWITCHOne flag, checked before every checkout, honoured before any hold.
SEAT CAPSPer-event and per-user ceilings, enforced server-side, not in the client.
OVERSELL CIRCUITAny mismatch between seats held and seats sold trips the breaker.
REPLAY LOGEvery checkout reproducible offline from its exact inputs.
05 / OUTCOME
18MSP99 QUEUE-JOIN, K6 @ 100K VUS
100K+CONCURRENT USERS, LOAD-TESTED
0DUPLICATE CHECKOUTS IN LOAD TEST

Its best feature does nothing: it just holds you in line instead of letting two people fight over a seat. That's the whole point.

03
ALSO SHIPPED
01AUTH & IDENTITY

One SSO, every internal app

POST /auth/login → issue JWT (rolling)
RBAC · scoped roles per tenant
AES-256 · encrypted responses
rate limit · 100 req/min per IP

Multi-tenant SSO with rolling JWTs, RBAC, and AES-256 encrypted responses. One identity layer instead of everyone rolling their own.

MULTI-TENANTROLLING JWTAES-256
02AI / RAG

A RAG system with no config step

connect → any PostgreSQL schema
sync → real-time, no manual mapping
query → hybrid SQL + vector search
answer, natural language, sourced

Points at any PostgreSQL database, reads the schema itself, stays in sync, answers questions in plain English.

PGVECTORHYBRID SEARCHANY SCHEMA
03PAYMENTS

QRIS checkout that can't double-charge

create charge → poll Xendit status
→ on paid, dedupe by charge id
→ upload Cloudinary, async
→ notify SMTP receipt, auto-retry

QRIS payments for photobooth kiosks. Polls for status, dedupes charges, emails a receipt automatically.

XENDITQRIS0 DOUBLE-CHARGES
04TRANSACTIONS

Stock moves that can't half-happen

PO → stock transfer → item request
atomic writes · no partial commits
audit trail · every movement logged
rollback · one failed row, one retry

Warehouse system where POs, transfers, and audit trails share one atomic write path. Nothing gets left half-moved.

ATOMIC TXNSFULL AUDIT TRAIL
04
EXPERIENCE
MAY 2026 - PRESENT
Full Stack Programmer SEKRETARIAT JENDERAL DPR RI · JAKARTA

Build and maintain applications for the State-Owned Assets Administration Division, including SIRANGGA V2, a redesigned asset inventory & return system. Train work units across the Secretariat General on rollout.

FEB 2025 - JAN 2026
Backend Developer, Intern ALFAGIFT (PT GLOBAL LOYALTY INDONESIA) · TANGERANG

Shipped user-facing web features and modular, reusable components across devices. Monitored performance and traffic to catch usability issues before they became tickets.

2023 - 2024
Developer, Freelance PT SAMANASOFT INOVASI PERSADA · TANGERANG REGENCY

Three engagements: an AI chatbot that streamlined hospital appointment booking, a machine learning model recommending medication dosages, and a round of feature upgrades to an existing program.

05
ACHIEVEMENTS & CERTIFICATIONS
International Labor Standards Certification certificate
CERTIFICATIONOCT 2024

International Labor Standards Certification

International Training Centre

Labor laws, business compliance and legal frameworks for workplace regulations.

Samsung Innovation Campus certificate
CERTIFICATIONSEP 2024

Samsung Innovation Campus

Samsung Electronics

Technical innovation, problem-solving methodology and innovation management.

Chairman and Show Director role at Inaugurasi 2024
AWARD · CHAIRMANAUG 2024

Chairman & Show Director, Inaugurasi 2024

Politeknik Multimedia Nusantara

Led creative vision and operations for the university's new-student inauguration.

Data Science Professional Certification certificate
CERTIFICATIONAPR 2024

Data Science Professional Certification

DQLab

Python, SQL, data visualization and statistical analysis for real-world data.

National Podcast Competition, 1st Runner-up award
AWARD · 1ST RUNNER-UPOCT 2023

National Podcast Competition

PELITA

National-level recognition for content creation and communication skills.

Frappe Framework Bootcamp certificate
CERTIFICATIONJUN 2023

Frappe Framework Bootcamp

Anteraja Logistics

Framework training for logistics platforms and software engineering practice.

$ find ./certificates -name "*nbp-2023*"
no matches found
participation only, no cert issued
COMPETITION2023

National Business Plan 2023

Team SquidWork

Competed in a national business-plan competition as part of team SquidWork. No certificate on file, no rank claimed.

06
CAPABILITIES
HOVER A CAPABILITY FOR DETAIL
LANGUAGES
Python Go TypeScript SQL C#
FRAMEWORKS
FastAPI Laravel Gin Next.js SQLAlchemy
DATA
PostgreSQL pgvector Redis MongoDB MySQL
AI & INTEGRATIONS
RAG LLM Integration NATS JetStream Webhooks
INFRA & DEVOPS
Docker GitHub Actions k6 Linux
PRACTICE
Clean Architecture Multi-tenancy RBAC JWT & OAuth2 Documentation
07
NOTES
08
ASK
READY

Ask about the work above.

A small assistant grounded in what's on this page, roles, projects, stack. Off-topic questions get pointed to email instead of a guess.

$ ./ask-gratia --interactive LLAMA 3.3 · GROQ
AI Hey, ask me anything about Gratia's experience, stack, or projects, SIRANGGA V2, ATABOT, the ticket queue system, any of it.
DIFF ~/engagement working-agreement.md
-we'll figure out the data model as we go
+constraints written down, then the schema, then the code
09
CONTACT

OPEN FOR FREELANCE BACKEND & AI WORK.

COMMITTED · 9a5ea87 → main

Quickest way in: tell me what you're stuck on. I'll tell you how I'd model it, and what I wouldn't build.

© 2026 FELIX GRATIA MANGATUR MANULLANG NEXT.JS 15 · GSAP · LENIS TANGERANG · 00:00:00 WIB