Skip to content
Portrait of Bennett Payoyo

Bennett Payoyo

Computer Science student at PUP Manila. Four pull requests merged into Prettier, pnpm, Tabby and Node.js’s Undici.

Open to internships and freelance work

tap anywhere to pull

Still in school.
Alreadyupstream.
Shipping homework software.

Proof, not promises.

Most student portfolios stop at mockups. Mine points at merged code: four pull requests accepted in September 2026 by the maintainers of Prettier, pnpm, Tabby and Undici.

At home I build for Bicol and for students like me, and I verify what I ship with regression tests, maintainer review and real deployments.

Your team next?

Four merges
172k stars of pull

Pull requests merged in September 2026 into open-source projects with 172k combined GitHub stars. Each one is a real bug or feature, a regression test, and a round of maintainer review.

  • Flash taskbar/dock icon when the terminal bell rings

    Eugeny/tabby · merged 11 Sept 2026 · Electron · desktop UX

    • Taskbar flashing on Windows and Linux, dock bounce on macOS, via Electron flashFrame when the bell rings in an unfocused window.
    • Shipped as an opt-in terminal.bellFlashFrame setting, off by default and hidden on the web build.
    Read the merged PR
  • Angular: support @boundary / @error error boundaries

    prettier/prettier · merged 15 Sept 2026 · Parsers · formatting

    • Parsing and printing for Angular 22.2 error-boundary blocks, reusing the pairing rules of @if/@else and @defer.
    • Upgraded angular-html-parser and iterated with a maintainer through review, adopting Angular’s official examples as fixtures.
    Read the merged PR
  • Use printf instead of echo for POSIX path normalization

    pnpm/pnpm · merged 15 Sept 2026 · Rust · shell · package managers

    • POSIX bin shims were corrupting Windows-style paths: echo turned \n and \t inside C:\node_modules\.bin into control characters.
    • Switched the Rust cmd-shim header to printf, added regression tests, and made warm reinstalls rewrite stale shims.
    Read the merged PR
  • Do not report aborted on successful cache hits

    nodejs/undici · merged 15 Sept 2026 · Node.js · HTTP caching

    • The cache interceptor reported aborted=true on successful hits because the flag aliased stream.destroyed.
    • Tracked cancellation with an explicit flag set only in abort(), with regression tests for both paths.
    Read the merged PR

Every project,
in detail

Six builds, from a hackathon podium to live deployments. Open one for the stack, the proof, and the links.

  • BANTAYOG interface

    1st Runner-Up, GDG on Campus PUP SparkFest · Top 20, CrypTita Plays Builder Showcase

    A nutrition-subsidy prototype for LGUs, guardians, and sari-sari merchants. QR Nutri-Passes restrict redemptions to approved food purchases, Gemini recognises the products at checkout, and settlement runs on the Polygon Amoy testnet.

    • Server-enforced purchase rules behind QR Nutri-Pass credits
    • Gemini-powered product recognition wired into settlement

    Next.js · Polygon Amoy · Gemini API

  • Bikol Dictionary interface

    A searchable dictionary and learning app for the Bikol language, bringing together Mintz’s Bikol Dictionary, Wiktionary, LearnBikol, and community submissions, with flashcards, verb conjugations, and substitution drills.

    • Full-text search across 9,000+ entries
    • PostgreSQL indexing for sub-second queries
    • Data model ready for more Philippine regional languages

    Next.js · TypeScript · PostgreSQL · Supabase · Prisma

  • TANGLAW interface

    A scholarship portal for Filipino tertiary students: a filterable directory, readiness assessments, an exam reviewer, and Owel, a retrieval-augmented chatbot that answers from verified scholarship records instead of model recall.

    • RAG answers grounded in curated scholarship data
    • Unit tests in Vitest, end-to-end in Playwright

    Next.js · Express · pgvector · LangChain · Gemini

  • C-LABS interface

    A browser-based C practice platform: 60 challenges across 12 core topics and five tiers from Novice to Expert, with progress tracking and real GCC output.

    • Monaco, VS Code’s editor engine, with C syntax highlighting
    • Compiles through the Piston API and returns real terminal output

    Next.js · Monaco Editor · Piston API

  • ScholarAid interface

    A scholarship assistant for PUP Iskolars ng Bayan with personalised matching, eligibility checks, and application review, built on Next.js route handlers with Gemini and Groq through LangChain.

    • Separate API routes for chat, matching, eligibility, and review
    • Prisma schema on PostgreSQL, deployable to Vercel

    Next.js · Prisma · PostgreSQL · NextAuth · LangChain

  • A fully client-side, two-player local multiplayer platform for CWTS: split-screen panels, shared-keyboard controls, and four canvas games — Parkour, Bowling, Duck Pond, and a sky-battle shooter.

    • A game registry: new games plug in through one component interface
    • No changes to core platform code to add a game

    React · Vite · Zustand · HTML5 Canvas

In the commit log

725 contributions in the last year across 93 public repositories on GitHub.

@Yahiro025 on GitHubSnapshot refreshed 28 Sept

About/

My story

I’m from Bicol. I studied STEM at Bicol Regional Science High School, then came to Metro Manila for Computer Science at PUP, where I hold a 1.32 GPA, with 1.00 the top mark. I learn by building real things and reading the systems underneath them. Backend, databases and architecture pull hardest. I use AI to move faster, and tests and code review to stay honest.

Now & before

Media Partnership Lead at Seekers Guild since August 2026. Backend AI Engineering in FlyRank AI’s educational program since July 2026. Member of the Junior Blockchain Education Consortium at PUP Manila and of AWS Cloud Club PUP, October 2025 to August 2026. BS Computer Science at PUP since 2025, after a STEM diploma from Bicol Regional Science High School.

Awards

1st Runner-Up at the GDG on Campus PUP SparkFest Hackathon with BANTAYOG, out of 15 teams and 10 finalists, July 2026. Top 20 Finalist at the CrypTita Plays Builder Showcase at WOCEE, also with BANTAYOG.

Toolbox

TypeScript, JavaScript, C, Next.js, React, Node.js, PostgreSQL, Supabase, Prisma, Tailwind CSS, Gemini API, RAG, Vercel, Railway, Render

Want to build something together?

Internships, freelance builds, or an open-source bug you want fixed.