Projects

Select projects I've worked on in the last few years.

Professional

Dicty Stock Center

Full-featured shopping web application. Catalog pages were built using custom hooks for list virtualization and infinite scrolling. I also designed and implemented dynamic product pages, built a form with a streamlined ordering process and set up page editing capabilities for authorized users. The entire app is backed up by unit tests using React Testing Library and end-to-end testing using Cypress.

  • react
  • graphql
  • material-ui
  • slatejs
  • formik
  • cypress
  • typescript
  • react-styleguidist
dictyBase Frontpage

Web app to display main dictyBase content. This includes the homepage, information pages, widgets and downloads. The main feature is HTML5 page editing, as it uses a page editor I built using Slatejs. Authorized users are able to add and edit pages for any desired routes.

  • react
  • graphql
  • material-ui
  • slatejs
  • typescript
  • react-styleguidist
Gene Page

Web app to display genomic information. This has a tab-based display where each tab contains panels that display unique information about genes and their annotations.

  • react
  • graphql
  • material-ui
  • typescript
dicty-hooks

Collection of custom React hooks used throughout dictyBase web applications. I wrote custom hooks for infinite scrolling, list virtualization, fetching data and for fetching refresh tokens.

  • react
  • typescript
Page Editor

Page editor library built with Slatejs. It has full functionality, including basic markup, links, images, video embeds, lists, font color/size/family selections and tables. It can also convert pasted HTML directly into Slatejs content.

  • slatejs
  • typescript
GraphQL Server

GraphQL server connected to several microservices. Includes middleware for user authorization and Redis caching.

  • go
  • graphql
  • gqlgen
  • redis
Authorization Server

gRPC service that acts as an authorization server for generating and validating JWTs.

  • go
  • grpc
  • protocol buffer
  • redis

Side Projects

Personal Website

The very website you are reading right now. This is a place for me to experiment with different technologies and APIs.

  • nextjs
  • tailwind
  • typescript
World Cup 2018 CLI

Node.js command line app for World Cup 2018 results and standings. I did this over a weekend to gain more experience building CLIs.

  • nodejs

Presentations

RTL + MSW = !!!

A presentation about frontend testing that I gave to the Hireology engineering team during their Engineering Talks event.

  • mdx-deck
  • code surfer
  • react-testing-library
  • mock service worker