Status Trio
Status Trio는 macOS 메뉴바 앱으로 Wi‑Fi·배터리·볼륨을 하나의 아이콘에 통합합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗English · Українська
A web calculator for sheet-metal ductwork. You list the duct fittings of a ventilation system (straight ducts, elbows, reducers, tees, crosses, caps, branch-in collars) with their sizes, and it returns the sheet-metal area of every item, the metal thickness by the Ukrainian norm, a metal list grouped by thickness with the number of sheets to order, the insulation area and a cost estimate from your own prices.
Live: https://hvac-duct-calculator-rho.vercel.app
The interface is in Ukrainian by default, with an English version: the УКР / EN switch at the top right changes the language, and the browser remembers the choice. The tool is built for duct designers and sheet-metal shops in Ukraine. Everything is calculated in the browser; there is no backend and nothing is stored apart from the language choice.
| Fittings folded into tiles, with the results table | Totals, metal and insulation lists with prices |
|---|---|
On a phone the side panel becomes a column of round buttons at the screen edge, with a quick menu of common kinds and a searchable list of all of them.
19 kinds, named by the designations a Ukrainian spec uses.
In the English interface the same kinds have short English codes (C = circular, R = rectangular): CD, RD ducts; CE, RE elbows; CR, RR, RC reducers; CTap, RTap collars; CT, CRT, RT, RCT tees; CX, CRX, RX, RCX crosses.
| Group | Kinds |
|---|---|
| Straight ducts | round (КПв), rectangular (ППв) |
| Elbows | round (КВд), rectangular (ПВд), any angle |
| Reducers | round (КП), rectangular (ПП), rectangular to round (ППК) |
| Caps | round, rectangular |
| Branch-in collars | round (Квр), rectangular (Пвр) |
| Tees | round (КТ), round with a rectangular branch (КПТ), rectangular (ПТ), rectangular with a round branch (ПКТ) |
| Crosses | round with round branches (ККХ), round with rectangular branches (КПХ), rectangular with rectangular branches (ППХ), rectangular with round branches (ПКХ) |
Tees and crosses subtract the branch openings from the main duct; thickness follows the main duct.
The reference is a calculation spreadsheet that a practising HVAC engineer has used on real projects for years. The calculator was built against it, not just inspired by it:
src/lib/calc/__fixtures__/ and are committed by hand, separately from the code. Each case is marked basis: 'geometry' (derived independently from first principles) or basis: 'excel' (follows the spreadsheet's convention). Tests are never adjusted to make code pass.TODO(confirm) mark and listed in a register instead of being guessed. His answers are logged in docs/engineer-answers.md.Every engineering decision has its own record in docs/adr/ (context, decision, consequences, source), indexed in docs/decisions.md.
src/lib/calc/ pure TypeScript core: geometry, thickness, waste factor, sheet count,
air properties and pressure drop. No framework, no validation library.
src/lib/validation/ Zod schemas around the core; errors are stable codes, not text
src/lib/form/ form layer: raw text -> validated input -> results; defaults and warnings
src/lib/i18n/ every user-visible string (Ukrainian and English dictionaries)
src/components/ React components; props only, no calculation
Next.js (App Router), React, TypeScript (strict), Tailwind CSS, Zod, Vitest. Deployed on Vercel with Vercel Web Analytics. CI on GitHub Actions runs typecheck, lint and tests on every pull request.
Requires Node 24 (see .nvmrc).
npm ci
npm run dev # http://localhost:3000
npm test # unit tests (Vitest)
npm run typecheck
npm run lint