Skip to content

KannaKim/SmartPayroll

Repository files navigation

Payroll AI Integrator - Craft & Design 2026

Project Banner Powered by Gemini

Overview

This project was developed during the University of Manitoba Computer Science Students' Association (UMCSSA) "Craft & Design" 2026 event. The challenge, sponsored by Payworks Payroll Services Canada, task participants with integrating payroll data from diverse and often messy sources—including paper documents, Excel files, and even handwritten notes.

Our solution leverages Google Gemini's Structured Output API to intelligently parse and unify these disparate data formats into a single, structured database. Unlike traditional ETL processes that require custom logic for every new file format, this system dynamically adapts to the input it receives.

Key Features

  • Leveraging AI: Uses Google Gemini to automatically identify and extract payroll fields from any text-based or image input (including handwritten notes).
  • Intelligent Field Mapping: Proposes logical mappings between source data columns/headers and the target payroll schema.
  • Human-in-the-Loop Review: Provides an interface for operators to review AI-suggested mappings and manually override them, ensuring 100% data accuracy.
  • Persistent Mapping Templates: Remembers user-overridden mappings to improve future imports of similar file formats.
  • Support for Multi-Modal Input: Handles CSVs, free-form text, and images of documents seamlessly.

Technical Stack

  • Frontend: React.js (Vite) with Lucide Icons for a clean, modern UI.
  • Backend: Node.js & Express.
  • Intelligence: Google Gemini (via @google/generative-ai).
  • Database:
    • Cloud-Ready: Configured for Supabase integration.
  • Validation: Strict schema validation to ensure data integrity before database insertion.

Setup Instructions

Prerequisites

  • Node.js (v18 or higher)
  • A Google Gemini API Key

Backend Setup

  1. Navigate to the root directory.
  2. Install dependencies:
    npm install
  3. Create a .env file in the root directory and add your Gemini API Key:
    GEMINI_API_KEY=your_api_key_here
    PORT=3001
  4. Initialize the local database:
    node seed.js
  5. Start the server:
    npm start

Frontend Setup

  1. Navigate to the frontend directory.
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev

About the Event

The project was built in under 6 hours during the Craft & Design competition. We focused on solving a real-world business challenge: the friction of manual data entry for business owners managing fragmented payroll information.

Huge thanks to Payworks for the challenge and UMCSSA for organizing such an inspiring event!


SmartPayroll

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors