I'm a tinkerer, a creative, and a builder. I enjoy working across the stack to produce great digital experiences from concept to production. I'm always down to talk about code, design, and product. Currently, I'm interested in exploring the intersection between software engineering and user experience design. Catch me in my room building wireframes and mockups in Sketch and building them out using my favorite frameworks! Feel free to contact me if you have any opportunities you'd like to discuss or if you just want to talk tech!
Javascript Java Python C++ Ruby SQL HTML CSS Node.js Rails Flask Express React React Native Angular MongoDB MySQL Agile Methodologies UX/UI Design Design Thinking Project Management
Platform for crowdsourced anonymous polls!
LA is dope. Crime isn't. Built for TreeHacks 2019.
USC's premier hackathon. Hackathons, but we do it better.
Crowdsource the aux cord with collaborative, real-time playlists
"Yelp for Photo Spots" - find spots for great photo opportunities
Literally Tinder for "X" - swipe for whatever your heart desires
Made for list lovers - community and platform to share lists of content
Startup MVP - web platform built for makeup influencers and enthusiasts
Fun Twitter bot programmed with various commands
Find and share trip itineraries for destinations around the world
Hit me up: wwillie@usc.edu -- let's talk ๐
But you can just call me Willie! I'm a graduate of the University of Southern California where I studied Computer Science and Business Administration with a minor in Digital Entrepreneurship.
I was born in the Philippines, raised in Jacksonville, and now live and study in Los Angeles. I've been programming since I was a kid and throughout the years have developed a deep passion for technology. I'm constantly learning and am always eager to tackle new projects. In addition to code, I've also developed interests in design, entrepreneurship, and product development/strategy. When I'm not coding or talking product I like to take photos, dance, watch sports, and play my guitar.
In the summer of 2017, I interned at McKinsey & Company ๐ผ as a Digital Analyst, Full Stack Developer intern where I worked alongside consultants, designers, and developers to build digital experiences for clients.
In the summer of 2018, I interned at Salesforce โ๏ธ as a Software Engineering Intern on the Tech & Products Platform Apps team. I worked with business units within Salesforce to develop internal applications that centralized internal processes and collected data for Salesforce's T&P programs.
In the summer of 2019, I interned at Coinbase ๐ฐ as a Software Engineering Intern on the Consumer team. I worked with Coinbase's Consumer Web Growth team to make Coinbase + Crypto more accessible to others!
In May of 2020, I graduated from the University of Southern California and am now working full-time at Coinbase as a Software Engineer.
I'm a product-oriented developer pursuing a career in Software Engineering and/or Product Management. Currently trying my best to learn new technologies and grow as a tech and product leader.
I'm always interested in hearing about software engineering or product management opportunities so if you think I'd be a great fit for an opportunity or just want to chat, contact me at wwillie@usc.edu ๐
Choose for Me is a platform for crowdsourced anonymous pollimg. Poll anonymous people from around the world. Let them help you resolve debates, make tough decisions, or learn more about peopleโs tastes. On the platform, you can be a chooser or a creator. As a chooser, you can vote on a number of random user-created polls. As a creator, you can contribute your own poll to the pool and collect results!
This project was intended to be a way for me to get exposure to Apollo and GraphQL. I wanted to use my favorite technologies (MongoDB, Node, and Express) alongside the hot technology GraphQL. I hoped to learn more about this technology and its capabilities through the development of this project. After working on this quick project, I can surely say that I love GraphQL and hope to use it more in the future!
Choose for Me home page
The "choose" page
The "create" page
LiveSafe LA is a collaborative effort between me and Carson Long, another student from USC. At TreeHacks 2019, we came together to work on an app that visualized crime throughout Los Angeles.
Going to USC, we have to deal with a relatively unsafe neighborhood on a regular basis, and often have trouble finding concrete, current, readable crime statistics. Other attempts at similar projects aren't easy to use, depend on shoddy data, or invade your privacy in some way. We were inspired to create a tool that friends, family, and other people who want to become more aware of their safety situation could use.
LiveSafeLA synthesizes current crime data from the city of LA into Esri's ArcGIS software to provide a interactive map of crime statistics at an LA location of your choice. In addition to providing data visualization, LiveSafe LA provides recommendations and top concerns to LA residents and citizens.
LiveSafe LA Demo Video
LiveSafe LA landing page
Example of LiveSafe LA dashboard
Example of LiveSafe LA dashboard
Welcome to Los Angeles, the warm and beautiful city of angels and dreamers. On the University of Southern California campus this spring, you are invited to a 36 hour technology hackathon that seeks to change the future of our beloved city. Alongside 700+ hackers and designers, you will re-imagine what a 21st century city should look like and apply your ideas to the test.
HackSC is a very different hackathon in that we aim to break the mold -- for us, this means pushing the boundaries of creation past just app development and tech. We're taking a very interdisciplinary approach, admitting people with skills not just in Computer Science, but also in design, product, and more.
I'm the current Lead Director of Technology and serve on the board of HackSC. I'm helping direct and organize a group of hard-working individuals to make this hackathon come to life. My duties/responsibilities include, but are not limited to, web development, internal dev tools, project management, team leadership, and more.
View SiteAuxQ is a service that allows you to crowdsource the aux cord and let your friends make collaborative playlists. The way it works is that you have one master device that plays the music. You can distribute a shareable link to your friends who can add songs to the playlist through a nifty form. Your friends can then collaborate and add songs to the playlist while the master device plays and curates which songs get played.
AuxQ on the back end was built with Node.js, Express, and MongoDB. On the front end, AuxQ uses React and Sockets.io as well as Bootstrap for front end prototyping. Finally, AuxQ is deployed on a Heroku dyno.
AuxQ Demo Video
AuxQ's home page
Master queue interface
Built at SB Hacks III, SnapDrop is a community and platform for photography enthusiasts to share and discover great locations for photo shoots. Using SnapDrop is simple: Browse the map and search for snap spots posted by the SnapDrop community. Get inspired by photographers in the area, find great spots to take photos, and share your own. To share photos with the community, double click the map or press the plus in the top right corner, upload your photo, set the correct location, and add a little writeup + details. The result is a collaborative open community and platform for photography enthusiasts, both amateur and professional.
SnapDrop on the back end is built on top of Node.js/Express and MongoDB. On the front end, SnapDrop uses Vue.js, a lightweight front end library, as well as Bootstrap. In addition, SnapDrop relies heavily on the Google Maps API to provide maps and places data. Finally, SnapDrop is deployed on an Amazon Elastic Beanstalk environment.
SnapDrop Demo Video
SnapDrop's map interface
Example of pin content on map
Interface for adding snap to map
Kit was a product spun out of LavaLab, USC's startup incubator and community. As millenials move away from traditional beauty outlets like television and magazines, theyre looking for new ways to engage with brands and products through influencers. Generic platforms like YouTube and Pinterest aren't cutting it. Kit is a web platform that helps beauty enthusiasts discover new products, find inspiration , and become part of a global community. The idea is that users can sign up and customize their "beauty profile" and Kit will find recommendations of content creators, products, and video content for the user to check out. On top of that is a community aspect where beauty enthusiasts can connect with content creators and other enthusiasts to foster a healthy and focused makeup community.
While Kit is currently not live, here you can see videos and screenshots of the product as well as links to our pitch deck which we presented to an audience of LA industry professionals and investors during LavaLab's pitch night.
The prototype for Kit was developed with Ruby on Rails on the back end. On the front end, Kit relies on Bootstrap and jQuery. Finally, Kit was deployed on a DigitalOcean droplet.
Kit is a product out of LavaLab, USCโs premier startup incubator and community. Members spend a semester with a group developing a product alongside a thorough curriculum. This curriculum walks groups from ideation to market research to design/development. Groups then pitch their product at LavaLab's demo night to a crowd of investors, industry professionals, and fellow students. To learn more, visit usclavalab.org
Demo video of Kit functional prototype
Marketing home page for Kit
Discover page to connect users to brands & influencers
Example of a 'creator' profile page
SwipeX is a mobile app aimed to be a literal "Tinder for X". In many of the communities I'm in, we joke about "X for Y" applications so I set out to build a literal "Tinder for X". Users are prompted to enter in a query which then generates a deck of cards that users can swipe from.
Like Tinder, you can swipe left on cards you dislike and right on cards you like. Cards that are liked get saved to a collection that you can come back and review.
SwipeX was built using React Native (and various open source components). To get card data, I hooked up the application to hit Google Search API and passed along the "X" as an image query. After getting the data, the hard part was displaying the results in a pretty and nice interface.
I've always wanted to build a mobile app and React Native was a great way to get started. Coming from a JavaScript web background made it easy to transition into React Native and the cross-platform development experience was seamless!
Quick demo of SwipeX with X = 'cats'
Listed is an online platform for creating and sharing lists of content. On Listed, you can create lists which are collections of items. You can share lists like your favorite albums, favorite movies, reasons for things, and more.
Users can register and sign-in, contribute to the community, and see what other lists people are creating. Users can also like lists, comment, and be part of the Listed community.
Listed was developed with Ruby on Rails on the back end, one of my first projects ever built with Rails. On the front end, Listed relies on Bootstrap and jQuery. Listed was deployed on Heroku, my first ever project release on Heroku.
Listed's marketing home page
Example of list interface
Interface for editing and adding to list
@WilburBot's Twitter
Example of Wilbur generated report
Example reply from Wilbur
Example reply #2 from Wilbur
Wilbur is a friendly twitter bot that can report on demand Twitter profile analytics through tweets. In addition to analyzing twitter profiles, Wilbur can offer motivation/inspiration, hold somewhat intelligible conversations with other twitter users, retrieve information, and more.
Wilbur originally started as an experimental program so that I could learn how to use the programming language python. However, after tinkering with the language and Twitter's API and getting some input from my friends, I realized Wilbur could be made into something bigger so now he's become an instant Twitter profile analysis service (and more).
There are two sides to Wilbur: a web interface and the Twitter bot itself. The bot side of Wilbur was coded in Python and relies heavily on the tweepy Python Twitter API library. Wilbur sits on a server with a listener that waits for replies mentioning @WilburBot. Upon receiving a reply, Wilbur will process the tweet, search for commands, and perform whatever action was requested. Wilbur also has the capability of generating online reports that can be shared via URL.
These reports and their data are stored on a Mongo database that can be accessed by Wilbur's web interface, coded in Node.js, which produces shareable online Twitter profile reports. An example of a report can be seen here.
Tripi is a web platform that allows users to create and share itineraries for trips around the world. Users pick a central location and map out a travel plan using a user friendly interface with a map and timeline.
Tripi was the final project for my CSCI 201 class (Principles of Software Development). Our final project was to build a web application using a Java backend and MySQL database that supported login/signup functionality and web sockets.
We integrated with Google Maps, Google Places, and EventBrite's API to support various types of locations and worked across the stack using a Java backend, MySQL database, and jQuery/Bootstrap powered frontend.