Welding School Kiosk App Development

Job ID: 40001509

Budget: $750 – $1,500 USD

Job Title:
Build a Kiosk + Admin Web App for Welding Student Time Tracking (Supabase + WeWeb)

Project Overview:
We need a simple web-based application that will serve as:

A kiosk system for students to scan in and out with their badge ID (bar code)

A system to track and manage welding student training progress across 7 phases

An admin dashboard for instructors to manage student records

We’re using Supabase for the backend and WeWeb for the front end. Some backend setup is already complete, but we are open to a clean rebuild if needed.

Key Functional Requirements:

Kiosk Page (Student Use)

Student scans badge ID (linked to badge_id in Supabase)

If student is not clocked in:

Clock them in

Display “You are clocked in”

Show their current phase info (materials, filler, position)

Optionally show a printable material sheet

If already clocked in:

Clock them out

Display “You are clocked out”

Auto clock-out all students at midnight

If student exceeds max hours in current phase:

Block clock-in

Display their name and phase

Prompt instructor with 2 questions:

Has LMS training been completed? (Yes/No)

Do welds meet ASME code? (Yes/No)

Based on answers:

If both Yes → advance to next phase

If LMS = No → show "Complete LMS training" and continue to block until answered yes.

If ASME = No → reset phase time (rephase)

Admin Access (Instructor Use)

Admin login via a single passcode entry

If passcode is correct → load admin dashboard

If incorrect → show error message

Admin Dashboard Features

Table listing all active students with:

Name

Total hours

Pass/fail grade for each of 7 phases

Edit button to:

Manually update hours

Archive a student

Form to add new student:

Fields: Full Name, Badge ID

Add Student button inserts into Supabase and refreshes dashboard

Technical Requirements:

Supabase used as backend (no role-based auth required)

WeWeb as frontend (project already created)

Supabase REST API integration for CRUD operations

Use or create tables: students, attendance_sessions, phases, assessment_attempts

Automatically calculate total hours from attendance sessions

Assessments grouped by phase to determine pass/fail

Phase advancement and rephase logic must be enforced

Deliverables:

Fully working kiosk and admin web app built in WeWeb

All backend logic configured via Supabase (functions or REST)

Database schema and structure connected to front end

Documentation for future updates, including:

How to manage students

How to edit phase content

How to configure new workflows