I build web appsmobile appsgamesrealtime tools people love to use.
Hi, I’m Louie Jay — a full-stack developer in Cebu, Philippines, currently building
NativeCamp at Forty Degrees Celsius. I take ideas from first sketch to a live product: interface, backend,
database, deployment and app-store build.
Daily-menu ordering for a working restaurant: customers order before the cutoff, the kitchen sees exactly what to cook, everything goes out in one delivery.
Live stock — “Only 3 left” and “Sold out” update in real time
Vendor dashboard: kitchen totals, handover list, bulk status updates
Customers edit or cancel their own orders before the cutoff
A few of the tricky bits behind the projects above — and how I solved them.
Jammr
Everyone hears the same second
The server never streams audio or a playhead. It stores “position P at server time T”; each client estimates its clock offset with NTP-style pings and corrects any drift over 1.5 s. New songs start 1.5 s in the future so every device can buffer and begin together.
Result: tight sync across browsers and phones with almost no server load.
KusinaLink
Never sell the last plate twice
Stock is deducted at the moment an order is placed, inside a single atomic Postgres function — so two customers racing for the last serving can’t both win. Cancellations return stock, and orders snapshot the name and price they were bought at.
Result: the kitchen’s numbers always match reality.
Isla Lola
A game that grows without breaking saves
All game rules live in a pure, renderer-free state module covered by Vitest suites. Saves are versioned and migrated forward (v1 → v6), so every new season, crop and feature arrived without wiping anyone’s progress.
Result: new seasons ship without resetting anyone’s progress.
Jammr
Unlimited music on a 100-search budget
YouTube allows ~100 searches a day. I built a matching pipeline that tries free sources first — MusicBrainz by ISRC, then the artist’s official channels — and only searches as a last resort, caching every match and pre-matching chart songs on a cron.
Result: most songs never touch the search quota.
KusinaLink
Deploys that really went live
The hosting alias sometimes kept serving the previous build after a production deploy. My deploy script stamps each build with a unique ID, polls the live site for it and re-promotes until the new version is actually being served.
Result: one command, and production is verified fresh.
Isla Lola
Speaking the player’s language
A small i18n layer with English keys ships the UI in English, Filipino, Cebuano, Ilocano and Hiligaynon — with a glossary that deliberately keeps the characters’ Taglish dialogue intact, because that’s how they really talk.
Result: a game that feels local, not translated.
04 How I work
From idea to live product, without the guesswork.
01
Understand
We agree on who it’s for, what success looks like and what’s out of scope — written down, so nothing gets lost.
02
Design
Flows and screens first, then the data model. Decisions you can see and react to before they’re expensive to change.
03
Build in slices
Working features every few days on a live preview link, so you can click through progress instead of reading reports.
04
Ship & support
Production deploy, docs and a handover — then iteration based on how real people actually use it.
Made in the Philippines
05 About me
I care about the people on the other side of the screen.
I’m Louie Jay, a web developer at Forty Degrees Celsius, Inc. in Cebu, where I work on NativeCamp. Outside work I build my own games and apps — useful, warm and genuinely local, like a lunch-ordering app for a neighbourhood kitchen or a cozy game about island life with Lola.
I love the whole journey: shaping a fuzzy idea, choosing the right tools, sweating the small interactions and getting it into people’s hands. I write things down, explain trade-offs plainly and finish what I start.
Cebu IT Park · the engineering team behind NativeCamp, one of Japan’s largest online English conversation schools
I build and maintain the web front end that learners use every day — modernising legacy pages onto a newer stack and keeping them pixel-matched with production on desktop and mobile.
Philippine team of BlendIT, an Estonian software company (Tallinn · Bohol · Cebu) delivering web, mobile and UX projects for clients with human-led, AI-assisted development
Tested client web apps end to end — checking new features, finding bugs and verifying UI/UX against specs — and documented issues for the developers. Explored the stacks BlendIT delivers in, and built my main project on a headless Laravel + Vue.js architecture:
Drive — a Google Drive–style cloud storage app
Nested folders, drag-in file and whole-folder uploads with progress, search, favourites, trash with restore, sharing with other users by email, and one-click zip downloads of any selection.
Laravel 11
Vue 3
Inertia.js
Tailwind CSS
MySQL
Docker
Education
2020 — 2024
BS Information Technology · Cebu Technological University
Cebu City, Philippines
Based inCebu, Philippines · GMT+8
WorksRemote, worldwide
SpeaksEnglish · Filipino
Now buildingIsla Lola for Google Play
06 Contact
Have a project in mind? Let’s build it.
Tell me a little about it and I’ll get back to you with next steps.
A cozy Filipino island-life game about farming, fishing, cooking and community.
The goal
Most farming games are set somewhere else. I wanted one that feels like home: a kubo by the sea, Lola’s recipes, typhoon season, Undas and the barangay fiesta — and a business model with no gems, no timers and no fear-of-missing-out mechanics.
What I built
A 42-day rainy-season story that grows into a full year with alternating seasons and 14 cultural events
Farming (10 crops), fishing, cooking (12 recipes), a kitchen upgrade and a crop journal
Villagers with dialogue, a community board, bayanihan projects and Lola’s memories to unlock
Kubo decorations, calendar gifts and milestones that reward playing, not grinding
An ethical shop (cosmetics only) with a swappable purchase provider for store billing
On-device playtest telemetry with an export and report script to guide tuning
Engineering highlights
Pure rules engine separated from rendering, with Vitest suites for seasons, economy, shop and i18n
Versioned save format with forward migrations through six versions
Android app via Capacitor: back button, save-on-pause, safe areas, signed release bundle
Scripted store art: screenshots, feature graphic and icon generated from real game captures
Ordering platform · 2026 · Restaurant client
KusinaLink
Daily-menu ordering for a single restaurant — in daily use by Tasty Sacy.
The problem
A home-style kitchen delivers lunch to one office every day. Orders came in through chat messages, so the cook guessed quantities, dishes sold out mid-order and someone had to match every packed meal to a name by hand.
What I built
Customer menu with a cutoff time, live “Only N left” and “Sold out” — no account needed
Master food list with “did you mean…?” duplicate detection and price history
Daily menu builder: tick foods, drag to reorder, set limits, copy from another day
Kitchen summary (totals per dish), handover list by name and bulk status updates
Order pipeline from Pending to Delivered, with undo/restore and customer edit or cancel
Engineering highlights
Atomic Postgres function for stock so concurrent orders can never oversell
Orders snapshot name and price; customers are warned if a price changed at checkout
Row-level security, anonymous sign-in for customers, Manila-time logic server side
Nine numbered SQL migrations and a demo mode that runs entirely in the browser
Deploy script that verifies the live build ID and re-promotes if hosting serves a stale one
Realtime web & mobile app · 2026
Jammr
A group chat where friends listen to the same music at the same moment.
The idea
Listening together over a call means someone shares their screen and everyone else hears it compressed. Jammr puts a proper player inside a group chat: anyone starts a jam, and everybody’s own player stays locked to the room’s clock.
What I built
Shared playback — play, pause, seek and skip stay in sync; late joiners land in the right spot
Search, drag-to-reorder queue, autoplay and “because you’re listening to…” recommendations
A full chat: replies, reactions, mentions, read receipts, file sharing and notifications
Slack-style emoji picker with ~1,900 emoji and per-chat custom emoji uploads
Public and private chats, light and dark mode, an admin page and a native mobile app
Engineering highlights
One Durable Object per room holds state and sockets — no database or servers to run
NTP-style clock offset estimation with drift correction every second
Quota-aware song matching pipeline with caching and cron pre-matching of charts
Pluggable music-source registry so new providers don’t touch sync or the queue
3D browser game · 2026 · Prototype
Adrift
Ocean raft survival in the browser — with dinosaurs on the horizon.
The goal
Prove that a convincing survival game — water you want to dive into, a raft you build piece by piece, a world that feels alive — can run instantly in a browser tab with no install.
What I built
Gather → craft → build → upgrade loop: hook debris, craft tools, place and salvage raft pieces
Diving with changing swell, light and water colour, and schools of fish below the raft
A continent 80 m off the bow: beach, conifer forest and a mountain ridge
Dinosaur ecosystem — herds bolt, raptors stalk the treeline, predators hunt each other
Engineering highlights
Custom ocean and sky shaders; terrain, wildlife and underwater effects as separate modules
Pointer-lock fallback: free look from raw mouse deltas with edge turning when lock is refused
Blender → GLB asset pipeline driven by Python scripts; Three.js vendored for offline play
Dev-only admin panel that only appears on local or LAN hosts