SocioHR Play
Assessment and recruitment platform for a university department - five quiz engines, one data model

- Quiz engines
- 5 - assessment, personality, multiple intelligences, crossword, questionnaire
- Data model
- 20 routes · 9 collections · 3 roles
- Minors' data
- responses stored unlinked from contact details, enforced in rules
- Consent
- versioned capture · age gate at Romania's 16-year threshold
- Hardening, Sep 2026
- CI gate · security-rules test suite · submission validation · WebP-only uploads
- Role
- Sole developer - product, engineering, deploy
- Client
- Department of Sociology, West University of Timișoara
- Stack
- React 19TypeScriptFirebaseCloud FunctionsRechartsTailwind CSS 4
Five engines sharing one pipeline
Each format has its own authoring UI, scoring rules and result presentation - weighted points with partial credit, answers mapping to outcomes, top-three profiles, word-by-word crossword matching, unscored Likert questionnaires - over one data model, one player and one export path. The partial-credit algorithm is built to resist answer-all gaming.
Holding teenagers' data responsibly
Consent is captured versioned, with an age gate reflecting Romania's 16-year digital consent threshold. Responses live in a separate collection from contact details and are never linked, which the security rules enforce rather than the client. That split is what lets the department export data for sociological research without exporting anyone's identity.
A live-event failure, fixed at the root
At an event, ad-blockers and a restrictive venue network silently blocked Google API domains and the quizzes stopped loading. Reads now route through a same-origin Cloud Function endpoint, so nothing the app needs is on a domain a blocklist would recognise.
Trilingual memorial and content platform, with an admin panel elderly volunteers actually use