← Обяви

Build a Custom, Low-Bias Cognitive Screening Web App (Next.js + Firebase Stack)

Бюджет: $100.0 FIXED / ⭐ 4.98 (86) United States

typescript, google-cloud-platform, node.js, firebase

We are looking for an experienced Full-Stack Developer to build a lightweight, secure, and self-hosted Cognitive Screening Web App for our recruiting pipeline. The goal of this application is to host and administer a short, time-locked cognitive test for global job applicants using open-source psychometric frameworks. Our technical stack is anchored entirely within Google Cloud Platform (GCP). The architecture of this application must leverage our existing ecosystem using Firebase (Hosting, Auth, Cloud Functions, and Firestore), Cloud SQL (PostgreSQL), and TypeScript. The application consists of two views: a Candidate Testing Interface and a password-protected Admin Dashboard. Dynamic Test Design Requirements (ICAR Framework Integration)To ensure the test is entirely free of language barriers and cultural bias, the application must support public-domain question formats from the ICAR (International Cognitive Ability Resource) framework. The app must dynamically serve 12 questions pulled from an admin-managed database pool across these specific ICAR types: Matrix Reasoning (Visual Pattern Completion): $3 \times 3$ arrays of geometric shapes where the bottom-right shape is missing. The candidate must pick the missing shape from 4 or 6 visual options. Three-Dimensional Rotation (Spatial Ability): Visual representations of geometric cubes/objects. The candidate must identify which option represents a valid spatial rotation of the target object. Letter and Number Series (Sequential Reasoning): Language-agnostic logic sequences (e.g., “A, C, E, G, __” or “2, 4, 8, 16, __”). Key Deliverables & Features 1. Candidate Testing Interface Access Control: Candidates enter the test via a unique URL token (e.g., /test?token=xyz). The token must be validated against the database before launching. Sequential Test Layout: Questions are displayed one at a time. Each question features an image asset (or a text string for sequences) and 4 to 6 multiple-choice radio options. No Back-Navigation: Candidates cannot click "back" to alter previous answers. Dual-Layered Time Limits: A prominent, synchronized 12-minute countdown timer runs at the top. The application must auto-submit candidate answers if the timer hits zero. To prevent client-side manipulation, the test start time must be written to Cloud SQL immediately on initialization, and the final completion time must be server-validated. Anti-Cheating Guardrails: We require strict front-end event listeners to protect test integrity. The test must automatically trigger an immediate form submission if the candidate navigates away from the browser tab/window (window blur event). 2. Admin Dashboard Security: Simple password protection via an environment variable. Test Management: An interface to manage the question pool, upload visual assets (stored in Firebase Storage), set correct answer keys, and generate single-use, time-expiring candidate access tokens. Analytics Table: A data table displaying: Candidate Name, Email, Test Date, Raw Score (X/12), Total Time Taken (calculated on the server), and a flag indicating if they triggered a blur event warning. Technical Stack & Constraints Frontend: Next.js (App Router) or React, styled with Tailwind CSS, fully typed in TypeScript. Hosting & Backend: Hosted on Firebase Hosting, with API routing managed by serverless Firebase Cloud Functions (V2). Databases: Core analytics, logging, and transactional candidate data must sit in GCP Cloud SQL (PostgreSQL). Temporary token caching or simple configuration flags can leverage Firestore if helpful. Assets: All visual puzzle images must be served securely from Firebase Storage. How to Apply Please provide: A brief overview of your experience configuring Firebase Cloud Functions to connect securely with GCP Cloud SQL (PostgreSQL). A link to your GitHub or an example of a TypeScript/Firebase application you have deployed. Your estimated timeline to deliver a production-ready MVP.
Отвори в Upwork