Skip to content
Available for work & freelance

Kier
Abelo

$ whoami — Full Stack Developer

I'm a full stack developer based in Cebu, Philippines. I build apps that work offline, tools that respect your time, and interfaces that feel fast. From transit routing and POS systems to ML models and open-source libraries.

01 — WORK

Selected projects, shipped.

Six builds across the stack — from transit routing and POS systems to ML classifiers and open-source tooling. Each one shipped to production.

012026Transit App

Amping

An offline-first, Flutter App and PWA built for Cebu commuters. With geofenced Buzzer, Live Trip sharing and gamified features.

A native Flutter app and web PWA sharing a single Supabase backend and transit engine. A* pathfinding with 4-category weighting and grounding rules for Cebu clearance zones. Offline-first via PMTiles with Base64/XOR data obfuscation so maps and routes work without signal. Server-authoritative RPG progression — earn XP, unlock badges, and discover stops across your commute. Live trip sharing with self-destructing links (2–15 min, pg_cron sweep), and saved trips with cloud sync and owner-only RLS.

FlutterReactSupabasePMTilesA*Firebase
role
Developer
022026POS System

NakPOS

A point-of-sale system that works on any device, online or offline. Built for Philippine businesses with BIR compliance built in.

A Progressive Web App that runs on phones, tablets, and laptops — fully offline once authenticated. IndexedDB-backed outbox sync with last-write-wins conflict resolution against Supabase. Multi-rate VAT engine (inclusive/exclusive), Senior Citizen and PWD discounts per RA 9994/10754, X/Z reports, and CSV export. Full restaurant and retail suite: KDS, drag-and-drop floor plan editor, QR ordering, inventory with expiry tracking and weighted-average cost, promotions engine (BOGO/combos/happy hour), recipe BOM auto-deduct, multi-branch loyalty ledger, and ESC/POS thermal printing via WebUSB and Web Bluetooth.

ReactTypeScriptViteDexieSupabasePWA
role
Developer
032026Open-Source Library

Lakaw

A zero-dependency A* pathfinding library extracted from a real transit app. Includes an interactive demo showing A* vs Dijkstra.

A tiny TypeScript A* search library generalized from the routing engine that powers amping.app. The StablePriorityQueue ships verbatim from production — a binary min-heap with sequence-number tiebreaker so ties dequeue in insertion order, making A* exploration deterministic. Zero runtime deps, 4.5 KB ESM / 5.6 KB CJS, types included. 14 Vitest tests including a randomized parity proof (50 trials × 200 mixed ops vs a stable-sort reference). The interactive demo is a side-by-side A* vs Dijkstra visualizer with g-score heat map, frontier visualization, animated path tracing, and 6 preset maze layouts.

TypeScriptA*PathfindingVitesttsupSVG
role
Developer & maintainer
042026Real-Time Data Viz

Panahon

A no-nonsense weather dashboard for Philippine cities. Every chart is hand-drawn SVG, no chart library, no API key required.

A real-time Philippine weather dashboard consuming the free Open-Meteo API — no key, no auth, CORS-enabled. All charts are hand-built SVG with bezier interpolation, gradient fills, and responsive scaling: 24h temperature area chart, precipitation probability bars, 7-day forecast range strips, and hourly temperature bars per day. Covers 8 PH cities from Cebu to Baguio. Wind compass with gusts, UV index with color bands, sunrise/sunset tracker with day-progress bar, animated canvas rain overlay, geolocation auto-detect, and 10-minute SWR auto-refresh. Zero chart-library dependencies.

Next.jsReact 19Tailwind CSS 4SVGSWROpen-Meteo
role
Developer
052026Developer Tool

Suwat

A markdown editor that lives in your browser, with live preview and file import from 6 formats. No account, no server, no tracking.

A browser-based markdown editor with live split-pane preview and proportional mirrored scrolling (rAF-guarded to prevent sync loops). File import from 6 formats: .md, .txt, .html (turndown), .docx (mammoth), .pdf (pdfjs-dist), and .rtf. Heavy converters are dynamically imported so the main bundle stays at 53 KB gzipped. Syntax highlighting for 15 languages, auto-save to localStorage, auto-generated table of contents, markdown cheatsheet modal, export to .md or standalone .html, cursor position tracking, and DOMPurify XSS sanitization on all rendered HTML.

TypeScriptVitemarkedDOMPurifyhighlight.jsturndown
role
Developer & maintainer
062026Machine Learning

Balikas

A Filipino hate-speech classifier trained on 44k social media samples. F1 = 0.917 on held-out test.

XLM-RoBERTa fine-tuned on a combined corpus of 43,892 Filipino social media samples: Cabasag et al. (2019) election tweets + SEACrowd Filipino TikTok transcriptions (Taglish + Cebuano code-switched). Achieves F1 = 0.917 on held-out test, up from 0.765 with Filipino-only training — the TikTok data adds code-switched text that significantly improves generalization. A TF-IDF + LogReg baseline (F1 = 0.749) is included as a floor comparison. Deployed on a HuggingFace Space with a live Gradio demo you can try. Also evaluates zero-shot on a small Cebuano set with documented limitations (constructed eval data). Trained on free Colab T4 in ~25 minutes.

PythonPyTorchXLM-RoBERTascikit-learnGradioHuggingFace
role
Author
02 — ABOUT

I turn rough ideas into reliable, fast products.

I build fast, accessible web products end-to-end — from typed APIs and Postgres schemas to the last pixel of the interface. Most at home in the TypeScript + React + Node stack, but I like picking up whatever tool makes the product better.

Six years shipping production software for startups and open-source. I care about performance budgets, motion that earns its keep, and code that the next engineer can actually read.

kier@m225 — zsh

$ cat now.txt

location → Cebu, Philippines

role → Full Stack Developer

focus → realtime + DX tooling

learning → Go · distributed systems

status → Available for work & freelance

$

01
6+

Years coding

02
40+

Projects shipped

03
25

Open-source repos

04
4

Cups of coffee / day

03 — CONTACT

Let's build something worth shipping.

Say helloAvailable for work & freelance