Hackathons give the perfect opportunity to work on something you love – An idea that has not been considered before, or some automation that helps with my productivity, showcasing an integration that is not in the product pipeline, so many possibilities. I usually have a running list of such ideas I want to work on and pick one based on interests from other participants. Since my first hackathon at Shutterstock was within the first month of joining, I didn’t have a list to pick from. So I wanted to work on something that builds on my previous experience and something that has probably not been done before. While brainstorming a couple of different ideas, I found out Shutterstock doesn’t have a WordPress plugin and I thought this was a perfect opportunity for me to bring my previous experience as a WordPress dev to the company.
I worked with a PM to identify some use cases and identified the list of services and APIs I will need to integrate. Some of the APIs were public APIs, but some use cases required communicating with internal APIs, which also required a different method of authentication. So before starting coding, I reached out to those services’ teams and requested appropriate API access. What’s a hackathon without taking some shortcuts and hacks, so we can skip to the good parts? So in that spirit, I had to mock some API calls and hack together a demo that was presentable to convey the idea of the plugin. I also wanted to show a live demo, but we were required to present it from a shared laptop on the podium. So I had to make my application available on the internal network. ngrok provides a tunnel to localhost ports to public URLs. You can install ngork on mac with brew install ngrok
and create a tunnel to an application listening on port 80 with ngrok http 80
.
Once I had the tunnel created, I can open the ngrok URL from the podium laptop. ngrok has also come in handy in the past when trying to debug/ review teammates’ web applications running on their local machines.