Information on a retro tool that I built. image

History

I built this tool for running retrospective meetings as a side project to get familiar with Socket.io and to get more familiar with the browser's drag and drop API. It also gave me a chance to learn how to write automated tests to cover drag and drop functionality using Cypress. For several months the app was used to successfully run retro meetings on my dev team at Clio.

Features

  • Drag and drop cards between columns.
  • Set and run a timer if you want to limit time for entering card info.
  • Anonymity
    • Each user has a session but no personal identifying information is required.
    • You only see your ⭐️s that you've given to cards while in "active" mode.
  • Review mode
    • See the total number of ⭐️ values given to each card.
    • When in review mode, new cards can be created and existing cards cannot be edited.
    • Quickly identify the cards with the most ⭐️s using sorting.
  • Card content supports the following Markdown: **bold**, _italic_, ![image](src), and inline_code.

Implementation Details

The backend of the app is built on Node and uses Express. All stores all data in memory so that there is nothing saved once the server is shut down. The frontend is built with React.

Usage

You can run the app on your dev machine by running npm run prod, which will make it accessible via ngrok so that you can allow others to join. Just note that the free version of ngrok has a limited number of connections.