Web Development Projects

The Tiny Cakery website
March 2016 – Present

Active website: The Tiny Cakery

I’m developing this website for my baking business.


Planned features:

  • Product display with filters
  • Ordering form
  • Admin side for management of products, customers, and orders.

“Cleaner Energy” Website
October 2016

Our team was in charge of a simple HTML5-based photo editor in this website that allows users to load his/her photo, crop, ask a nose mask on it (with rotate and scale function) and then save the resulting image.

My contribution(s):

  • Added “Use My Facebook Photo” functionality for loading a photo for the editor. (Used JavaScript and Facebook JavaScript SDK)

Rewards System API
March 2016

Rewards System API

TNT Sure Panalo Wheel
February – December 2015 (turned over)

Technology: Laravel, PHP, MySQL, HTML, CSS, SSH, bash

Ongoing promo: TNT Sure Panalo Wheel

Promo for Smart and TNT subscribers where reloads earn them “spins” on a virtual wheel for prizes.

Virtual Wheel - Sure Panalo Wheel

Landing/Login: Sure Panalo Wheel

This is my most challenging web project so far, mostly because of real-time processing of reloads by subscribers of TNT. Imagine how many people all over the Philippines reload per minute. I was responsible for suggesting many of the solutions to problems encountered during campaign support.

When we were supporting this project, the registered users were at least 4 million, and it gave our database a great burden. We developed scripts that processed numerous amount of reload data and converted those into “spins”. These “spins” give users a chance to spin the virtual wheel, and if the wheel magnifier stops on a prize, the user wins it.

We kept a very close watch on winners of major prizes, to make sure no mistake in awarding happens. And because we did a great job developing TNT Sure Panalo Wheel, all awarded prizes were legit. ;)

System Features:

  • 4 million users
  • Processing of reload data from landing server of SMART/TNT
  • Processing of virtual wheel’s results
  • Pool of prizes
  • Prize awarding
  • Text blast to users (via SMS API)

Website Features:

  • Winners display
  • Profile page with “change password”
  • Graphical wheel
  • Display of available prizes

What I learned/gained from this project:

  • Felt more comfortable in Unix environment
  • Running queries via SSH command line
  • Handling large amount of data from millions of users from the country
  • SQL query optimization
  • Securing the prizes of promo site where about a hundred players “spin” the virtual wheel at the same second

Load Panalo
June 2014 – December 2015 (turned over)

Ongoing promo: LoadPanalo

Landing page - Load Panalo

This project has similarities with Sure Panalo Wheel, but this one processes reloads a few times a day instead of real-time.

Play to Win
April 2014 – June 2014

Technologies: Laravel, PHP, MySQL, Git, Sass/CSS, HTML, JavaScript/jQuery

An gaming website with matching engine.

Landing page - Play to Win

Inner page - Play to Win

Personality Quiz on a microsite
March 2014 – April 2014

PHP Framework: CodeIgniter

Personality Quiz

This was a Facebook canvas app for a client’s promo. User were asked questions and were able to choose from multiple answers. Based on the answers, a personality is given as result.

PinoyExchange – Forum Maintenance
January 2014 – March 2014

Powered By: vBulletin and WordPress

PBA Landing Page - PinoyExchange PBA Schedule Page - PinoyExchange

My contributions:

  • PBA landing page revamp on PinoyExchange. Coded from scratch based on given mockup.
  • PBA forum section revamp on a PinoyExchange. Tweaked style to match mockup.
  • Supported and maintained PinoyExchange website.

Christmas Trivia
November 2013 – January 2014

PHP Framework: CodeIgniter

I worked on mostly the admin side for this Facebook app promotional game similar to 4 Pics 1 Word

Christmas Trivia

We ran an online raffle promo project for a telecommunication company that involves a Facebook app game (similar to 4 Pics 1 Word). The flow is as follows: User registers contact details in the app, as required by DTI, and every week, are allowed to play the game. About seven sets of pictures are available per week, and when a user answers all correctly, he/she earns a raffle entry. Every week we send the client a list of registrants. They send us back a file which lists down number of raffle entries that should be added for corresponding users based on their usage data as the company’s subscribers. We then add raffle entries per user based on this file. Raffle draw is also done weekly.

My contribution to this project was the admin side that allows the following:

  • Adding and editing of sets of available words and pictures
  • Export registration details
  • Update raffle entries
  • Viewing of registrant details and the number of raffle entries they have for each week.

