June 16, 2025
its still not the best but I am still working on it. the goal for this project is to add a lot more functionalites so lets see how much we get.
I made the data scraper. I'm going to add more functionalities and Tailwind CSS to it still.
A data scraper written in Python. Extract data from any website(as long as the website allows it!)
Made the readme.md file. also uptimerobot doesn't do anything so I might have to find another solution to keep it on such as adding an head route so that uptimerobot can call that. idk if it works but i will try it.
I had to make some changes to the code to host it. its hosted now, though! https://project-idea-gen-frontend.vercel.app/. That's the frontend. also, for the backend, I used Render, but it shuts down after inactivity, so I was gonna use Nest to host. this is why I wrote a whole setup.sh file. Then I realized that I could use Uptimerobot to ping my render webservice, and it will never go down. Yay!
That sure took a while. It took so long to get both sides working. It took me probably 40 minutes to get the backend working and then 1 hour working on the frontend. I am proud of the frontend, though I was originally going to make a table, but I am so glad I did this instead; it looks so good. It probably took me longer than it should have, but I like it.
That lowkey took longer than I expected it to. I added a search feature, and there were some issues with the way I was handling incoming requests in the backend, so I had to rewrite the search api as well as add a new endpoint that is the debug database, which returns the number of ideas currently in the database. Currently it searches in the title and description columns of the db
I used Chrome's built-in PDF converter to make it exportable as a PDF, although it's not the best. I might work on making it color-coded in the future, but for now, this is good enough.
I added functionality for the users to make a plan on how to start their projects. Its sends a backend call to ai and ai generates it.
I added the ability to generate ideas based on a prompt. I originally wanted to simply click a button and get a random idea, but with the same prompt, I always got the same result, so I pivoted to having the user provide a prompt. The user also has the option not to be added to the database. I did struggle for a bit with all the functionalities, but eventually got it down.
That took soo long, I went through so many different iterations for the css. I am using tailwind like I always do, but this time I went thought a lot of different ideas on how I wanted the website to look before I got to the final one. I originally wanted the website to have a summer.hackclub.com feel (this website), but then I pivoted to a white mode and then lastly to a dark mode type feel. I want to add some animations where, when I go from one section to the next, it looks like the next section pops out and takes the space of the first section instead of being beneath each other. I might not get to that, but I guess we'll see how it goes.
I added a voting system for the projects
I gave the user the ability to make new ideas
I added functionality for filtering between projects
Made a simple working frontend that can get random project ideas from backend
I made a functioning backend that returns JSON messages based on input
I made the coolest README.md file ever!!! It has a dropdown! It took me a while to figure out, this was because when you add HTML to a .md file, there are no completions, so I had to type everything by hand. I like how it turned out, and I will probably use it as a template when writing other readmes.
I am done with this project. I spent so long trying to fix the video titles, as you can see in the last devlong were invisible. I checked the api, I checked my code, I checked everything, and in the end it was the CSS!. I set the text color to just so happen to be what I set the background color to. I fixed this, as well as some inconsistencies in the related videos section
We all of those days when our brain stops working and we can't think of what we want to do. Well, fear no more, this project will solve your problem with a single click of a button, generate Ideas on what to build. NOTE: this uses a render hosting, so the backend might shut down. just wait for a bit, and it will eventutally get back up.
I made a readme.md file! I think I covered everything in it. Probably will ship in 30 minutes, just have to come up with a better description for this :)
ohhh my gawd. that took so looong. let me break it down for you. I wrote 700 lines in 2 hours. then I spent 30 mins debugging, then I spent 30 mins writing to 800 lines. I debugged some more for half an hour, and lastly I erased some lines for better functionality and removed all of the comments for no reason:~{. I typed a bit too slow, but I was vibin to the music alr.
I have spent all of this time squashing bug after bug after bug and I am tired. I realized that I am sending user data to the backend which not very safe. I decided to completely overhaul how it works so everything is in the frontend and it stores data very soomthly. I am just worried how long this will take me hope not to long :}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah! that was the most annoying bug ever. I found a redding post and i was trying to use that to add related posts and eventually i crashed out and told chatgpt to do it. it kept on giving me different solutions and that went on for a long time. eventually i found out that youtube api has stopped this so i had to find related vids based on channel instead of video id. whew sry for me ranting for so long -->
Whew, that took a while. There was this annoying bug that whenever I added a description to the modal, it would render the modal unclickable. It took me too long to do that. and then after that, I had to deal with the audio not stopping after I exited the modal, and that also took a while.
We all know YouTube, a website with unlimited content. Is it possible to create your own YouTube channel? Yes, it is, and it even has all the YouTube videos from the original YouTube. You can binge your favorite shows without ever even opening YouTube.com. P.S. It's called flasktube because I used Flask to make it.
Shipping it took so looooong. The whole reason this happened is that PyInstaller, the thing I was using to convert my file into .exe, was acting up and kept resulting in me having to make some changes and run it again and again. I also wrote my README.md file and made some finishing touches to main.py
With that the game is done. It took a lot less time than I though it would. I still have to ship it write a reame.md and all of that but the actual game is done. You can buy from the pear view what you have and then sell for even more money. dont forget the bonus coins that spawn every minute!
I added the coin farm, where a coin spawns every minute or so, and I added three fruits that will buy the three snacks in random positions inside the farm.
I gave the pear that you buy things from a truck and next I wanted to add a storage where you can see what you have. I obtained a shack top-view PNG and added it to the game. Next, I added another NPC there that shows a modified version of the shop that shows stock. I couldn't just hardcode the stock number into the image, so I created a dictionary that contains stock items and added a textbox where I needed the numbers to go.
Ahhhhh! I just dealt with the most annoying bug ever. Whenever I clicked 1, 2, or 3 to buy from shop it would buy multiple because of how fast the loop was. I tried so many different things and finally 1 worked. I also took me a lot of iterations to get the shop and the interaction text working. I know its in the wrong spot but that is just chaning cordinates so it should be an easy fix
I first read the PyGame docs for a bit and looked at some tutorials to figure out how it works, as I haven't done anything like this before. Next, I made a simple background in Canva and exported it as a JPG. After that, I got PNG images for the fence and the player. Last, I coded the player to move around and the fence to prevent the player from leaving the screen area
You are a little apple that has just bought its new snack shop. Buy snacks for cheap from the pears and sell them for a 1.5x price to the other fruits and get rich. Snack Shop is a mini game built in pure Python and PyGame with no game engine, just pure .py files.
I made some last-minute changes. I rerouted the download button from downloading the .exe file to taking you to a GitHub release, as Chrome was blocking the installation for some reason. The main change that took me a while to do was to write a readme file, and I am pretty proud of it. It turned out nice, and I will probably use it as a template in the future.
I made a retro website where you can download the .exe file.
I just have to host the page now and i am done.
Now even if you don't know how to play checkers you will be totally fine!
I added a checkers rules button the leads you to popup with a link to https://officialgamerules.org/game-rules/checkers/ official checkers rules
I added a button in the middle of the game so that users could end the game at any time. In the beggining I was just making a whole new function for this, and I messed around with it for a long time, until I realized that I could just use the draw screen function because if they end the game, then the game is a draw.
With that I have officially made all the rules into the game. I just have to make it more user-friendly by adding other things, such as hints when the user if forced to jump and maybe an option to see available moves
I added double jumps. this was surprisingly much harder than I thought it would be. It took me way to long to do this.
I added kinging and once the the piece is kinged it can move backwars as well. Next I wil work on double jumps
I first made a sidebar, then added the turn and number of pieces to it. I also added a button on the end screen to restart the game.
I added the killing pieces and an endscreen. next, I am going to work on a sidebar that contains points and whose turn it is
I added the ability to move the pieces. Next, I added the ability only to move pieces diagonally. Then I added turns. And lastly, I added a textbox in the top corner that shows whose turn it is.
I made a checkers board that highlights the square you click on.
A fun retro Pixelated version of Checkers. Written in Python with no additional libraries. It brings the fun, nostalgia, and authenticity back to old school gaming.
I worked on the readme file. I think that I am done now, so I will ship it.
I could not figure out why Image generation was not working so eventually I had to return to the docs. this is where I found out that google shutdown image generation in finland the location of the nest server. there isn't really anything I could do about this so I improved the error message so hopefully the user understands
I spent all of this time trying to find a way to download the generated file as a PDF. It took me so long because almost every single way to do this required me to download some sort of either .exe file ro sudo apt install somethine. I didn't have a problem with this but as I planned on hosting it on nest and I obviously don't have sudo acces for that so I tried and tried to look for another solution. This involved looking online downloading libraries using pip and trying tutorial after tutorial of this. sadly at the end It still wasn't working so I pretty much just gave up. I never even thought about looking online to see if anythin supported me sudo apt installing something. I did this after taking a break and found out that render supported this so thats what I decided to go with. During this time I also encoded the ids so that it is impossible to guess the id. Still working on making the id system better though.
I made it accessible directly from the frontend
Whew! That was a lot of work. I finally made a template for the resume. It took a while and I made it look good with tailwind css as well. Lastly I would like to mention my next steps. Make it more secure so that only if you know the right id can you see the data. I will use uuids for this so that it is practically impossible for someone to guess. and make it so that the template is actully visible on the main webiste. Right now its just an endpoint on the backend which return html. I have to take that and bring it to the frontend. <-- sry it pretty long
I made it look pretty good, I think. I tried to use Tailwind CSS at first, but that didn't work out, so I just used a style.css file. It's not the best, but if you were to rate it out of 10, what would you give?
Note: I zoomed out a bit to get this picture, so it will probably look a bit bigger in the actual website.
Ok, that wasn't as hard as I thought it was. It was just doing the role thing twice and then integrating the print underneath it. I am gonna try to add TailwindCSS to the project next to make it look cool 😎. It's my first time using it, so let's so how it goes.
As I think I said earlier, the experience and skills tab required the user to input the correct JSON format into it, so I fixed the skills tab as seen in the picture. The experience tab will be harder as it has more inputs, such as company role, and I might work on adding start and end dates later on.
I made a simple frontend that takes the info and sends it to the backend api. This relies on the user inputting their information as a JSON array, which could cause problems, so I will add a layer that will do it for them.
first, I started off by making the backend. It was pretty simple, so I finished it quickly and started with the frontend. I tested the backend using Postman, as shown in the picture, which made it significantly easier.
What I have done so far is write some code to train the model. It uses scikit learn's LFW, which stands for Labeled Faces in the Wild
This is a custom AI/ML Siamese model trained by me using scikit learn and tensorflow.
Have you ever tried making a resume online? let me tell you something, it costs money for me. I made a completely safe and super fast. This website stores data on your computer, which means no calls to a backend and a chance for anyone to steal your data. This also means that because there are no backend calls, it becomes super fast, completely dependent on itself. Once it reaches your computer, it can work without the internet as well!
And finally speech to text works as well. I just have to make sure everything works on render where I am hosting this. I might switch to using Nest, but I just tried Render earlier, and it was working, so I am going with that for now.
I finally got it to work after experimenting with how to do it and messing around with the css for a while.
I shows the bot respose now just like when you write an essay or something like that, but still no chat type page. I am working on that now.
I tried to start the chatbot, but I was tired, so I decided to do it tomorrow. I got the basic page layout done though.
It finally works!! it took a while, and by the end, I ran out of api token on text-to-speech, but it works, and that's all I need.
I finished code generation pretty quickly, as it was just text generation with an extra markdown component. I decided to tackle a very hard one next, which is text to speech. And that's what I am working on, I can get the file to generate, but not to display on the website/download properly.
I spent way too long trying to get video generation to work. In the end, I found out it mostly costs money, so I decided that I would look into it at the end. Now I am working on code generation.
I made some improvements to the image generator and then changed the home page to look super cool and as well as adding some css
I made the image generator work now. It's mostly just example code from the docs https://ai.google.dev/gemini-api/docs/image-generation. I did text to image and now I think I will do image+text to image, which should bring the problem of uploading images, but I will get past that.
I just finished the short story generator, and I am now working on the image generator. I am also gonna add some other things after this. I also worked on the CSS and made it look so cool!
So far, I have started making this website. I added several pages and labeled them as 'under construction' sites. Next, on the essay-gen page, I used forms and text using render_template and HTML. lastly, I added the ability to call the gemini api.
This website is your one-stop AI generation website. It can generate text, images, and even speech. So start using it today at (ai-generator.kcoder.hackclub.app)
I deleted the .tar and other build files from the repo to make a lighter install
I worked on making it available on PyPI for a while. I found this surprisingly difficult as it made me make an account, add api keys, GitHub workflows and etc. This is why I pivoted to have someone who wants to play my game clone the git repo and then run start.py to start the game.
I added, tested, and fixed everything. The only error was that there was no sleep(seconds) command in the toastocracy ending, so I had to fix that. Next, I made a list of every possible path you can take, whether it leads you to a win or not, in path.txt.
I finally added the last layer of the last option. I am done now. I just have to make sure everything is working and all the pages are hooked up correctly.
I finished layer 2 of option 2. In this investigation the bush you get 2 options. You can eat a berry of the bush or apologize to it for startling it. If you eat, you die; if you talk to it, it becomes your friend. this forces you to go to option 3 at the end, which is what I will work on now.
I know I said I would work on layer 2 of option 2, but instead I worked on layer 3 of option 1. Now all layers of option 1 are finished. At the end of option 1, if you pick the right path, it will make you pick 1 of the original 3 options without the one that led there. If you pick the wrong one, then there is an end screen
I added a second layer for option 1. This includes either trying to change the source code or joking with it to try to make it your friend. The battle introduces layer 3 into option 1. Next up is layer 2 for option 2.
I added a print story for all the choices on start now, I have added the choices that you get for each choice. still have roughly 6 branches left. last layer of branches to do.
At the end of each page, it must print the same message, prompting the user to select their next choice. This is why I made it a function that has 1 parameter, which is how many choices there are, and it will print and return which choice the user has picked.
I added another page and also created a plan for how the story will unfold. Lastly I added a way to go from one page to the next, where the next page is a function and you call that function to go the the next page.
I first made a starting screen which I can now build on. Next I need to make a plan on how I will go to the next page. I think I will keep each page in its own .py file and maybe write a .sh file to run that
Have you ever read a Choose Your Own Adventure book? Well, now you can read a CYOA book in the terminal. This book is called Prompt-Quest. Complete the quest by picking from the fixed prompts for your KNIGHT.GPT and let the story go wild.
First, I initialized my project. I always make all my projects in poetry a dependency and a virtual environment manager for Python. So first I ran --> Poetry new project oracle <-- next I decided to use Flask for it, so I made a new app.py and added the basic requirements needed for it. Lastly, since I will be using the Gemini API for generating project ideas, I created a simple code that calls Gemini with a fixed question and a configuration file that instructs it on what to do. The code next returns response.text to the browser as text
This was widely regarded as a great move by everyone.