PC Planner

An automated PC build planner that scrapes live prices from Tokopedia to keep my dream build up-to-date, saving hours of manual calculations.

Status: Completed. A personal tool built to solve a personal problem. It's a Python app using PyQt6 for the UI and BeautifulSoup4 for web scraping.

The Manual Price-Tracking Nightmare

I've been planning a new PC build for a while, but keeping track of component prices was a massive headache. Every few days, I'd have to manually visit dozens of e-commerce pages, copy the new prices into a Notion, and recalculate the total cost. It was tedious, repetitive, and exactly the kind of problem that automation was made to solve.

So, I built this PC Planner. It's a simple Python application where I can input the Tokopedia links for all my desired components. With the click of a button, it scrapes the live price for every item and instantly updates the total cost. What used to be a 15-minute chore is now a 5-second task.

Screenshot of the PC Planner application, showing a list of components with their scraped prices and a total cost.
The main interface of the PC Planner, with separate tabs for components and peripherals.

Technical Tidbits

The app is built with Python, using PyQt6 for the desktop GUI and BeautifulSoup4 for web scraping. My primary goal was to make a tool for myself, so it's specifically designed to scrape from Tokopedia, the main e-commerce site I use.

I initially tried to add support for Shopee, but their anti-bot measures are significantly more robust and I had to abandon the effort. Curiously, I also experimented with more advanced scraping libraries like Playwright, but Tokopedia's detection systems blocked them. Surprisingly, the simpler approach with BeautifulSoup worked perfectly and was more than fast enough for my needs, especially after I implemented multi-threading to scrape all the component pages concurrently.

  • Live Price Scraping: Automatically fetches item images and prices from any valid Tokopedia URL.
  • Multi-threaded Performance: Each component is scraped in its own thread, making the update process fast and efficient.
  • Organized Layout: The UI has separate tabs for core PC components and peripherals to keep the build organized.
  • Automatic Totals: The total cost of the build is calculated and displayed in real-time.

View on GitHub

The full code for the PC Planner is open-source and available on GitHub. Feel free to explore the codebase and adapt it for your own use.

Go to Repository