Projects

  • pottr
    Profile Picture
  • Summary

    Video Hosting Social Media Website geared towards video game clips.

    Description

    This website allows users to upload videos and watch these uploaded videos. Future plans include video game clip competitions for monetary rewards.

    Role

    Co-Project Manager, DevOps, Backend Engineer

    Challenges

    One of the main challenges I experienced was using Nginx to host the frontend and backend of the app. Prior to this project, I had no experience with using this technology. From this project, I learned how to properly configure an Nginx server to direct frontend requests to the appropriate endpoint, configure SSL certificates using Certbot(highly recommend for ease of use!), redirect from an old URL, and more.

    Tech Stack

    React.js, Node.js, Express.js, Nginx, AWS EC2, AWS RDS, Figma, Ubuntu 20.04 LTS


  • notuno
    Profile Picture
  • Summary

    Multi-Session Online Uno Card Game

    Description

    This website allows users to play online games of 4-player Uno. It also features an in-game chat.

    Role

    Backend Engineer

    Challenges

    One of the main challenges I experienced was using Sequelize due to my inexperience with the tool. Because of this difficulty, it was challenging to have consistent DB state across the team, which created greater than acceptable overhead for the team. However, after banging our heads against the wall for a small period of time, we were able to successfully integrate the tool.

    Tech Stack

    Node.js, Express.js, Pug, Socket.io, Heroku, PostGreSQL


  • polkavote

    (currently under maintenance, please reach out for a sample)


    Profile Picture
  • Summary

    On-Chain Voting App

    Description

    This website allows users to submit an on-chain remark on the Westend Test Network after connecting a Polkadot.js wallet.

    Role

    Full-Stack Engineer

    Challenges

    One of the main challenges I experienced was testing and using the vote calculator script used to tally the votes submitted. This was due to the connection to RPC endpoint dropping after some time, requiring me to re-run the script from a particular block height. To deal with this, I stored the number of votes counted so far along with the block number of the vote locally.

    Tech Stack

    React.js, Polkadot.js API, Heroku


  • simple social media

    (authentication server is not running so people are unable to post)


    Profile Picture
  • Summary

    Simple Social Media

    Description

    This website allows users to post and view social media content, such as text, images, and gifs. The frontend was deployed using Cloudflare Pages, the backend was deployed using Cloudflare Workers, and an authentication server was deployed through Cloudflare Tunnel.

    Role

    Full-Stack Engineer

    Challenges

    One of the main challenges I experienced was using Rust with workers-rs, as the tool was recently released at the time and online documentation was relatively sparse. I overcame this with thorough research, such as with GitHub Issues, and a lot of experimentation. Another challenge I experienced was integrating a JWT authentication server with the rest of the application.

    Tech Stack

    React.js, TailwindCSS 💓, Yarn, Rust, Rocket Web Framework, Cloudflare Workers, Cloudflare Pages, Cloudflare Tunnel


  • rilakkumafacts.com
    Profile Picture
  • Summary

    Get random fun facts on Rilakkuma

    Description

    This website allows users to get a random fun fact on everyone's favorite Japanese bear. This was done as a Valentine's Day gift for my amazing girlfriend 💝.

    Role

    Full-Stack Engineer

    Challenges

    One of the main challenges I experienced was using React Spring. I found the official online documentation difficult to parse for my particular needs. However, I found the package enjoyable to use after the initial struggle.

    Tech Stack

    Next.js, Node.js, Express.js, TailwindCSS, Sqlite3, React Spring, Heroku, Vercel