top of page
Search

GooDeeds - Good Competition (For Once)

  • Writer: Liam Moodley
    Liam Moodley
  • May 1, 2024
  • 6 min read

Updated: Sep 13, 2024

In today’s fast-paced digital world, it’s easy to get caught up in distractions and forget the value of doing simple, good deeds. That’s where GooDeeds comes in—a platform that combines the instructional nature of WikiHow with the competitive spirit of YouTube challenges, allowing people to complete everyday good deeds in a fun and friendly competition. The idea is simple: users complete challenges (like fixing a broken toy or planting a tree), submit a video proof, and compete on a leaderboard to see who can finish first and do the most good.

The Concept Behind GooDeeds

At its core, GooDeeds is about inspiring people to make small, positive changes in their daily lives while adding a playful, competitive twist. Think of it as a challenge platform where users can browse through a list of simple tasks—like helping a neighbor, repairing an item, or volunteering time—and then compete to complete the task and upload proof in the form of a video. The first person to complete it gets a spot on the leaderboard, along with recognition for their efforts.

The platform encourages people to take on challenges that are not just beneficial to themselves, but also to others and the community. Whether it’s something as simple as cleaning up a local park or more involved like building something from scratch, the goal is to spread good deeds and inspire more acts of kindness.

Inspiration: WikiHow Meets YouTube Challenges

The inspiration for GooDeeds came from a mix of WikiHow’s instructional nature and the vibrant, entertaining world of YouTube challenge videos. WikiHow offers step-by-step guides to everyday tasks, and YouTube challenges add a sense of urgency and fun to simple actions. GooDeeds aims to combine these two elements by providing users with step-by-step challenges but adding the competitive twist of completing them first or doing them in the most creative way.

The idea was sparked by seeing how people naturally enjoy competing in simple challenges online, often for entertainment. But what if that competitive spirit could be directed toward positive actions? That’s where GooDeeds stands out—it’s about doing good, having fun, and connecting with a broader community.

The Need: Motivating Positive Action Through Fun Competition

While there are many platforms that encourage good deeds, GooDeeds fills a unique need by making it fun and engaging. The platform is not born out of necessity but rather from the idea that people need a little motivation and competition to engage in positive actions. By adding a gamified aspect with leaderboards, video submissions, and rewards, GooDeeds creates a fun environment that motivates users to take part in good deeds on a regular basis.

Additionally, GooDeeds serves as a creative outlet for people who may already be doing these activities but want a way to share their efforts with a community. Instead of simply fixing something or helping someone quietly, users can document their experiences and compete with others, creating a sense of community-driven positivity.

Development Plans: Building GooDeeds

To bring GooDeeds to life, the platform needs to be developed with both front-end and back-end elements that support user interaction, video submissions, and a real-time leaderboard. Below is a breakdown of how the development would proceed.

Frontend Development

For the frontend, I’ll use React.js for its flexibility, speed, and ease of building interactive user interfaces. Given the platform's need for real-time updates (e.g., leaderboard changes, new challenges posted), React’s component-based structure will ensure the site is responsive and scalable.

  • Challenge Listing and Detail Pages: Each challenge will be represented as a card component on the homepage, allowing users to browse through a list of active challenges. Clicking on a challenge will bring them to the detailed page, which includes the step-by-step instructions and video submissions from others. The React Router will be used to handle seamless navigation between these pages.

  • Video Upload: Users will need to upload video proof of them completing a challenge. I’ll integrate a file upload component that directly communicates with a cloud storage service like AWS S3 or Google Cloud Storage to handle large video files. A progress bar will ensure users can track their uploads in real-time.

  • Leaderboard: The leaderboard will display the top users who have completed the most challenges or completed them the fastest. This will be updated in real time using WebSockets or Socket.io, allowing for instant updates when a user completes a challenge and submits proof.

Backend Development

For the backend, I’ll use Node.js with Express to handle API requests and manage the server-side logic. The core functionality will revolve around handling user submissions, storing video links, and managing the real-time leaderboard.

  • Database: I’d use MongoDB as the main database, given its flexibility and scalability for handling various types of data like user profiles, challenge details, and video submissions. Each user profile will store information about completed challenges, and each challenge entry will store details about users who have completed it, including their video link and timestamp.

  • Challenge System: The backend will manage the lifecycle of a challenge—from creation (by admins or moderators) to completion (by users). When a user submits a video, the system will automatically timestamp the submission and verify its authenticity. For example, videos could be reviewed manually or auto-approved if they meet certain criteria (e.g., length, format). Once verified, the leaderboard will be updated.

  • Video Storage: Since storing large video files directly on the server can be expensive and slow, I’ll implement integration with cloud storage services like AWS S3 to manage and store video submissions. Once the user uploads a video, it will be processed and the link to the video will be saved in MongoDB alongside the corresponding challenge.

Key Features

  1. User Profiles and Progress Tracking: Users will have personalized profiles showing their completed challenges, leaderboard ranking, and achievements. This can be built using MongoDB, which will store user data, and React to display it dynamically on their profile page.

  2. Challenges: The challenge listing will be dynamic, pulling from a database of both active and archived challenges. Users will be able to filter challenges based on categories, difficulty, or even “trending” challenges that are popular at the moment.

  3. Leaderboard and Rewards: A real-time leaderboard will rank users based on completed challenges, submission speed, or even the creativity of their submissions (voted on by the community). Using Socket.io, I’ll ensure the leaderboard updates instantly whenever a new submission is made, maintaining an exciting competitive atmosphere.

  4. Notifications: Users will receive notifications when new challenges are posted, when their submissions are verified, or when they move up in the leaderboard. I’d integrate a notification system using Firebase to handle both in-app and push notifications.

  5. Moderation and Video Review: While video submissions are at the core of the platform, they also require moderation to ensure users are following the rules of the challenge. I’ll implement a simple admin dashboard where moderators can review video submissions and approve or reject them based on the challenge guidelines.

  6. Gamification: To keep users engaged, GooDeeds will have a variety of gamification elements, such as badges for completing a certain number of challenges, daily streaks, or even titles for users who top the leaderboard consistently.

Code and Development Breakdown

To bring all of these features together, I’ll follow a structured development plan:

  • Phase 1: Build the core backend structure using Node.js/Express with MongoDB, setting up the user profiles, challenge entries, and video submission infrastructure.

  • Phase 2: Develop the frontend with React, focusing on creating reusable components like the challenge cards, video upload, and leaderboard. Integrate real-time updates using Socket.io for instant feedback.

  • Phase 3: Implement the cloud storage system for video uploads and integrate it with the backend. Develop the moderation dashboard and notification system using Firebase.

  • Phase 4: Finalize the gamification elements, fine-tune the user interface, and thoroughly test the platform to ensure a smooth and engaging user experience.

Conclusion

GooDeeds is a project that’s designed to bring out the best in people by encouraging them to take action in a fun, competitive way. By blending the instructional approach of WikiHow with the excitement of online challenges, the platform motivates users to do good deeds while engaging with a like-minded community. With a strong development plan focused on user interaction, video submissions, and real-time updates, GooDeeds has the potential to turn everyday tasks into exciting competitions, spreading positivity in a unique and impactful way.

 
 
 

Comments


Phone

South Africa: (+27) 60 724 2055

Follow Me

  • Linkedin
  • Instagram

© 2035 By Liam Moodley
Powered and secured by Wix

bottom of page