An application for discovering, categorizing, and tracking scholarships. This desktop app has a basic web scraper utilizing BeautifulSoup and a GUI based on the customtkinter library. This app can also scrape sites discovered from the google search api utilizing searches like:
site:.org "scholarship" "deadline" "apply"
site:.gov financial aid scholarships
"high school senior" "scholarship" award 2026
If you don't need to search for scholarships and already have the links for them, then the app should be all set to go. If you want to search through google, you can paste your Google Search API Key in the Scraper Tab, enabling persistancy or not!
I built this app for finding, categorizing, and applying for scholarships in a semi-efficient manner. I also built this as a stepping stone into web development. I have never built a full stack website before, but I have used python. Doing this project helped me envision how I am going to build that website, even if I can't use python unfortunately. I now know how to program accounting for frontends and backends (UI's and datatbases)
My biggest challenge throught the entire project was bugfixing, mainly because I wanted to have this project utilize multible cpu threads via the threading library which was a headache. I also struggeled with whether I would make this project a webapp or a desktop application, but ultimately decided with a desktop application due to my familiarity with python. Another is how to sort through the scholarships. I innitially decided to use HackClubAI to automatically assign tags to the various scholarships and then you could search through those tags. However, I didn't add keyword searching (of the name) to the searching which made it hard to find anything. Another challenge, brought upon by the searching problem, was how to parse the ai output into integers and strings. I used the json library with the ".replace()" function which made it simple.
Important
This was tested only on Fedora 44 Workstation Edition. It should work on most Windows/Mac/Linux Operating Systems, but your results may varry...
Go to Releases, download the binary, and execute the program.
See AI API Key to setup full functionality...
- Download "main.py"
- Use the following command to install the necessary packages needed to run this python program:
pip install customtkinter requests beautifulsoup4 matplotlib
- Execute "main.py
See AI API Key to setup full functionality...
To unlock full functionality of the app, you need to add a Hack Club API Key. You will need a HackClub Account to get an API Key on Hack Club AI. Once your signed in, click on the API Keys button, create a new API Key, name it, triple click and copy, and paste it into the main dashboard of the app.
AI was used with the creation of this project with one major bugfix and two smaller bugfixing attempts. It also helped me select which libraries to use for my python desktop application (BeautifulSoup, customtkinter, threading, etc.). Also I used it for testing by having gemini generate a long list of urls separated by commas to test functionality of manually inputting URLs into the app.
This repository is licensed under the GNU GPL v2.
TenKo/Scholify - Scholarship Querier
Copyright (C) 2026 TenKo
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.