Fullstack Systems
Type-safe React and Node services, GraphQL and REST layers, RBAC, and relational schemas that hold up under enterprise load.
Fullstack developer in Salatiga, Indonesia. Five years of enterprise web, mobile and backend — now wiring autonomous AI agents into the delivery pipeline, so tickets turn into review-ready pull requests.
A sample run of the agent workflow — assigned tickets in, review-ready pull requests out, while the merge decision stays with a human.
Five years of enterprise web, mobile and backend — type-safe TypeScript frontends, Node services, and the agent pipeline that turns an assigned ticket into a review-ready pull request. Offshore for Australian and regional clients, from Salatiga.

Delivering for Australian enterprise clients from Salatiga for years — timezone, standards and all.
React to React Native conversions that keep the domain layer intact instead of rewriting it.
Agents that open PRs and MRs — in production, on real tickets, not in a demo.
Not a service list — the six areas where five years of production work taught me exactly where the seams break.
Type-safe React and Node services, GraphQL and REST layers, RBAC, and relational schemas that hold up under enterprise load.
Autonomous agents that pull tickets from ClickUp, YouTrack and GitHub Projects, draft the solution, and open review-ready PRs and MRs.
Responsive web and React Native apps that convert cleanly between mobile and web without rewriting the domain layer.
Docker, Jenkins and GitHub Actions pipelines that cut staging cycles from days to minutes across distributed teams.
Design systems, component libraries and motion — accessible, responsive, and fast on real devices, not just a laptop.
Offshore collaboration with Australian and regional teams across multi-currency, high-availability portals.
The part of my work I’m proudest of. Not a chatbot bolted onto a product — agents wired into the delivery path, opening pull requests against real repositories.
Reads the ticket, reads the repo, writes the code. The merge stays human.
A ticket lands in ClickUp, YouTrack or GitHub Projects and is picked up automatically — assigned work only, no noise.
Claude Code and Cursor read the ticket against the real repository and draft a contextual solution against the actual codebase.
The change lands as a review-ready GitHub Pull Request or GitLab Merge Request, with the human keeping the merge decision.
Open to fullstack roles, offshore delivery work and interesting AI automation problems. If it involves a hard product and a real team, I’d like to hear about it.