Seventeen Soft Logo

EstimateTask

Client: Seventeen Soft

Year: 2026

Visit site →
EstimateTask results revealed on a laptop at a dim desk - final estimate, overall average and the four role averages

Introduction

EstimateTask is a multi-tenant SaaS for the half hour every sprint that nobody enjoys. A lead opens a room, the team votes on a task, the cards flip together, and the result comes back split by role group - developers, QA and DevOps each with their own average. Guests join by link without an account, three visual themes change the room's character, and every round is kept so a team can see what it thought last time.

Services provided

Frontend developmentBackend developmentUI/UX design

Industry

SaaS & Productivity

Challenge

The Challenge

Estimation tools mostly produce one number, and one number is exactly what hides the disagreement worth having: the work looks small from the side that barely touches it and expensive from the side that carries the retries and the edge cases. Surfacing that split meant the voting engine had to be built around role groups from the start rather than bolted on. Around it sat the ordinary hard parts of multi-tenant SaaS - strict isolation between companies, a room that stays in sync across a dozen browsers in real time, and a way for an outside contractor to vote without an onboarding flow standing in front of them.

Approach

Our Approach

Tenant isolation is enforced in the database with row-level security rather than in application code, and every cross-tenant boundary ships with an integration test that signs in as a real user and proves the denial. Writes run as the calling user; the privileged client is reserved for bootstrap alone. The room synchronises over Supabase Realtime with a polling fallback, and guests enter through a token-gated link that mints a scoped anonymous session, so a contractor votes in seconds and can never reach another project. Voting supports parallel and sequential rounds, custom scales, and a one-click Quick Vote for the estimate that does not deserve a ceremony. Billing runs through Paddle as merchant of record, which keeps tax and invoicing off our plate.

Outcome

The Outcome

The product is built and complete - 133 tasks across five milestones, from the voting engine to the marketing site - and is running in pre-launch with a countdown and waitlist while the public opening is prepared. What it changes in a session is small and specific: the argument about a number ends with the numbers on screen, and the team can see which role is the outlier before anyone has to say it out loud.

Highlight

  • Role-specific averages for Dev, QA and DevOps, not one blended number
  • Real-time rooms over Supabase Realtime with a polling fallback
  • Guest voting by link - no account, scoped to a single project
  • Row-level security as the tenant boundary, with a denial test on every cross-tenant path
  • Parallel and sequential rounds, custom scales, and one-click Quick Vote
  • Per-task history so a team can see what it estimated last time
  • Three visual themes for the room
  • Paddle as merchant of record, so tax and invoicing stay off the product
Message
Contact

Contact us for any
questions

Have a project in mind or need more information? Get in touch with us - we`re here to help and happy to answer your questions.