I'm Geng, a 22-year-old Singaporean web developer. I love applying technology to new ideas and developing rich web experiences & web applications.
Right now I'm studying Computer Science & Philosophy at Duke University.
- All Things Web
- Learning new things
- NodeJS, React, Redux
- Ruby on Rails
- Databases: Postgresql, MongoDB, SQL
- Testing: Chai, Mocha, Supertest, Rspec, Codeship
- CS 201: Data Structures & Algorithms
- CS 230: Discrete Math
- CS 316: Intro to Databases
- CS 330: Advanced Algorithm Design
Need something built?
Get in touch at: geng dot sng at duke dot edu
Once upon a time, I was co-founder and chief hustler at Kinla!, a food startup in Singapore that helped time-poor individuals get food fast. I was also blog editor at Rethinking Economics and a Corporal in the Singapore Army.
- B.S. in Computer Science and Philosophy, Duke University
- Web Development Immersive, General Assembly (Bootcamp)
- Full-time Assistant Instructor, General Assembly (Summer 2017)
- Guided students through 4 full-stack projects which led to direct hiring as junior developers / starting their own startup.
- Lead instructor for unit on Ruby, OOP, Ruby on Rails, creating modern MVC web applications and RESTful APIs the Rails way.
Stuff I'm Working On
- Increasing CS literacy @Duke: I teach students interested to pick up coding for free once a week, every friday. Interested? Here's Intro to Python which we cover at KopiHack.
- Freelance client work involving creating an ecommerce and dashboard solution for a retailer using React, Redux, and Firebase.
- Involved in Duke's premier pre-professional club for Tech, Catalyst.
I believe our willingness to share knowledge in tech is what underlies the success of our industry and fuels its growth.
I gave my first talk on how to make web applications in Ruby on Rails at HackDuke 2016 and since then I've done talks on Ethereum, Progressive Web Apps, React, Redux and other web frameworks at various events and hackathons. Here's an example:
Intro to Ruby on Rails: Topics Covered
- MVC Framework
- Full Stack Web Development
- Intro to Rails
- What are Gems?
- Code-along to make a Trip Mapper in Rails
- You can find the slides and code here
Open source data project for the Singapore startup community. Together with a team of friends, we developed a RESTful API & a clean, responsive website for anyone who wants to get to know the startup ecosystem in Singapore. Developers who want to use or retrieve information about startups in Singapore can also use our public API.
The backend of this application was developed using a test-driven approach, using Mocha, Chai and Supertest, and Codeship for continuous integration. I developed the entire test suite with 98% coverage (measured using Istanbul, an npm code-coverage tool).
A trip mapper made using Ruby on Rails and the Google Maps API. One of my first projects created in Rails, experimenting with the RoR framework and the Google API for Maps and Direction. Features full CRUD actions and maps out an E/R database using Postgresql allowing many users to join many trips, which have many locations. Locations are tied to unique trips. A simplified version of this project was produced and used as a code-along example for my talk on making Web Apps in Ruby on Rails.
I'm a big fan of bots and chat bots. I believe conversational interfaces will change the way we interact with software and the world. Voice search, messaging platforms, ... the list of ways conversational interfaces revolutionize our daily routine goes on. Here are some chat bots I've made:
A hackathon project made over one night using Facebook's messenger API. Our chatbot helps you figure out when and where you can get your hair cut and lets you make an appointment on the spot with the click of a button. It comes with an angular.js dashboard for hairdressers to check and be notified of new bookings.
- Github Repo
A slack chatbot I built for fun for friends. It uniquely recognises users in a Slack Channel, tells your fortune, helps you decide where to have lunch, brings you food emojis when you're hungry, and returns gifs based on your mood.
- Github Repo
- BotKit, Node.js, Expres.js, Slack Bot API
Another hackathon project using Facebook's messenger API. Musebot uses IBM's Bluemix APIs to conduct sentiment analysis while you converse with it, and generates a playlist on spotify for you at the end of the day. It sends you a link of the generated playlist at night!
- Github Repo
- Node.js, Express.js, FB Send API, FB Messenger Platform, IBM Bluemix APIs for keywords search and sentiment analysis, d3.js, Spotify API
Since I played my first game on a playstation, I've always wanted to be a game developer. That hasn't really worked out but here are some games I've made.
Cactuar Runner is a HTML5 Canvas game that I made. It's an infinite runner web game with a translating background and obstacles that occur at different intervals. I made a simple algorithm to randomize the occurence of obstacles and ensure that collision detection within the canvas works regardless of the size or shape of the obstacle.
Tanks! is a Unity 3D game I made by following a Unity tutorial. All the assets are pre-fab but recreating the game allowed me to understand the Unity game development engine and how graphics are being rendered using Unity.