Skip to content

loleg/probono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

We are creating a tool to automate the calculation of volunteer hours and ROI for hackathons, which involves several steps and considerations.

Motivated by:

This was generated using the Apertus 70B (Instruct 2509) model hosted on Public AI (chat.publicai.co). The original user prompt was:

Happy May 1. I would like to create an app that creates a "receipt" accounting for the contribution of volunteers at my event. Specifically at hackathons, where I can automatically calculate the hours that people have worked based on the length of the event, number of participants, and even the precise times of their logged open source code contributions. Based on this, and the median salary from open government data, I can estimate the ROI of a particular hackathon. Please research if such a tool already exists, if another one should be repurposed, or if an existing open source platform or toolkit could be repurposed for swiftly implementing such an app. It should be a PWA with data collected only locally, generating a meaningful summary in a form that could be exported for reporting and accounting purposes.

Here's a structured approach to help you get started:


1. Research Existing Solutions and Tools

Before developing a new tool, check if there are existing solutions that meet your requirements or can be repurposed:


2. Key Features You’ll Need to Implement

Your app should:

  • Track Event Duration and Participant Hours:
    • A user-friendly interface for participants to log in/out (e.g., PWA with local storage).
    • The use sets event start/end times, or imports a hackathon.json with all the data already defined.
  • Integrate with Open Source Contribution Tracking:
    • Use the Dribdat API or hackathon.json format, which collects data from platforms like GitHub or GitLab to fetch commit history for each participant (with permission).
    • Alternatively, use Open Source Software Repository Statistics or GitHub API for parsing contribution data of public projects.
  • Estimate ROI Using Median Salary Data:
  • Export Summary Reports:
    • Generate a PDF or spreadsheet for easy reporting.
    • Include total hours, contributions, and ROI summary.

3. Technology Stack and Open Source Options

  • Frontend:

    • PWA (Progressive Web App): Use a lightweight set of Vue components with Vite.
    • Local Storage: Use localForage or IndexedDB for client-side data storage.
    • API Integration: Use axios or fetch for API calls to Dribdat and salary data APIs.
  • Open Source Libraries/Tools:

  • ROI Calculation Library:

    • Write a simple module to estimate monetary value based on hours and median salary. Example (simplified):

      const calculateROI = (hours, medianSalary) => {
        if (!medianSalary) throw new Error("Median salary required");
        const hoursPerWeek = 40; // assuming 40-hour workweek
        const weeklyValue = hours / hoursPerWeek * medianSalary;
        const totalValue = weeklyValue * (hours / hoursPerWeek); // if hours are for one week
        return totalValue;
      };

4. Step-by-Step Implementation Plan

  1. Research & Design:

    • Define exact requirements: types of contributions (e.g., coding, documentation, design), desired report format, data sources in the documentation.
    • Implement the basic user flow: event setup, data entry, contribution tracking, ROI calculation, export.
  2. Prototype:

    • Build a simple PWA with local storage to input event hours and other data.
    • Test API integration with Dribdat (i.e. hackathon.json) for commit logs.
    • Mockup ROI calculation (e.g., using a hardcoded median salary for testing).
  3. Development:

    • Fetch median salary data dynamically or use a predefined dataset.
    • Implement ROI calculation logic.
    • Add features like an export to CSV/PDF.
  4. Testing & Feedback:

    • Test with a small group of users at a mock event.
    • Gather feedback on user experience, accuracy, and report clarity.
  5. Security & Privacy:

    • Ensure user data (hours, contributions) are stored locally (as this is a PWA) and not shared without consent.
    • Recommend deployment with HTTPS, store sensitive data (if any) securely, and follow GDPR guidelines for data protection.
  6. Deployment:

    • Host on a static site (e.g., Vercel, Netlify) for PWA.
    • Ensure accessibility and cross-browser compatibility.
    • Document setup and usage instructions for organizers.

5. Potential Open Source Toolkit Repurposing

If no suitable tool exists, you might:

  • Modify an existing volunteer tracking tool (e.g., adding GitHub integration and ROI calculation).
  • Build on top of an open source project like Volunteer Time Tracker and integrate GitHub data.
  • Use open source libraries for specific parts (e.g., contribution analysis from this GitHub project or this GitLab API client).

6. Open Source Community & Resources


7. Final Considerations

  • Prefer lightweight libraries, use as few components as possible.
  • Ensure Accessibility (a11y) and Internationalization (i18n) support.
  • Keep the overall weight of the app light to conserve bandwidth and resources.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors