What You'll Work On The work is pragmatic and concrete — features, fixes, performance, and tests across the live survey experience. Examples: Front-end & real-time UI — Stimulus controllers, Turbo Streams and Frames, moderator dashboard updates, respondent waiting-room flows, broadcast wiring through ActionCable Browser testing — Playwright suites (smoke, critical, realtime, e2e, orchestration, domains, flows, stress); end-to-end coverage of real-time survey flows is a meaningful chunk of the work New question and data-field types — extending Question / DataField / AnswerOption and the moderator and respondent UIs that drive them Exports — XLSX (Roo / CAxlsx), PowerPoint generation, HTML-to-PDF (Grover / Puppeteer); these are first-class deliverables, not side features Cache and concurrency — tightening invalidation in the 3-layer cache (LiveReportingCacheBuilder), debugging race conditions in ProgressionSimple and PostAnswerProcessingJob, working with pg_try_advisory_lock and user.with_lock Background jobs — SolidQueue jobs for answer aggregation, broadcasts, exports, AI message generation Admin / authorization — Pundit policies and the AdminSurveyAssignment role hierarchy (global admins vs. assignable field_admin / moderator / client_monitor) Required Experience Rails 8 (or strong Rails 7 with willingness to ramp on the Solid Suite quickly), Ruby 3.x PostgreSQL — comfortable writing migrations, designing indexes, and reasoning about row-level locks vs. advisory locks Hotwire — Turbo Streams, Turbo Frames, and Stimulus. Not optional. Most of the UI is Hotwire-driven and the contractor will be reading and writing it daily Front-end & browser testing — strong Playwright experience (or strong Cypress with willingness to switch). Owning end-to-end browser coverage of real-time flows is a major dependency for this role ActionCable / WebSockets — channels, streams, broadcast privacy patterns (per-user GlobalID streams, no PII in payloads) Background jobs — SolidQueue or Sidekiq experience; idempotent design, proper error handling, retry semantics Document export experience — XLSX (Roo + CAxlsx), PowerPoint generation, HTML-to-PDF (Grover or equivalent) Pundit (or equivalent policy-based authorization) Minitest + Fabrication — or willingness to switch from RSpec / FactoryBot. The codebase is Minitest-only Git + Conventional Commits — comfort working through PR review with a high CI bar Strong Bonus Front-end design / UX within an existing system — the ability to design and ship meaningful UX improvements using the existing Bootstrap 4 components, SCSS conventions, and Stimulus patterns rather than introducing a new design language. We want someone who can extend what's already there cohesively SolidQueue / SolidCache / SolidCable specifically (vs. Sidekiq / Redis-cache equivalents) Real-time concurrency experience — cache stampedes, advisory-lock coordination, race conditions in user state machines Heroku ops — Judoscale autoscaling, Bugsnag triage, connection-pool tuning (QUEUE_DB_POOL >= SOLID_QUEUE_THREADS) Performance tooling — Bullet (N+1), rack-mini-profiler, StackProf, memory profiling OpenAI / LLM integration (we use ruby-openai for generated message content) Bootstrap 4 familiarity — being honest, this is legacy and the contractor should be comfortable working in it
Job Title
Remote Contract Rails 8 Developer