Paul GravosoExplore the world instead

Web and mobile apps for businesses in the Philippines, built by one developer you can actually talk to.

  • 3 years shipping software
Taking new projects. Tell me about yours.
The same four projects, as a two-minute walk through this town. Junia, my cat, is the guide.
Explore the world

Work

  1. HINGACU Palawan coastal data repository

    Stop 1 · A coastal research station

    Parked for now

    Palawan's coastal-monitoring program collects reef, mangrove, seagrass and shoreline data by hand across many field teams, with no shared place to store or view it over time.

    ParkedPersonal projectDjango, GeoDjango, PostGIS, Django REST Framework, React, TypeScript, Leaflet

  2. Live at balikha.artDevelopment is currently parked.

    Independent Filipino makers who sell handmade goods often have no storefront of their own, relying on social media posts that are hard to search or trust.

    LivePersonal projectNext.js, React, PostgreSQL, Drizzle ORM, Better Auth, Tailwind CSS

  3. UP System QA website

    A university quality-assurance office's site

    In development

    The UP System Quality Assurance Office needed to replace its old site with one editors can update themselves, without editors touching code.

    In developmentClient projectAstro, Payload CMS, Next.js, PostgreSQL

  4. FleetHop rental management

    Stop 4 · A car rental lot

    In development

    Small Philippine car rental operators running a handful of vehicles track bookings and handovers by hand, in spreadsheets and messaging apps.

    In developmentPersonal projectNestJS, PostgreSQL, React, Vite

  5. Nannoworks Laboratory site

    A university laboratory's site

    In development

    The lab's old WordPress site is difficult for its own staff to keep updated with new people, publications and news.

    In developmentClient projectAstro, Payload CMS, Next.js, PostgreSQL

  6. QA Conference 2026 room timer

    A university conference's breakout timer

    Used throughout the QA Conference, June 2026

    An unconference's breakout rooms needed a shared, synced timer so every room's session stayed on schedule without one person manually announcing time.

    LiveClient projectCloudflare Workers, Durable Objects, JavaScript

  7. QA Conference 2026 assignment lookup

    A university conference's assignment lookup

    Used throughout the QA Conference, June 2026

    Conference participants needed a fast way to find their room, table and discussion topics for an unconference with many parallel sessions, without staff looking each one up by hand.

    LiveClient projectPython, Fuse.js, html2canvas

  8. QA Portal (iAADS+)

    A university system's quality-assurance portal

    Parked for now

    The University of the Philippines System runs self-assessment and external quality-assurance reviews across its constituent universities, with different people responsible for different steps of the process.

    ParkedPersonal projectRuby on Rails, PostgreSQL, HAML, Bootstrap

Workshop

  • Shuttlo, on-device badminton video analysis

    Badminton players and coaches want video analysis of matches, but cloud-based analysis means sending footage off the device and paying for computation.

    React Native, PyTorch, ONNX, ExecuTorch

    Parked

  • goip-inator home GPU job server

    Running GPU-heavy model and inference work on a laptop is slow and ties up the machine for everything else.

    Python, FastAPI, SQLite, Tailscale, Ollama

    Parked

How I work

Fixed-price milestones
You approve a scope, I quote it. No surprise hours.
Weekly demos
You see something running every Friday from week one.
You own everything
Code, accounts and domains are in your name from day one.
Replies within a day
Viber, email or a call. Manila hours, with some overlap for US clients.

Tell me about your project

I reply within a day, Manila hours.

Prefer email?paogravoso@gmail.com


Paul Gravoso · Freelance software developer · Quezon City, Philippines · paogravoso@gmail.com

Stop 1 · A coastal research station

HINGACU Palawan coastal data repository

Personal project

Problem

Palawan's coastal-monitoring program collects reef, mangrove, seagrass and shoreline data by hand across many field teams, with no shared place to store or view it over time.

What I built

A data repository and public map: a Django and GeoDjango backend with PostGIS storage and a staff-only interface for uploading and publishing field data, plus a React and Leaflet map where the public can browse published survey results.

Stop 2 · A pottery studio

Balikha, a marketplace for Filipino makers

Personal project

Problem

Independent Filipino makers who sell handmade goods often have no storefront of their own, relying on social media posts that are hard to search or trust.

What I built

A marketplace where makers list and sell their handmade work, built with Next.js and PostgreSQL, with its own authentication, image storage and search.

A university quality-assurance office's site

UP System QA website

Client project

Problem

The UP System Quality Assurance Office needed to replace its old site with one editors can update themselves, without editors touching code.

What I built

A static site built with Astro that reads from a Payload CMS at build time, so editors manage pages, news and events in an admin interface while the public site stays fast and keeps serving its last build even if the CMS is down.

Stop 4 · A car rental lot

FleetHop rental management

Personal project

Problem

Small Philippine car rental operators running a handful of vehicles track bookings and handovers by hand, in spreadsheets and messaging apps.

What I built

Rental management software for operators running three to fifteen vehicles, with a NestJS API and a React front end covering staff accounts, the vehicle fleet and customers.

A university laboratory's site

Nannoworks Laboratory site

Client project

Problem

The lab's old WordPress site is difficult for its own staff to keep updated with new people, publications and news.

What I built

A rebuild as a headless CMS plus a static front end: Payload CMS for editors, and an Astro site that fetches published content at build time and ships plain HTML.

A university conference's breakout timer

QA Conference 2026 room timer

Client project

Problem

An unconference's breakout rooms needed a shared, synced timer so every room's session stayed on schedule without one person manually announcing time.

What I built

A two-page web app backed by a Cloudflare Worker and a Durable Object per room, syncing each room's timer across every connected device in real time.

A university conference's assignment lookup

QA Conference 2026 assignment lookup

Client project

Problem

Conference participants needed a fast way to find their room, table and discussion topics for an unconference with many parallel sessions, without staff looking each one up by hand.

What I built

A self-contained web page with the participant list, fonts and libraries all inlined, so it works fully offline after the first load and makes no requests to any server once open. Participants search by name and can save their assignment as an image.

A university system's quality-assurance portal

QA Portal (iAADS+)

Personal project

Problem

The University of the Philippines System runs self-assessment and external quality-assurance reviews across its constituent universities, with different people responsible for different steps of the process.

What I built

A Rails application supporting these review workflows, with separate access for each role in the process, from unit heads up to chancellors.

A workshop project

Shuttlo, on-device badminton video analysis

Personal project

Problem

Badminton players and coaches want video analysis of matches, but cloud-based analysis means sending footage off the device and paying for computation.

What I built

On-device shuttle tracking on a phone: a shuttle detector ported from a research model to run through a mobile inference runtime, reading live camera frames on a React Native app.

A workshop project

goip-inator home GPU job server

Personal project

Problem

Running GPU-heavy model and inference work on a laptop is slow and ties up the machine for everything else.

What I built

A private, LAN-only job server for a home GPU machine: jobs queue and run on the GPU box over a private network, waking it from sleep when needed, so a laptop can offload machine-learning work to it.