# BuyDip

BuyDip is a proactive investment tool designed to help investors make rational decisions by removing emotion from the process. The tool provides a dashboard that shows how far various market sectors and indices are down from their all-time highs. Based on a user's predefined investment strategy and custom thresholds, it recommends specific actions to take when the market dips. This allows investors to execute their plans with discipline, without the need for constant market monitoring or second-guessing.

**DEMO:** [https://www.atharvashah.com/buydip/](https://www.atharvashah.com/buydip/)

![BuyDip1](/projects/images/buydip1.webp)

![BuyDip2](/projects/images/buydip2.webp)

![BuyDip3](/projects/images/buydip3.webp)

---

## Key Features

- **Emotion-Less Investing:** The tool provides clear, predefined actions based on market drops, helping users avoid panic and indecision.
- **Customizable Thresholds:** Users can set their own triggers, such as "down 5% = small buy" or "down 15% = all-in," tailored to their personal investment strategy.
- **Dual Modes:**
  - **Simulation Mode:** Allows users to test different strategies and thresholds with a simple slider to see how their action items would trigger.
  - **Live Mode:** Pulls real-time market data to show current drops and recommends actions based on the user's live portfolio and settings.
- **Automated Alerts:** The system actively monitors the market and provides alerts, so users don't have to constantly check charts.
- **Personalized Dashboards:** The tool can be customized for individual users with their preferred tickers, mutual funds, and unique investment variables, all without needing to write any code.

---

## Technical Details

- **Docker Containerization:** The application runs within a Docker container, making it easy to deploy and manage.
- **Configuration-Based Logic:** User-specific settings, such as investment thresholds and target tickers, are stored in a separate configuration file. This allows for easy customization without altering the core codebase.
- **Data Retrieval:** The tool pulls live market data from various sources to provide up-to-the-minute information on market performance.
- **User Authentication:** Access to the live dashboard is protected by a password, ensuring data security.

---

## Learnings

Building this tool provided valuable insights into creating a user-centric application that solves a real-world problem for investors. The project reinforced several key concepts:

- **Simplifying Complex Data:** The primary challenge was to take complex market data and present it in a simple, actionable format. This involved creating a clean dashboard that highlights what's most important to the user: the current market drop and the corresponding action to take.
- **User-Centric Design:** The inclusion of both a simulation mode and a live mode was crucial. The simulation mode helps build user confidence and allows for risk-free experimentation, while the live mode provides the practical utility of the tool.
- **Building a Customizable and Scalable Solution:** By separating user configurations from the application's core logic, the tool was made highly customizable. This "no-code" approach for the end-user makes it accessible to a wider audience and simplifies the process of setting up a new dashboard for each user.
- **Practical Application of Automation:** The project showcased how automation can be used to improve decision-making. By setting up the tool to actively monitor and alert based on triggers, investors can be more disciplined and less reactive.
