I developed solar energy system optimization tool, a comprehensive SaaS (Software as a Service) platform designed to democratize access to solar energy system planning. The core mission is to provide both individual and commercial users with the most cost-effective and efficient solar energy system configurations based on simple inputs, like daily electricity consumption.
The project was built upon a modern, decoupled architecture, with a clear separation between the frontend and backend, allowing for independent development and scaling.
Automated Product Catalog & Price Intelligence
To power the platform’s optimization engine with real-time, accurate data, I developed a dedicated web scraping service. This backend service automatically collects product, price, and stock information for key solar components (panels, inverters, cables, etc.) from various e-commerce and distributor websites.
Key features of the scraping module include:
- Automated Product Discovery: The service identifies products that are not yet in our database, automatically adding them to the relevant product catalog. This ensures the system’s offerings remain constantly up-to-date.
- Dynamic Price & Stock Tracking: It captures the latest price and stock availability for thousands of products, feeding this data into a centralized table.
- Robust & Scalable Tech Stack: Built with Python using the Scrapy/Playwright framework, the service is containerized with Docker and runs as a periodic cronjob to ensure data freshness without manual intervention.
Architectural Philosophy & Technology Stack
Backend (API):
- Built with FastAPI (Python) for its high performance and seamless integration with the core Python-based optimization and scraping modules.
- Hosted on a DigitalOcean Droplet, the API runs as a
systemdservice behind an Nginx reverse proxy. - A Managed PostgreSQL instance serves as the database, storing user data, projects, and the extensive product catalog populated by the scraping service.
- User authentication is secured using stateless JWT (JSON Web Tokens).
- Transactional emails are handled reliably through SendGrid.
Frontend (Client):
- Developed with Next.js 14+ (App Router) to achieve excellent SEO performance and a fast user experience.
- The UI is a combination of Mantine UI and Tailwind CSS.
- Global state management is handled cleanly with Zustand.
- The entire frontend is hosted on Vercel, benefiting from its seamless CI/CD pipeline.
This project was a deep dive into full-stack application development, from data acquisition and system architecture to secure deployment and product launch.
tech stack / keywords
- SaaS Architecture
- Web Scraping / Data Acquisition
- FastAPI / Python
- Scrapy / Playwright
- Next.js / React
- PostgreSQL
- JWT Authentication
- Docker
- Vercel / DigitalOcean