Logo

Other Projects at Projects

Jan 2018 - Present


These are the project which I do not feel proud to show.

Purpose

The project aimed to develop an AI-powered copilot for e-commerce users to help them find the best products from Alibaba, Amazon, and others. However, it began with an Alibaba scraper. Due to high proxy costs, the client couldn’t afford it, and I had to discontinue the project. After completing the Alibaba scraper, I released it as open-source. This script can scrape the entire Alibaba site, a process that would take approximately 4-6 months.

Features

  • Scrape data from Alibaba website
  • Multi-threaded
  • Save data to Amazon DynamoDB
  • Proxy support
  • Proper error handling and logging

Lessons Learned

Having worked on numerous scraping projects before, I didn’t encounter any new technical challenges. However, I learned the importance of communicating with clients about additional costs that may arise during a project.

Future Thoughts

I have released this project as open-source, and I welcome anyone to use and contribute to it. I would be delighted if someone finds it useful and decides to build upon it.


⚠️ Note

  • Multithreading does not affect network throughput, as it only splits URLs into multiple threads that wait in the network queue. However, data updating in the file is concurrent, meaning that
    • for example, if the first thread is updating data in the file at the same time the second thread is fetching data from the network, the second thread does not have to wait for the first thread to finish.

Purpose

The sole purpose of this project is to retrieve weather data for Pakistan from the Weather Channel and store it in a database or CSV file. This data can then be used for further analysis. Additionally, I created a simple web app to display the latest weather reports for Pakistan as a fun extension of the project.

Woking

The script runs every hour, using GitHub Actions to fetch the weather data from the Weather Channel and store it in the database.

Data Files

To avoid creating a large, unwieldy file, the data is stored in multiple files organized by year and month. For example, data for August 2022 would be stored in the file “/data/2022/aug.csv” in CSV format. This approach was chosen because storing the data in a single file would make it difficult to read, and GitHub’s file size limit of 100MB necessitated the use of multiple files.

However, this approach creates a new problem: it is difficult to read data from multiple files. To address this issue, I plan to create a simple script that will read data from multiple files and store it in a single file.

Future Thoughts

In the future, I plan to monitor the status of the GitHub action and fix any issues that may arise. I will also create a script to merge the data from multiple files into a single file for easier access and analysis.


As a freelancer on Upwork, I developed this tool to help visualize and track my earnings and other statistics. I am publishing it for others to use as well. Upwork does not provide charts or graphs showing earnings or statistics. -14 April, 2021, so this project aims to provide that functionality. I started to improve the project on 2nd Feb, 2024 in my free time.


Purpose

The purpose of this project is to create a standalone font picker for the web. The font picker will allow users to quickly preview and select fonts from Google’s large range of free fonts. Users will be able to select a font family, as well as optional font weight and style (normal or italics).

Features

  • Quickly preview and select any Google font family.
  • Optionally choose font weight and font style.

Todo

  • Find fonts by name, language, and category (serif, sans-serif, display, handwriting, monospace).
  • Update style to make it mobile responsive.

Future Thoughts

Continue to work on adding more features to this project, such as those listed in the Todo section


Purpose

The purpose of this project is to create a simple, standalone, and flexible board app or progressive web app (PWA) using vanilla JavaScript.

Features

  • Platform-friendly design for mobile and desktop devices.
  • Multiple styling options.
  • Export options.
  • And more.

Future Thoughts

In the future, we plan to add more features to this project, such as live sharing via sockets for collaboration with multiple users.


Purpose

The goal of this project is to provide an easy way to create and publish a resume on a GitHub page.


Purpose

This is a Dart package that can be used to find prayer and Ramadan timings for a specific location. It is a rewritten version of the PHP code provided by praytimes.org


Purpose

The purpose of this project is to implement a Tic Tac Toe game using the Minimax algorithm.

Known Issues

  • The game does not restart automatically after it ends; the user must refresh the page to play again.
  • The game may not function properly on mobile devices.

Purpose

This was my first attempt at creating an Android application. It was developed for the purpose of practicing Android development.

Features

  • Notes and Todos: Users can create and manage notes and to-do lists.
  • Calculator and Converter: Users can perform basic arithmetic calculations and unit conversions.
  • Color Picker, Stopwatch, Timer, and Counter: Users can select colors, measure time intervals, set timers, and count events.

Purpose

This project is an implementation of the classic Snake game using HTML5 canvas and vanilla JavaScript.

Known Issues

  • When the game is over, it does not restart on click, and the user must refresh the page to play again.
  • The game does not function properly on mobile devices.