Projects
- pottr
- notuno
- polkavote
(currently under maintenance, please reach out for a sample)
- simple social media
(authentication server is not running so people are unable to post)
- rilakkumafacts.com
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
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
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
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
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