Full-stack developer2020 - 2020Rise Services LLC (via Toptal)
Technologies: React, Node.js, Express.js, Ag-grid, Sequelize, PostgreSQL, OracleDB, PDF generation
- Implemented storing Ag-grid status like row and column grouping, sorting, filtering, expand/collapse group columns into database.
- Implemented an invoice system including generating PDFs, verifying and emailing invoices via Sendgrid, etc.
- Handled drawing various kinds of charts like bar chart, pie chart, radar chart, line chart, etc.
- Built reusable React components and did some designs for new features.
- Fixed cyclic dependency issues in OneToMany relationship between models in Sequelize.
Senior Back-end Developer2019 - 2019Care Dash
Technologies: Django, Django Rest Framework, PostgreSQL, Redis, RESTful API
- Developed a back-end part using Django and Django Rest Framework with a PostgreSQL database.
- Architected a high-level back-end structure system and estimated the project deadline from the customer's requirements.
- Built structured RESTful API endpoints in Django.
- Wrote REST APIs with Django Rest Framework and Django server-side template with many other libraries like Django-allauth.
- Optimized database queries to handle petabyte-scale databases.
Senior UI Developer2018 - 2019Triphop, Inc.
Technologies: Angular 7, NgRX, Angular Material, Webpack, Google Map API
- Updated the existing legacy one from Angular 1.5 to Angular 7.
- Customized Google Map API to browse all hotels on a map.
- Implemented advanced filtering components and infinite scroll pagination.
- Developed highly reusable and cross-platform components with Angular Material UI.
- Converted Sketch designs into pixel-perfect and cross-device web pages.
Senior Front-end Developer2018 - 2019Jenny Yoo
Technologies: Vue.js, Vuex, BootstrapVue, Node.js, Express.js, Contentful, Webpack, Google Tag Manager
- Created Vue.js-powered reusable components to reuse throughout the project.
- Converted Figma designs into pixel-perfect and mobile-responsive web pages with Vue.js.
- Wrote an advanced shopping items list possesses filtering, sorting, and pagination.
- Implemented image optimization to improve the dozens of images loading at the same time.
- Integrated Cypress into project to implement e2e testing for the stable codebase.
Senior Full-stack Developer2017 - 2018TopLine Results
Technologies: React, Ruby on Rails, Jest/Enzyme, Rspec, Redis, Google map API, OAuth2
- Created web apps from scratch, starting from the client's requirements and building an Agile/Scrum environment.
- Built reusable components and higher-order components to reuse throughout the project.
- Added some test coverage to the codebase and promote a TDD approach at least for all the core features.
- Integrated third-party libraries such as Payment APIs, Sendgrid, etc.
- Wrote a deployment script to deploy the GitHub branch into a Heroku staging server automatically.
- Designed database schemas and models from the business logic.
Senior Front-end Developer2015 - 2017WhatSong
Technologies: React, Redux, AntD, Redux-Form, Typescript, Image optimization, Jest
- Designed the application architecture with Typescript, React, and Redux.
- Created several React components with AntD focused on SPA and RWA.
- Refactored authentication logic with redux-auth-wrapper.
- Implemented web socket communication between front-end and back-end with socket.io.
- Configured the project's webpack build process to improve the performance.
Full-stack Developer2012 - 2014Fourstay Inc.
Technologies: Angular 1.5, Django, Webpack, Google Map API, Bootstrap, jQuery, Chart.js
- Created a RESTful API using Django and Django Rest Framework to interact with cutting edge network security software.
- Created data models and database schemas to represent complex data.
- Built a single-page application using AngularJS to consume API and allow users to view and modify the underlying data.
- Customized the Google map API to show all available rooms and implemented filtering by location and available dates.
- Developed cross-browser compliant front-end using AngularJS.