Skip to content
Hooney
한국어
Products

Personal products · Prototype

AI-kit estimation room

A realtime estimation room that keeps sprint refinement and planning short and gets everyone playing along. It started as a toy project.

Period
2026.08 ~ Present
Organization
Personal project
Role
Design and implementation (solo)
What it's for
Teammates join from a link and play their cards at the same moment, and no one sees another's number until the reveal. Only a confirmed result reaches Jira, after a preview.
Work and results
  • SSE carries room state to every browser, and Redis Pub/Sub shares room events across API servers
  • Poll reveals hidden votes together; in Bidding, the lowest bid takes the ticket
  • Ending a game leaves Jira untouched until the room owner checks the result preview
  • Players join from a shared link without signing in, in Korean or English
Tech stack
  • NestJS
  • React
  • PostgreSQL
  • Redis
  • SSE
  • Docker

Background

Sprint refinement and planning tend to run long while a team sizes each ticket. When everyone plays a card at once and the cards turn over together, no one follows the first number spoken, and the meeting moves faster. I wanted to build an estimation room wired straight into Jira myself, and to make the meeting a little more fun, so it began as a toy project.

Decisions and implementation

  • PostgreSQL holds the source of truth for each room, and Redis Pub/Sub shares room events across API instances. Browsers receive state over SSE and reconnect to pick up where they left off.
  • Poll hides votes until the reveal. Moving to the next ticket visits every ticket once before returning to the ones still undecided.
  • Bidding gives each player a capacity budget, and the lowest valid bid takes the ticket. Remaining capacity breaks the first tie, and an operator settles an exact one.
  • Ending a game never changes Jira. The room owner writes only after checking the frozen result and its preview, and every write is recorded under the server’s Jira account. Bidding results stay out of Jira until there is a rule for assigning owners.
  • The same repository also drafts sprint summaries and release notes from Jira and GitHub records. AI writes the drafts, and anything written outside runs only after a named person approves it.

Current status

One Docker Compose command starts the database, API, and interface together. There is no public address for now, and the repository is private.