Project Overview
Investory is a portfolio management website I developed with three teammates during our induction to the 2024 HSBC Graduate Program. Working within strict time constraints (just over 7 full development days), our team built this project from scratch, with most team members having no prior programming experience.
As Team Lead and Lead Developer, I coordinated team responsibilities, made technical decisions, and implemented critical infrastructure including a custom blue/green deployment system. Despite the challenges, this became one of the projects I'm most proud of.
Live Demo
Watch the complete demo showcasing the portfolio management features, real-time stock tracking, and user interface.
Project Highlights
- Rapid Development: Complete full-stack application in 7 development days
- Team Leadership: Led daily standups and coordinated responsibilities based on team strengths
- Custom Deployment: Implemented blue/green deployment with zero downtime
- Real-time Data: Live stock price tracking and portfolio analytics
Technical Implementation
The application was built using NodeJS for both frontend and backend, with MySQL for data persistence. I designed and implemented a custom deployment system using PowerShell scripts that enabled automatic deployments to both staging and production environments.
Architecture Overview
- Frontend: Express with server-side rendering
- Backend: Express REST APIs for stock data and portfolio management
- Database: MySQL for transaction history and portfolio data
- Deployment: AWS EC2 with NGINX load balancing
- SSL: Automated certificate generation with win-acme
Custom Deployment System
I implemented a sophisticated blue/green deployment system that:
- Monitored BitBucket repository for branch changes
- Automatically deployed staging and production environments
- Used NGINX to route traffic to fallback servers during updates
- Achieved zero-downtime deployments with ~1 minute deploy times
Challenges & Solutions
Building a complete portfolio management system in 7 days with a mostly inexperienced team presented unique challenges that required creative solutions and strong leadership.
Team Coordination
With three team members having no prior programming experience, I had to quickly assess everyone's strengths and assign responsibilities accordingly:
- UI/UX Designer: Created all designs in Figma and exported HTML templates
- Full Stack Developer: Pair/mob programming on core features and frontend integration
- Backend/Finance Specialist: Implemented complex financial calculations and portfolio analytics
Technical Challenges
Several technical hurdles had to be overcome rapidly:
- Learning NodeJS: First time using NodeJS despite Python Flask background
- SSL Configuration: Setting up secure HTTPS with automated certificate renewal
- Real-time Data: Integrating live stock price feeds with portfolio calculations
- Deployment Automation: Building a custom CI/CD pipeline
Results & Impact
Despite the aggressive timeline and team constraints, the project delivered impressive results and valuable learning experiences for the entire team.
Delivered Features
- Dashboard: Real-time portfolio overview with performance metrics
- Stock Tracking: Live price updates and historical charts
- Transaction Management: Complete buy/sell transaction history
- Market Data: Comprehensive market information and analysis
- Automated Deployment: Zero-downtime production deployments
Key Learnings
This project provided invaluable insights into rapid development, team leadership, and deployment automation:
- NodeJS Proficiency: Overcame initial hesitations and gained solid NodeJS skills
- Infrastructure Management: Hands-on experience with NGINX, SSL, and AWS EC2
- Team Leadership: Learned to coordinate diverse skill levels effectively
- Deployment Systems: Built and operated a production deployment pipeline
Future Improvements
Given more time, several enhancements would strengthen the platform:
- Cash Balance Handling: Proper representation of uninvested cash
- Multi-currency Support: International stock and currency conversion
- Docker Deployment: Containerized deployment replacing PowerShell scripts
- Authentication System: User login and portfolio security
- Unit Testing: Comprehensive test coverage for reliability
Project Gallery




