Links
Concept
For She Codes Plus 2025, the personal project requirement was to do a crowdfunding website, where people can create campaigns and pledge their support for a chosen campaign. We were free to choose a theme for the crowdfunding website, and my chosen theme was a crowdfunding website for supervillains, as starting and maintaining a villain's lair is a costly affair. And not all villains are as well-funded as Lex Luthor.
Notable Features
In keeping with the theme, the website was designed to have 2 different look. No self-respecting villain would be advertising their villainy, so the website needed to look harmless to the general public. Specifically, when you're not logged in, the site would look like a charity crowdfunding knitting website for animals in need. When logged in, the site would reveal its real purpose.
Below are screenshots for the two different looks for the Home page:
-
Home Page (General Mode)
-
Home Page (Villain Mode)
Likewise, the campaign pages also have two different looks.
For the campaign page, every detail except for pledged amount changed. This included campaign title, campaign description, the name of the campaign owner, as well as the names of people who pledged.
-
Campaign Page (General Mode)
-
Campaign Page (Villain Mode)
This change of content extended to the About page.
-
About Page (General Mode)
-
About Page (Villain Mode)
Challenges
It was only after I started working on the front end that I realised... I needed more information from the backend. For example, the backend needed to provide both the user's villain title and their public persona, which wasn't accounted for before. This meant I had to go back and modify the backend to provide this information, and then modify the frontend to display this information correctly. The real challenge was in remembering how the backend worked, as at that point in time I had already forgotten everything about the backend code.
Another challenge was in making sure that the content changed correctly based on the user's login status. This meant adding checks throughout the front end code to see if the user was logged in or not, and then displaying the appropriate content based on that check. This was especially challenging for the campaign page, as there were many different elements that needed to change based on the user's login status.
Harder than both of the above, was coming up with the campaign descriptions. I had grand ideas of putting in different villains from various media, but it was starting to take up more time than actual coding so I settled for the few I've already had.
If you read all the way through, thank you! I appreciate you reading this, please come to me and say the phrase "The quick brown fox wasn't lazy" and I'll give you a gift (of which I have only a few).