{"data":{"hero":{"enabled":true,"title":"Andrian Kurnia Aji","subtitle":"Software Engineer","ctaLabel":"Contact","ctaHref":"#contact","image":{"id":2,"url":"/api/media/2","fileName":"andrian-man.png","mimeType":"image/png","size":49308}},"about":{"enabled":true,"title":"About","description":"Software engineer with 2+ years shipping reliable banking platforms. Focused on dependable delivery and measurable outcomes.","bullets":["Design Golang microservices for safe deposit, queueing, and biometric flows.","Automated schedulers, monitoring dashboards, and data workflows.","Delivered low-code field reporting tools."],"image":{"id":3,"url":"/api/media/3","fileName":"diverse-profile-avatars2.png","mimeType":"image/png","size":303970},"cvDocument":{"id":4,"url":"/api/about/cv/download","fileName":"Andrian CV V2.pdf","mimeType":"application/pdf","size":130780}},"experience":{"enabled":true,"title":"Experience","items":[{"id":"bri-backend","role":"Backend Developer","company":"PT Bank Rakyat Indonesia (BRI)","period":"Dec 2023 - Present","points":["Delivered Golang microservices for safe deposit box registration, visitor tracking, and rental renewals that interoperate with BRI core banking via gRPC and REST.","Built branch queueing and biometric validation services using Redis, RabbitMQ, and Minio to balance workloads and harden security at scale.","Optimised teller and customer service analytics by parallelising heavy SQL workloads with goroutines and connection pooling.","Migrated millions of SDB records from legacy systems, boosting pipeline throughput from ~100 to ~3000 boxes per batch with automated validation."]},{"id":"bank-raya","role":"Backend Engineer","company":"PT Bank Raya Indonesia Tbk","period":"Apr 2023 - Oct 2023","points":["Implemented Google Cloud based auction and monitoring services using Pub/Sub, Scheduler, BigQuery, and PostgreSQL.","Automated renewal reminders with dynamic schedulers so operational teams no longer manage manual jobs.","Provided job dashboards that surface pending, failed, and successful workloads across distributed databases."]},{"id":"phe-fullstack","role":"Fullstack Developer","company":"PT Pertamina Hulu Energi","period":"Sep 2022 - Mar 2023","points":["Delivered Promyst, a low-code web app for offshore field staff to capture operational data using Code On Time and .NET.","Collaborated with cross-functional teams to translate field requirements into performant forms backed by SQL Server.","Introduced structured workflows that improved data turnaround for HQ decision makers."]},{"id":"diskominfo-intern","role":"Intern Web Developer","company":"Diskominfo Tangerang","period":"Sep 2021 - Feb 2022","points":["Helped civil servants adopt the Simpatik portal by building new modules and training end users.","Collaborated on UX improvements and presented the platform to stakeholders across the Tangerang government."]},{"id":"esri-intern","role":"Intern GIS Analyst","company":"Esri Indonesia (Binus Collaboration)","period":"Feb 2021 - Feb 2022","points":["Researched, cleansed, and mapped geospatial datasets in ArcGIS to support campus-industry projects.","Produced thematic maps and documentation that accelerated downstream analysis by partner teams."]}]},"utilities":{"enabled":true,"title":"Games \u0026 Utilities","subtitle":"Hands-on tools and play spaces I tinker with during creative breaks.","items":[{"id":"chess","title":"Chess Lab","description":"Play a full 8x8 chess match with move validation and a clean modern board.","tag":"GAME","image":{"id":9,"url":"/api/media/9","fileName":"game-chess-lab.jpg","mimeType":"image/jpeg","size":307460},"imageUrl":"/api/media/9"},{"id":"calculator","title":"Quick Calculator","description":"Evaluate complex expressions with percentages, memory, and responsive keypad actions.","tag":"UTILITY","image":{"id":8,"url":"/api/media/8","fileName":"utility-quick-calculator.jpg","mimeType":"image/jpeg","size":2392132},"imageUrl":"/api/media/8"},{"id":"sudoku","title":"Sudoku Studio","description":"Fill the grid with digits 1-9 without repeats across rows, columns, or blocks.","tag":"GAME","image":{"id":7,"url":"/api/media/7","fileName":"game-sudoku-studio.jpg","mimeType":"image/jpeg","size":293393},"imageUrl":"/api/media/7"},{"id":"pomodoro","title":"Pomodoro Timer","description":"Stay on track with alternating focus and break intervals plus quick mode toggles.","tag":"UTILITY","image":{"id":6,"url":"/api/media/6","fileName":"utility-pomodoro-timer.jpg","mimeType":"image/jpeg","size":243955},"imageUrl":"/api/media/6"},{"id":"sketch","title":"Pixel Sketch","description":"Doodle on a retro Etch-a-Sketch inspired canvas with erase and fill tools.","tag":"UTILITY","image":{"id":5,"url":"/api/media/5","fileName":"utility-pixel-sketch.jpg","mimeType":"image/jpeg","size":64377},"imageUrl":"/api/media/5"}],"showViewAll":true,"viewAllLabel":"Show all 5 tools"},"portfolio":{"enabled":true,"title":"Portfolio","subtitle":"A few projects I've created for portofolio on recently.","items":[{"id":"04e34cbb-7780-4275-affa-710462664ccf","title":"Teman Main","description":"Teman Main is a simple web app for visiting an event, there if we are alone we can join with other people or we ourselves want to make an invitation, when making an invitation we can filter how many people we want to invite, age limit, and gender according to what we want to. If we make a magnet and someone else wants to enter it will go to the creator's email, otherwise if we request someone else's magnets to enter it will go to the maker's email. If we have entered the magnets we can chat with friends who have joined and make video calls.  Tech Stacks : React.js, Redux, Bootstrap, Express, Nodejs, Postgresql, Sequelize, Redis,        Socket io, Agora, Courier","tag":"React","image":{"id":14,"url":"/api/media/14","fileName":"loginTemanMain.jpg","mimeType":"image/jpeg","size":771662},"imageUrl":"/api/media/14","url":"https://teman-main.andrianka.dev/"},{"id":"15f4a6ba-8ee3-436c-a5f1-65f7679575a0","title":"Teman Main CMS","description":"Teman Main CMS is a simple web CMS for managing events on the TemanMain website, the admin can add delete and update events. if the admin makes changes then the web of mainnneqe friends will change, the admin can also see all users then can add and delete them. Tech Stacks : React.js, Redux, Bootstrap, Express, Nodejs, Postgresql, Sequelize, Redis","tag":"React","image":{"id":12,"url":"/api/media/12","fileName":"loginTemanMain.jpg","mimeType":"image/jpeg","size":771662},"imageUrl":"/api/media/12","url":"https://teman-main-cms.andrianka.dev/"},{"id":"84a2a16d-4747-4984-948b-36b9de869da6","title":"Miracle Football","description":"Miracle Football is is a simple web app to find out the club in the premier league, standings, and top score in real-time, the feature in this app is that we can choose our favorite team and request notification of our favorite club's latest match results. Tech Stacks : Vue.js, Pinia, Bootstrap, Express, Nodejs, Postgresql, Sequelize.","tag":"Vue","image":{"id":19,"url":"/api/media/19","fileName":"Screenshot 2025-10-13 131352.png","mimeType":"image/png","size":255592},"imageUrl":"/api/media/19","url":"https://miracle-football.andrianka.dev/"},{"id":"a95c8181-785c-4542-82d7-21320fb2f741","title":"Instogram","description":"Instogram a simple web app like Instagram, here we can post photos, likes and comments, and we can see other people's posts too. Tech Stacks : Sequelize, Bootstrap, EJS, Nodejs, Postgresql, Express","tag":"EJS","image":{"id":16,"url":"/api/media/16","fileName":"instogram.jpg","mimeType":"image/jpeg","size":8886},"imageUrl":"/api/media/16","url":"https://instogram.andrianka.dev"}],"showViewAll":true,"viewAllLabel":"Show all 5 projects"},"contact":{"enabled":true,"title":"Get in touch","blurb":"Ready to collaborate? Send me a message and I'll reply as soon as I can."}}}