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