Red Gabriel G. Tagura

3rd Year CS Student — Systems Programming & Backend Engineering


Most of my projects start with the same question: what's actually happening underneath? That curiosity drove me to engineer a zero-dependency HTTP/1.1 engine from scratch in Zig. Focusing on building lean, high-concurrency systems that run close to the metal.

Currently pursuing a Bachelor of Science in Computer Science at the Polytechnic University of the Philippines - Manila.

This site is served by a custom HTTP/1.1 server written in Zig, using epoll and POSIX I/O directly. No libuv, no framework. The simplest thing that could possibly work at scale.

Languages Python, C, C++, Zig, Java, JavaScript, PHP
Frameworks Express.js, FastAPI, Node.js, React Native, N-API, Raylib, Laravel
Cloud / Infra Docker, Git, CI/CD, Vercel, Render, Microsoft Azure
Databases PostgreSQL, Supabase, Redis, MySQL

Projects

Systems, AI platforms, and recruitment engines. Built to solve real problems.


Stratified Autonomous Memory Manager

Zig · Python · Node.js · Undergraduate Thesis

Offline profile-guided allocator in Zig using mmap with K-Means lifetime prediction to pre-bake arena selection, targeting reduced P99 latency and peak RSS in Node.js heap within a 1 GB-constrained backend environment.

Active

Ambigui2

Zig · Raylib · Expectimax · Genetic Algorithm

Tetromino AI engine with a dual-state bitboard in Zig and Raylib rendering — 139k nodes/sec at depth 5, beam width 8, 17.4ms/move latency. Bit-parallel collision and line-clear at sub-millisecond per-frame cost.

Evolved a 6-weight Dellacherie-inspired heuristic via tournament genetic algorithm, improving average gameplay score 2.70× across standardized seed evaluation.

2026

Portfolio Server

Zig · Linux epoll · Caddy · Azure · Bash

Zero-dependency HTTP/1.1 server from scratch in Zig — low-level POSIX sockets with an event-driven core using Linux epoll for non-blocking async I/O.

Deployed on Azure VM behind a Caddy reverse proxy. Serves this site.

2026

Gabay Med

React · React Native · Supabase · Llama-3 · Vercel

Two-sided AI healthcare platform: a hospital middleware dashboard for insurance, appointments, and doctor management; and a patient mobile app for booking and service discovery.

Dual-Agent RAG pipeline on Llama-3 — triage agent routes concerns to nearest qualified hospital via vector search; Auditor agent cross-validates against DOH guidelines.

2nd Runner-up — PUP Hackathon: Uthack ang Puhunan
2025

Tugma

FastAPI · React · Supabase · Docker

Job-matching engine with a dual-sided recruitment backend on FastAPI and Docker — independent auth flows for job-seekers and recruiters on a shared service layer.

Hash-based matching algorithm computing candidate-to-listing alignment scores in O(1), reducing match query time versus a naïve full-scan.

2025

Padayon

Express.js · PostgreSQL · Vue.js · Vite

Hotel reservation engine focusing on relational database integrity, complex querying, and concurrency handling.

2025

Donezo

Java · Java Swing

Custom prioritization algorithm for time-blocking to optimize task execution order.

2025

Experiences

Leadership experiences across organizations.


  1. Backend Department Head (Shift Out).

    Designed and delivered Behind the Code workshop series covering backend architecture, Git branching, and CI/CD pipelines, directly upskilling 50+ members across 4 cohorts.

    Established organization-wide code review standards and PR workflow policies, reducing merge conflicts and integration defects across all active tech projects.

  2. Membership Coordinator (JBECP - PUP Manila)

    Architected a centralized membership platform on Supabase (PostgreSQL), consolidating onboarding, attendance, and engagement tracking for 400+ active members into a single auditable data source.

    Designed row-level security policies and relational schemas to enforce role-based access control across all membership lifecycle events.

Blog

Writing on systems programming, low-level engineering, and the philosophy of building.


  1. Writing an HTTP/1.1 server in Zig from scratch

    How I replaced a framework-backed server with 600 lines of Zig, raw POSIX sockets, and Linux epoll. What the syscall boundary looks like, where memory gets tricky, and why the binary is around 300 KB.

  2. My first ever project

    The smooth journey of our group in learning the fundamentals of software development using Java Swing and Java. No backend frameworks.

Things

Server details, setup, and contact.


This server

This site is served by a custom HTTP/1.1 server written in Zig 0.15.2. It uses Linux epoll for I/O readiness and raw POSIX system calls for file serving — no libuv, no Tokio, no libevent. Single-threaded event loop. About 600 lines of Zig and a build.zig.

The binary is 350 KB stripped. It speaks keep-alive, handles Connection-Timeout correctly, and returns a real Content-Length on every response. Static files only. Deployed on Microsoft Azure B2ats v2.

Response headers on this page

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 20274
Cache-Control: public, max-age=300
Connection: keep-alive
Keep-Alive: timeout=30, max=100

Setup

Editor
VS Code
Domain
NameCheap
Machine
Azure VM
Languages
Zig
Reverse Proxy
Caddy

Contact

Email is best. Also reachable on LinkedIn and GitHub.