// Software Engineer

Vrica Gede Penggalih

Flexible engineer that comfortable and capable using various technologies.

View Projects Contact Me
bash — 80x24
vricap@archlinux:~$ neofetch
OS: Arch Linux x86_64
Kernel: Linux (Simplicity & Speed)
Shell: zsh / bash
Languages: Go, Javascript, Python, PHP, Shell
vricap@archlinux:~$ echo $PHILOSOPHY
"Fast, modular, simplicity."

About Me

Background, education, and approach to software development.

Vrica Gede Penggalih
Based in Central Java, Indonesia

I'm Vrica Gede Penggalih, a software engineer who enjoys building backend systems and full-stack web applications from the ground up. I recently graduated in Information Technology and have experience developing RESTful APIs, real-time applications with WebSockets, authentication and authorization systems, and scalable database architectures using Go, JavaScript, Laravel, and SQL.

I enjoy understanding how software works beneath the surface, which is why many of my projects go beyond typical CRUD applications. I've built an interpreted programming language in Go, developed a self-hosted real-time chat application using goroutines and WebSockets, created an enterprise Document Management System with RBAC and digital signing workflows, and conducted computer vision research comparing YOLO models for freshwater fish detection.

I primarily work on Linux and enjoy designing systems with clean architecture, maintainability, and performance in mind. I'm always interested in learning new technologies and solving practical engineering problems through thoughtful software design.

S1 Universitas Aisyiyah Yogyakarta 2022 — 2026

Information Technology. IPK 3.66

Technical Skills

Core programming languages, web stacks, databases, architecture, and developer tools.

Selected Projects

A selection of key projects I've designed and built. Visit my GitHub for more.

Sept 2024 — Dec 2024

