Portfolio

Portfolio

Here’s all my webdevelopment projects. Every project has a rich history behind it. These projects are something I can reflect on – the lessons learned and wisdom gained. Some of them are currently being used daily by small businesses / developers and database admins. List of smaller projects https://github.com/vincentntang/sandbox

 


Techstars Startup Weekend 2018

November 2018

👉 JS – ReactJS – MaterialUI
👉 Things Learned:
  • User case & survey studies
  • How to build a full react application with multiple routes (no redux)
  • Material UI component library

https://sensaeapp.co/ is the prototyped app. Codebase is here. This was a three day hackathon that focused on building a solution to a problem. MVP app was to induce an effect called synesthesia. This is a color stimulas sensation from reading text or listening to music. Some people are born with this such as Duke Ellington or Albert Einstein. Research papers from 2018’s university of cambridge (et. al Nicholas Rothen), have shown increased fluid intelligence by inducing such effects unnaturally. Target sector is educational space similar to luminosity.com, which is a brain training app. Application was built by 2 other senior developers and me. Contributions I made include:

  • UX/UI conversion into react templating
  • SCSS styling
  • Business case development

Nasa’s Spaceapp Challenge 2018

October 2018
👉 JS – Jquery – NodeJS
👉 Things Learned:
  • Hacking together a working prototype 2 days
  • Geographic GIS data and wikipedia / NASA API endpoints
  • Modifying URL endpoints in javascript
  • Getting better at git-branching and merging

Code base here. This was a two day hackathon that I worked on with 2 other developers, 1 design artist, and one business college student. The goal was to create a visual tool to help spread awareness towards NASA’s initiatives for the public good. One developer focused on project management/backend. Another on frontend / UI. My focus was on frontend development and exploring datasets. Contributions I made include:

  • Building the business logic for the “Randomize” button – e.g. it takes you to 1 of 195 countries in the world via longitude/latitude.
  • Cleaning GIS data so the “Randomize” button takes you to a country, not the ocean.
  • Building API integrations to many tools – NASA API’s, Wikipedia, “#nasa #country” twitter tweets. (some UI / API functionality was not finished in 2 days)

Enterprise Ecommerce Project

April 2018 – now
👉 JS – SASS – JADE/PUG  – ASP.NET
👉 Things Learned:
  • Risk mitigation / content strategy layout
  • Project management
  • Building an entire frontend from scratch
  • RWD (responsive web design) and UX

This is an ongoing project. Industrial equipment sector with 50,000+ SKUs with low markup margins. I did the UX and fully responsive frontend, using my own build pipeline method with prepros, pug, and sass (CSS and HTML preprocessors). From there I manage a team of 5 developers and an agency to handle different tasks, some for data management, backend development, custom internal tools for theming, others for templating itself. Most of what I do is on the business and project management side of things. Responsibilities include marketing, data management, content pipelines, risk analysis, and logistics.


Javascript Calculator

February 2018 – April 2018
👉 JS/ CSS Grid
👉 Things Learned:
  • Advanced Javascript
  • Debugging
  • Breaking Down JS libraries
  • Functional Programming vs Iterative/OOP
  • Unit Testing

Early 2018, one of my goals was to deep dive into javascript. I had read all of YKDJS (You don’t know JS) and watched gordon zhu’s practical javascript + premium course. I needed to apply everything I learned to one project. I chose to build a calculator, since it is a good bridge to learn about low-level programming as well. I built this app with functional programming in mind. And learned how to implement a simple MVC design pattern using object literals. The code isn’t the best, in fact it’s partially broken.

All the same, I realized why writing things functionally is not easy. Things behave in iterative fashion. Even if it can be represented functionally. A good example of this is how integrals in calculus works. I learned to appreciate the features a SPA framework like React has to offer. I wrote about my shuntyard javascript calculator on stackexchange here and things I learned from it. I also applied mocha + chai unit testing as well.

See the Pen Javascript Calculator with Shuntyard Algo and Unit Tests by Vincent Tang (@vincentntang) on CodePen.33644


Dynalist Plugins

December 2016 – now
👉 JS/ CSS Grid
👉 Things Learned:

Dynalist is a notetaking app that I use everyday. It lets you have infinitely nested outlines. I use it to capture ideas I have, take course notes, log daily sprints & summaries. If I use a webapp long enough, I end up writing my own extensions for it. In this case a CSS theme. Making a stylish theme was quite challenging. Because I had never really popped open the debugger before. Or knew how to use CSS selectors all that well. Plus, dynalist is rather complex in that there’s an infinite number of potential child bulletpoints.

The next thing I made was a userscript extension. It was my first time injecting javascript on a page. I learned how to use tools like tampermonkey as a middleman for injection. And things like greasyfork for hosting the javascript assets. I made a write up of how I developed it here. What the tool does is add a jquery slider on a page, and resizes any img html element.


Airtable Plugins

May 2017 – August 2017
👉 Excel VBA / VB6, Windows batchscripting
👉 Things Learned:

Airtable is a next generation relational database tool. It’s a hybrid of google spreadsheets + microsoft access. I use it to manage product databases at work. However, it was lacking features. Namely

  1. There was no bulk way to upload image files
  2. You couldn’t backup image assets locally

For #1, I created a macro keyboard mouse autohotkey script to solve this issue. For #2, I developed a popular excel VBA script, used by 700 companies / database admins. You can read more about how this script works here and how I went about making it. As well as my thoughts on my sloppy code afterwards.



Prior to doing webdevelopment, I did 2 years in research in metallurgy / OLED solarcell fabrication. My B.S. degree is in material sciences & engineering, and my honors thesis was on the effects of shape memory alloy degradation for NiTiZrAL alloys for space actuators. Research is something I don’t enjoy all that much, unless it’s in a fast changing and growing environment. My interests in computerscience / webdevelopment stems back to making starcraft maps in elementary school, editing wikipedias for MMOs, and building my own personal computer in middle school.