Full Stack Developer
Webriqs Technologies Inc.
Cebu City, Philippines (Remote/On-site)
Multi-role portal for a US building products manufacturer
Four user types in one app: admin, staff, contractor, and distributor, each with its own dashboard. Contractors work their homeowner leads, send quotes, and track deals, and distributors see only their own accounts. Access is enforced on the server per role rather than hidden in the UI, so a contractor cannot reach another contractor's leads by guessing a URL.
Next.jsTypeScriptPostgreSQLHubSpot CRM integration
Lead assignment, deal stage updates, and portal activity all sync into HubSpot through its API. Lead status syncs both ways: a HubSpot webhook updates the portal when a status changes in the CRM, and the portal updates HubSpot when it changes in the portal. Each update first checks that the status is valid and not already the same, so nothing is sent twice. Sales stopped keeping a second copy of the pipeline: what happens in the portal is what the CRM shows.
HubSpot APIWebhooksB2C storefront on Medusa
Storefront and checkout on Medusa, with Postgres on Supabase, Redis for caching, Mollie handling payments, and ZeptoMail sending order confirmations and shipping updates.
MedusaSupabaseRedisMollieZeptoMailMarketing and content sites
Next.js front ends with Sanity behind them, deployed on Vercel and Netlify. Content is modelled so the people who own the copy can change it without a deploy or a developer.
Next.jsSanityTailwind CSSVercelNetlify
Full Stack Developer
Web2 Inc.
Cebu City, Philippines (On-site)
SSL monitoring across 500+ client sites
The client care team tracked certificate expiry in a spreadsheet and chased renewals by hand. Replaced it with a tool that checks expiry dates, sends reminders on a schedule, and assigns the renewal as a task to whoever owns the account.
LaravelMySQLCronAI content and code assistant
Co-built an internal assistant for writing, proofreading, drafting emails, and working through bugs. Used across teams, not just engineering.
LaravelReactDynamoDBOpenAIInternal HR, sales, and inventory systems
Kept the systems the company ran on day to day working and changing: bug fixes, new reports, and features on a long-lived CodeIgniter and jQuery codebase.
CodeIgniterjQueryBootstrapMySQLDeployment automation
Two Laravel apps were being deployed by hand. Wrote Git hooks and Bash scripts on the self-hosted Git server so a push to the deploy branch pulls, installs, and restarts on Amazon EC2 by itself.
BashGit hooksAmazon EC2
Software Engineer Intern
Fullspeed Technologies Inc.
Cebu City, Philippines (Remote/On-site)
Real-time multiplayer board game
Built solo. Game state lives in Cloud Firestore and syncs between players as they move, which meant working out how to keep several browsers agreeing on one board. See the project.
Next.jsTypeScriptCloud FirestoreTech article site
The project my manager gave me before I joined client work. Users sign in with Google through Firebase Authentication and post articles. A scheduled Artisan command pulls tech news from the NewsData.io API, and GitHub Actions checks each push and deploys over SSH on each release. See the project.
LaravelFirebase AuthenticationTailwind CSSGitHub ActionsAdmin features for an artist-fan platform
Added social link management and subscription cancellation to the admin side of a mobile product.
Next.jsTypeScriptFirebaseTechnical writing
Wrote technical posts through the internship. The final one was published on the company blog.