A interpreted programming language written in Go with syntax focused on the Indonesian Language. Features its own lexer, parser, evaluator, and detailed line-number error reporting.

  • Data types: string, integer, boolean, and arrays
  • High-order and first-class functions support
  • Conditional statements and rich expression evaluation
  • Designed language grammar and execution model from scratch
  • Includes online web playground & CLI execution engine
  • ~3000 lines of handwritten code (didn't use AI)
kusmala interpreter demo
Go System Programming Compiler Development Parser, Lexer & AST Indonesian Syntax
Sept 2025 — Dec 2025

An enterprise Document Management System created for client PT Aino Indonesia as part of my University Capstone Project. I serve as the only developer on the team.

  • Supports sequential, parallel, group-based digital signing workflows
  • Supports Upload, View, Send, Sign, Audit, Download, Filtering and Delete document.
  • Drag & drop signature placement with visual signature overlay
  • Authorization with RBAC and authentication with JWT.
  • Inlcudes Admin role.
View Screenshot Gallery (23 Images)
Fullstack Development React Node.js / Express MongoDB / Mongoose JWT & RBAC REST API
September 2026

A lightweight, self-hosted, deployless, anonymous public real-time chat app that becomes publicly accessible without deploying to a cloud server. Instead of deploying to a VPS or cloud platform, the application runs entirely on the host's local machine and uses Ngrok tunnel to expose it to the internet through a secure public URL.
Users can join existing chat rooms or create their own rooms with optional password protection. No registration, email, or user accounts are required, only a temporary username is needed to participate in conversations.

  • Real-time messaging using WebSockets and utilizing Go goroutines concurrency and channels
  • Create and join multiple chat rooms
  • Anonymous usernames (no accounts, resgistration or authentication system)
  • Self-hosted and publicly accessible through Ngrok tunneling
  • SQLite for storing chat history
  • Ngrok integration to expose the local server as a public URL without deploying to a VPS or cloud service
Go + Fiber Websocket SQLite NGROK Real-time chat
May 2025

A lightweight HTTP server library for Go, built from scratch using TCP connections without relying on Go's http package, giving deep insight into http ptocol and network-level backend development.

  • Implemented an HTTP server directly on top of Go's net TCP package.
  • Built HTTP request parsing and response handling from the ground up.
  • Designed a simple routing system supporting HTTP methods and custom handlers.
  • Added static file serving for documents and media.
  • Implemented configurable HTTP response headers and status codes.
  • Added JSON and byte-based response support.
  • Designed the library with a simple API for defining routes and starting the server.
// EXAMPLE
h := http.Init()
h.LoadStatic("/static", "./resource")

h.Routes = []*http.Routes{
  {
    Path: "/api/foo",
    Method: "GET",
    Handler: func(h *http.Http) {
      h.Response.Headers.SetStatusCode(200)
      h.Response.Headers.ContType = "application/json"
      h.Response.Body.Byte([]byte(`{"status":"ok"}`))
    },
  },
}

h.StartServer("127.0.0.1", ":8000")
Go Network Programming TCP Sockets HTTP Protocol
Feb 2024

A fast CLI tool see running processes and overview of a computer written in Go for Linux systems. Provides a clean overview of running processes and summary information of computer hardware and software.

  • Monitors system processes and resource consumption based on RAM usage
  • See information about computer hardware and software
  • Display information about Operating System, RAM, CPU, DISK, Network, GPU and user
  • Built specifically for Linux environments
taskm CLI preview
Go CLI Tool Linux System Process Monitor
Apr 2025

A web-based OCR application for recognizing Javanese language from images and converting it into digital text. Built with Golang for the backend and Tesseract OCR as the recognition engine, featuring a clean and minimal interface with image preview, drag-and-drop upload, OCR processing, and downloadable text results.

  • Built a web-based Javanese OCR application using Golang and Tesseract OCR.
  • Implemented image upload, drag-and-drop, real-time image preview, OCR text extraction, and downloadable output
  • Used tessdata_best model provided by the tesseract engine community.
  • Containerized the app with Docker. Available at Docker Hub
Go Web Programming Tesseract Engine OCR Docker
Dec 2023

A lightweight command-line utility for compressing and extracting files and folders using ZIP archives. Built with Go, Zipper provides a simple CLI interface for quickly zipping individual files, multiple files, or entire directories, as well as extracting ZIP archives to a specified destination.

  • Zip individual files or multiple files or even entire directories
  • Extract ZIP archives with custom destination paths
  • Simple command-line interface
  • Lightweight and fast
// EXAMPLE
// ZIP MULTIPLE FILES
$ zipper -z -fl [task1.pdf task2.pdf] homework

// ZIP A FOLDER
$ zipper -z -fd my-project backup

// UNZIP AN ARCHIVE
$ zipper -u homework.zip homework-done
Go CLI tool ZIP Archive
May 2025

Built an end-to-end web application that detects multiple Indonesian freshwater fish species from a single image using my own YOLOv12 object detection model. Independently created the dataset, performed manual annotation and augmentation in Roboflow, trained the model in Google Colab, deployed it to a web application. The application identifies multiple fish and multiple species simultaneously, displays nutritional information for each detected species, and generates personalized cooking recipes using a Large Language Model (LLM).

  • Multi-object and multi-species fish detection in a single image.
  • Perform dataset collection, annotation and augmentation in Roboflow and trained the model in Google colab. Link to Roboflow ->
  • Supports detection of Milkfish (Bandeng), Catfish (Lele), Tilapia (Nila), Pangasius (Patin), and Gourami (Gurame).
  • Displays nutritional information for each detected fish species.
  • AI-generated cooking recipes based on detected fish using an LLM.
  • User-friendly web interface for image upload and real-time inference.
Python + FastAPI Machine Learning Web Programming YOLOv12 Roboflow Google Colab Image Detections

Work Experience

Professional internships, freelancing and community teaching experience.

Software Engineering Intern (ERP & Backend)
PT. Aino Teknologi Indonesia
Oct 2024 — Dec 2024

Engineered an internal Enterprise Resource Planning (ERP) Project Dashboard to streamline tracking across company-wide projects. The system replaces spreadsheet-based project management with a centralized dashboard that provides project tracking, financial monitoring, Excel data import, and secure access management using Role-Based Access Control (RBAC).

Built with Laravel, PostgreSQL, and the Spatie Laravel Permission package, the application enables different user roles such as Admin, Project Manager, and Finance to access only the resources and actions relevant to their responsibilities.

  • Designed the database schema (ERD) for project, transaction, finance, and user management.
  • Implemented RBAC with roles, permissions, and route-level authorization using Spatie.
  • Developed Excel import functionality with data validation and automatic database mapping.

Freelance Full Stack Web Developer
PT. Desty Jaya Mandiri (destyjayamandiri.com)
Aug 2026

Built & deployed a production-ready website for PT Desty Jaya Mandiri, a Yogyakarta-based property company, featuring a public property catalog and a secure admin dashboard for managing listings.

  • Developed a production-ready company website for a Yogyakarta-based property company using Laravel, Vite.js, SQLite, and JavaScript.
  • Built a complete Admin Dashboard to manage property listings with create, update, delete, image upload, and publishing features.
  • Designed and implemented the backend architecture, database schema, RESTful routes, and authentication system for administrative users.
  • Developed responsive frontend pages for customers to browse available properties and company information.
  • Deployed and configured the application on a shared hosting environment using cPanel, including database migration and production setup.

Programming Teacher (KKN)
SMK Muhammadiyah 1 Playen (TKJ Department)
August 2025

Taught basic programming to vocational high school students during KKN at Gunung Kidul. Utilized BAIK—a programming language featuring Indonesian syntax—allowing students to quickly grasp core programming logic, algorithms, and flow control. See the Blog & Documentation here -> https://kkn17-siyono-wetan.netlify.app

Certificates & Published Papers

Professional certifications, academic publications, and research achievements.

Feel Free To Reach Out

Need anything? Just address me.