BUILD PRODUCTS, SOLVE PROBLEMS

About

Engineer

In my work as an engineer, I mainly design, develop and maintain software systems, products and solutions

Designer

I take a practical approach to design, using it as a tool to communicate information and create high quality products.

Craftsman

More than writing code, I create excellent experiences that users and I enjoy. It is the work that fuels me

PROJECTS I'VE WORKED ON

GearCasterhttps://gearcaster.dev

Co-Creator, Engineer, Product Developer

Responsibilities: Product development, Prototype creation, Web/Mobile Engineer, Theme/Design creation

GearCaster is a fast-paced, mechanical card game where bots defend their engineers. I worked together with a senior engineer to help bring it to life over the course of many months, working on difficult technical challenges across the stack. I helped transform the game from an engineering experiment, to a commercially-ready product.

Some of the important lessons were:

  • Learning to cut back on features actively to meet our capacity
  • Iterating through prototypes and rewriting codebases until we had a commerically-ready product
  • Making sense of socket.io requests through the MVC model
  • Scalable real-time persistence methods for Node.js such as S3
  • Having clear direction before putting in the work
  • Researching competition, copying what works
  • Team-management skills and communication
  • Working with a monorepo using Yarn workspaces

GrandQuesthttps://grandquest.herokuapp.com

Owner, fullstack engineer

Stack: Vue.js/TypeScript, Node.js/Socket.io, PostgreSQL, Redis, Heroku

GrandQuest is a multiplayer role playing game where players can battle against enemies in an open world with other players. I worked completely end-to-end on prototyping, design, fullstack development, testing, and launching; all while in a busy high school.

I wrote about my experience and the challenges I faced in this article extensively. The project forced me to focus on multiple challenges across the engineering landscape and it gave me strong technical confidence when creating products from the ground up and releasing them into production. Some of the big lessons:

  • Engineering client/server game architecture and server-side persistence
  • Engineering complex event loops to maintain a concurrent state across the network
  • Developing interactive & complex user interfaces with lots of dynamic data
  • Turn-locking games to avoid users from advancing without others
  • Authenticating sockets & using mutual exclusion to identify multiple connections to a user while allowing only one to make changes
  • Creating complex UI and sequence animations
  • Orchestrating complex race conditions during runtime
  • Deciding between methods for server-side persistence focusing on performance optimization
  • Organizing work and priorities

The Everywhere Officehttps://teoapp.co

Mobile developer, React Native

Responsibilities: React Native, Redux, Product development, Resolving tooling errors

The Everywhere Office provides a platform for companies to manage remote work while giving teams the flexibility to focus, meet and collaborate no matter their location.

During my time at TEO I received a crash course on start-up strategy, customer development, product development, and team collaboration. My role was of React Native developer, and I mainly focused on developing new features / UIs, and dealing with technical difficulties so the product could continue advancing without issues. Some of the big lessons for me were:

  • Managing styles in React Native
  • Asynchronous Redux actions using Redux Saga
  • Working on tasks in a collaborative and flexible work environment
  • Reproducing/communicating esoteric tooling errors

18th&mainhttps://18thandmain.com/

Mobile developer, React Native

Responsibilities: React Native, Redux, Product development for frontend, Coordinate with Sr. Engineers

18th&main is a private country club connected on a social network experience. When I joined 18th&main my goal was to gain technical experience and work hand-in-hand with Sr. Engineers.

My role at 18th&main was as a react native developer in a fully remote position. I learnt React Native from the ground up in some weeks and went on to develop the app from react-native init . Some of the lessons I learned are:

  • Developing UI/UX based off of mockups
  • Time management while working remotely
  • Git workflows for collaboration
  • Organizing / Reading other people's code