In addition to admin side functions, I also coded a function that allowed our game to automatically change available set of words and pictures every week.

Raffle Entry Converter for Airline Promo
July 2013

Booking Ref # Form for conversion into raffle entry

This was a prototype for a web app that let users register for an airline’s promo by entering their ticket reference number. Booking Reference Number is entered to a form, and the system converts it into raffle entry. Features:

  • Registration and login
  • Form for entry of Booking Reference Number with Photo of Boarding Pass or E-Ticket
  • Conversion of Booking Reference Number into electronic raffle entries
  • View that lists user’s raffle entries

EDM System
August 2013

We developed an EDM (Email Direct Marketing) that allows client to create send email invitations for events.

PHP Framework: CodeIgniter


Invitation page - EDM

My contributions:

  • The system has a “Names Database”, which contains data about possible recipients of event invitations. I developed the following features for the admin site:

    • Add a Name
    • Add Names by Batch (import from Excel file)
    • Edit Name
    • Delete Name

Security Enhancement of a Licensing Portal
March 2011

Freelance work

Licensing Portal that needed security enhancement

An existing website had the following problems:

  • Plain text passwords were being saved to database upon registration
  • “Forgot Password” module was sending plain text password to users via email
  • Non-registered accounts who use “Forgot Password” were led to blank page instead of error page

My contributions:

  • Implemented SHA256 on passwords prior to saving to database
  • Removed password that was included in emails
  • Added condition to check if user trying to use “Forgot Password” is registered. If not, user is redirected to Email Not Found error page that I created.

Adobe – Customer Stories
June 2010

An Adobe website needed a “Customer Stories” section and I developed these features:

View, Submission, and Preview - Customer Stories

The Adobe website needed a “Customer Stories” section and I developed these features:

  • Story and video screenshot submission, with preview and edit options
  • Display of submitted and approved stories on the homepage with “sort by month and year options
  • Admin Area with options to approve, disapprove, delete, or set as Site of the Month

Customer Portal – New Features
May 2010

As an intern, I was tasked to add the following features to an existing customer portal:

  • “Sort” and “Delete” functions for tabular data (PHP, MySQL)
  • “Edit Profile” feature

Invoicing System
March – April 2011

For Web Programming class

The “client” for this project was a group mate’s uncle, who was owner of a business who needed such system

PHP Invoicing System

My Contributions:

  • Add, update, and delete Customer records
  • Add, update, and delete Product records
  • Add, close (mark as paid), and delete Sales
  • Sales Archive
  • Print Invoices
  • Print Sales Archives
  • Inventory – number of products in stock decrease as you add a Sale

MissTerry Scenes
March – April 2011

For Flash Development class

MissTerry Scenes is a Flash game where the main character is Miss Terry, a detective.


In this game, the player helps the detective and is given a list of objects and he/she needs to find and click on them all in the given scene before the time is up. Each of the three levels has ten items to find, but has a different style to make the game more challenging.

My Contributions:

  • Player registration
  • Player login
  • Saving of scores for Hall of Fame

Order Request Form (PHP, JavaScript/jQuery, Ajax)
  • Dynamically-added fields using JavaScript & jQuery
  • Sending of all form data to admin’s email address using PHP
  • Flash-based file uploaders using Plupload, an upload handler

Screenshot taken on June 1, 2013, branding removed.

User account website for telecom clients

We added features to a website of mail2fax-fax2mail service.

My Contributions:

  • User registration (input fields, validation, and email address verification)
  • Password recovery module (sent temporary password and “reset password” link)
  • Fax numbers management (upon login, user may add, edit and delete numbers) subject to approval of sales team.

WordPress Projects

Types of websites:

  • Numerous English and French client websites (layout design, PSD slicing, HTML, CSS, PHP, WordPress)
  • Numerous Corporate websites, some with International and country-specific divisions like .com, .ca, .co.uk, and .co.nz (PSD slicing, HTML, CSS, PHP)
  • WordPress Site with E-Commerce Plugin. We built a WordPress-based website with E-Commerce plugin to let users order phones and services from the company. After checkout, the Sales Team are in charge of phoning the users to complete the transaction.

My Contributions:

  • Conversion of PSD mockups into HTML, into WordPress themes
  • Setup of French version of web pages (Using multilanguage plugin)
  • Setup of E-Commerce plugin to allow users to add products & services to cart, then checkout
  • Setup “custom post types” in WordPress

Also view my Android app development samples →