dyorDash - I created a financial dashboard
As long as I can remember, finance, mathematics, and numbers have captivated my interest. This passion might stem from my father's profession or simply my natural affinity for numbers. Recently, as I dive into learning Python for back-end development and React for front-end development, I decided to create a financial dashboard that provides overviews of searched tickers: dyorDash.
What is dyorDash?
dyorDash is an AI-generated dashboard designed to offer comprehensive insights into financial tickers. The backend leverages data from Yahoo Finance, while the analysis is powered by OpenAPI. Throughout this project, I learned how to effectively integrate APIs and develop a complete application from start to finish. This first development attempt taught me valuable lessons, including the realisation that OpenAI's response time might require optimisation, such as caching the AI analysis within the app to reduce loading times.
The Development Journey
Developing the dashboard with React has been a rewarding experience, and I've already applied this knowledge to new projects. In this project, I utilised a variety of libraries, including YFinance, OpenAPI, numpy, and FastAPI for Python. For the front-end, I used TailwindCSS to customise the web app's appearance and Chart.js to create dynamic graphs and charts.
Key Features of dyorDash
- Overview Dashboard
The main dashboard displays key indices such as S&P 500, NASDAQ 100, and FTSE 100. It also highlights top cryptocurrencies, trending tickers, and the most active tickers.
- Ticker Details
Detailed views for each ticker provide historical data, income statement highlights, balance sheet highlights, and cash flow highlights.
- Financial Charts
Charts for revenue and net income trends, cost distribution, operating income, and more provide a visual representation of financial data over time.
- AI Analysis
While there is current AI-generated analysis for each tab (Income Statement, Cash Flow and Balance Sheet), future plans include AI-generated analysis and insights, using multiple information sources which are currently under development.
Lessons Learned
- API Integration: Learning to integrate different APIs was challenging but ultimately very rewarding. YFinance and OpenAPI were crucial for fetching real-time data and generating insights.
- Performance Optimisation: One of the significant challenges was optimising the response time of OpenAI. Implementing caching mechanisms to store AI-generated analysis locally could drastically improve the user experience by reducing loading times.
- Front-End Development: Using React in combination with TailwindCSS and Chart.js allowed for a smooth and responsive user interface. These tools helped me create a visually appealing and functional dashboard.
Future Improvements
While the current version of dyorDash is functional, there are several areas for improvement:
- Enhanced AI Analysis: Improving the AI analysis feature by optimising response times and providing more in-depth insights.
- Additional Data Sources: Integrating more data sources to provide a more comprehensive financial overview.
- User Personalisation: Allowing users to customise their dashboard based on their preferences and interests.
Conclusion
Developing dyorDash has been an exciting journey that combined my passion for finance with my new skills in Python and React. This project not only provided valuable learning experiences but also laid the foundation for future projects. I look forward to continuing to improve dyorDash and applying what I've learned to new challenges.