A very short Zoom Meeting with the HR Lady who asked me to complete a 10 hours take home test within 48 hours.
Summary of the Take-Home Task
🎯 Core Objective
The goal was to build a full-stack application using React (Frontend) and Node.js + Express (Backend) that handles Web3 authentication, custom message signing, and signature verification.
🧩 Key Technical Requirements
Headless Web3 Authentication: Required a complex, non-trivial implementation of the Dynamic.xyz embedded wallet using their headless SDK for email authentication, specifically forbidding the simple use of the standard UI widget.
Frontend Functionality (React 18+): Included displaying the wallet address, a form for a custom message, signing the message, and submitting the { message, signature } pair to the backend. It also needed to handle local history for signed messages and display the backend's verification result.
Backend Functionality (Node.js + Express): Mandated a POST /verify-signature API endpoint. This endpoint had to use ethers.js or viem (without any third-party services) to recover the signer address and validate the signature against the message, returning the validity status and the recovered signer.
🏋️ Evaluation & Scope
The task's scope was extensive, focusing on high-level architecture and design in addition to core functionality:
Code & Architecture: Graded on React architecture (component design, state flow), Node.js/Express modularity, code quality, and error handling.
Web3 Implementation: Evaluated on the clean usage of the Dynamic.xyz headless SDK for login and the signing flow.
Design & UX: Explicitly required "Beautiful UX design skills" and an "intuitive UI," adding a significant design layer to a highly technical task.
Submission Overhead: Required a PR to a GitHub repo and extensive documentation (README with setup, trade-offs/improvements notes, and a passing test suite).
👎 Negative Experience Summary for Glassdoor
This exercise was excessively complex and time-consuming for a take-home test, reflecting a disregard for the candidate's time and potentially signaling poor internal resource management or a lack of clarity on essential vs. desired skills.
🚨 Key Issues
Over-Engineered Scope: The task combined advanced, niche technical requirements (headless Dynamic.xyz integration, raw ethers.js signature verification in a backend API) with the demand for "Beautiful UX design skills." This is a workload for a multi-day/week contract, not a typical pre-interview screen.
High-Effort, Low-Value Prerequisites: Requiring the specific headless implementation of Dynamic.xyz instead of the widget adds significant complexity for a task where the core skill being tested is Web3 signing/verification logic. The requirement for a passing test suite and extensive documentation further ballooned the time commitment.
Unrealistic Skill Expectation: The evaluation criteria assessed a full spectrum of skills—React architecture, Node.js API development, specialized Web3 SDK integration, testing, documentation, and professional-level UX design. This broad and deep requirement profile suggests an attempt to extract free labor or set an impossibly high bar.
Time Investment: Realistically, completing this task—including the full-stack setup, headless integration, detailed verification logic, history state management, robust error handling, a test suite, and high-quality design—would take 20+ hours, which is unreasonable for an unpaid candidate exercise.