Vest Labs is a quantitative crypto research firm building a Vest Exchange - a highly capital efficient perpetual futures exchange that uses zero-knowledge proofs to ensure the fairest pricing for traders and liquidity providers.
As part of our team, you will be at the forefront of innovation, developing and testing groundbreaking ideas with real users. In this takehome assignment, you will be tasked with creating a frontend application that displays a live TradingView chart.
-
Recreate the following Figma design.
-
Display the candlestick chart for ETH-PERP that fetches (REST) and streams (WS) 1 minute candlestick data in real time by referring to the API docs.
-
Bonus Points:
a. Enable users to add their live reactions to the candlestick chart. The user should be able to add emoji reactions by dragging and dropping emojis from a sidebar onto the chart. You can use the mock Node.JS / Express backend server to retrieve / add emojis.
b. Animate successful trading when clicking “Buy” to include confetti and sound. See example
- [Sound File](https://drive.google.com/file/d/1N6gz4R2qZHrGnOzu49QUP95oQokKw6ID/view?usp=sharing)c. Include a dropdown to select for different markets
d. Handle switching of time intervals
- Use React and Typescript
- Use TradingView's
lightweight-chartslibrary for the candlestick chart (already included inpackage.json). Don't worry about matching the exact Figma design for the chart component since this library is a reduced version of what we use in production.
- TradingView already has client-side caching so you don't need to implement caching
- Ensure that WS messages are decoded correctly (they are Brotli compressed)
- Functionality: Does the application meet the requirements?
- Style / Design: Does the application look similar to the presented Figma file?
- Code Quality: Is the code well-organized, readable, and maintainable?
- Bonus Features: Are any of the bonus features implemented?
- A zip file or a link to a Git repository containing:
- The complete source code of the frontend application.
- Instructions on how to set up and run the application locally.
Please submit your assignment to max@vest.xyz. If you have any questions or need clarifications, feel free to reach out.