An intelligent design system, and the engineers behind it
Ship faster because the system does the checking.
bun add @fusion.dev/helixCustom elements, built on Lit. Works in React, Vue, Svelte, or no framework at all.
An interface is cheap to start and expensive to keep
The first screen takes a morning. A second brand, a framework migration, and an accessibility audit take the rest of the year, and none of them is visible on the day you start. Helix is built for that later work.
Theming
Add a second brand with one color
- Enter one brand color and get a full palette
- Helix rejects a palette it cannot make readable
Components
Switch frameworks without a rewrite
- Custom elements that run in any framework, or in none
- Types for React, Vue, and Svelte from one manifest
Checks
Find problems before an audit does
- Contrast is measured on every release
- Twelve generators check the code and fail the build when it drifts
Agents
Give AI agents the reference you read
- Every tag, property, and event in one manifest at a URL
- Every page as Markdown, and every component family as JSON
Theming
Every pair Helix solves, checked for contrast
You enter one brand color, and Helix computes every token from it.
Components
The panel runs in your browser
Each control in it is a custom element from the Helix package.
| Quarter | Helix | Cortex |
|---|---|---|
| Q1 | 18 | 6 |
| Q2 | 31 | 9 |
| Q3 | 24 | 7 |
| Q4 | 39 | 12 |
| Source | Downloads |
|---|---|
| npm | 4,200 |
| jsDelivr | 3,100 |
| unpkg | 1,800 |
| Git | 900 |
| Slot | Hour | Day | Requests a minute |
|---|---|---|---|
| Mon 00:00 | 0 | 1 | 110 |
| Mon 02:00 | 2 | 1 | 111 |
| Mon 04:00 | 4 | 1 | 129 |
| Mon 06:00 | 6 | 1 | 286 |
| Mon 08:00 | 8 | 1 | 779 |
| Mon 10:00 | 10 | 1 | 1176 |
| Mon 12:00 | 12 | 1 | 962 |
| Mon 14:00 | 14 | 1 | 884 |
| Mon 16:00 | 16 | 1 | 1013 |
| Mon 18:00 | 18 | 1 | 709 |
| Mon 20:00 | 20 | 1 | 295 |
| Mon 22:00 | 22 | 1 | 136 |
| Tue 00:00 | 0 | 2 | 110 |
| Tue 02:00 | 2 | 2 | 111 |
| Tue 04:00 | 4 | 2 | 133 |
| Tue 06:00 | 6 | 2 | 319 |
| Tue 08:00 | 8 | 2 | 904 |
| Tue 10:00 | 10 | 2 | 1376 |
| Tue 12:00 | 12 | 2 | 1122 |
| Tue 14:00 | 14 | 2 | 1029 |
| Tue 16:00 | 16 | 2 | 1182 |
| Tue 18:00 | 18 | 2 | 821 |
| Tue 20:00 | 20 | 2 | 330 |
| Tue 22:00 | 22 | 2 | 141 |
| Wed 00:00 | 0 | 3 | 110 |
| Wed 02:00 | 2 | 3 | 111 |
| Wed 04:00 | 4 | 3 | 134 |
| Wed 06:00 | 6 | 3 | 330 |
| Wed 08:00 | 8 | 3 | 946 |
| Wed 10:00 | 10 | 3 | 1443 |
| Wed 12:00 | 12 | 3 | 1175 |
| Wed 14:00 | 14 | 3 | 1077 |
| Wed 16:00 | 16 | 3 | 1239 |
| Wed 18:00 | 18 | 3 | 859 |
| Wed 20:00 | 20 | 3 | 342 |
| Wed 22:00 | 22 | 3 | 143 |
| Thu 00:00 | 0 | 4 | 110 |
| Thu 02:00 | 2 | 4 | 111 |
| Thu 04:00 | 4 | 4 | 131 |
| Thu 06:00 | 6 | 4 | 308 |
| Thu 08:00 | 8 | 4 | 862 |
| Thu 10:00 | 10 | 4 | 1310 |
| Thu 12:00 | 12 | 4 | 1069 |
| Thu 14:00 | 14 | 4 | 981 |
| Thu 16:00 | 16 | 4 | 1126 |
| Thu 18:00 | 18 | 4 | 784 |
| Thu 20:00 | 20 | 4 | 318 |
| Thu 22:00 | 22 | 4 | 140 |
| Fri 00:00 | 0 | 5 | 110 |
| Fri 02:00 | 2 | 5 | 111 |
| Fri 04:00 | 4 | 5 | 128 |
| Fri 06:00 | 6 | 5 | 275 |
| Fri 08:00 | 8 | 5 | 737 |
| Fri 10:00 | 10 | 5 | 1110 |
| Fri 12:00 | 12 | 5 | 909 |
| Fri 14:00 | 14 | 5 | 836 |
| Fri 16:00 | 16 | 5 | 957 |
| Fri 18:00 | 18 | 5 | 672 |
| Fri 20:00 | 20 | 5 | 284 |
| Fri 22:00 | 22 | 5 | 135 |
| Sat 00:00 | 0 | 6 | 110 |
| Sat 02:00 | 2 | 6 | 110 |
| Sat 04:00 | 4 | 6 | 120 |
| Sat 06:00 | 6 | 6 | 198 |
| Sat 08:00 | 8 | 6 | 444 |
| Sat 10:00 | 10 | 6 | 643 |
| Sat 12:00 | 12 | 6 | 536 |
| Sat 14:00 | 14 | 6 | 497 |
| Sat 16:00 | 16 | 6 | 562 |
| Sat 18:00 | 18 | 6 | 409 |
| Sat 20:00 | 20 | 6 | 203 |
| Sat 22:00 | 22 | 6 | 123 |
| Sun 00:00 | 0 | 7 | 110 |
| Sun 02:00 | 2 | 7 | 110 |
| Sun 04:00 | 4 | 7 | 117 |
| Sun 06:00 | 6 | 7 | 176 |
| Sun 08:00 | 8 | 7 | 361 |
| Sun 10:00 | 10 | 7 | 510 |
| Sun 12:00 | 12 | 7 | 430 |
| Sun 14:00 | 14 | 7 | 400 |
| Sun 16:00 | 16 | 7 | 449 |
| Sun 18:00 | 18 | 7 | 335 |
| Sun 20:00 | 20 | 7 | 179 |
| Sun 22:00 | 22 | 7 | 120 |
| Region | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| North | 420 | 465 | 510 | 580 |
| South | 310 | 355 | 340 | 390 |
| East | 520 | 560 | 615 | 690 |
| West | 260 | 300 | 345 | 410 |
| Customer | Segment | Age | Yearly spend | Visits a month |
|---|---|---|---|---|
| Students 1 | Students | 22 | 440 | 6 |
| Students 2 | Students | 18 | 264 | 5 |
| Students 3 | Students | 23 | 246 | 11 |
| Students 4 | Students | 24 | 717 | 7 |
| Students 5 | Students | 24 | 270 | 11 |
| Students 6 | Students | 22 | 501 | 10 |
| Students 7 | Students | 20 | 279 | 5 |
| Students 8 | Students | 25 | 504 | 11 |
| Students 9 | Students | 20 | 324 | 8 |
| Students 10 | Students | 22 | 202 | 10 |
| Students 11 | Students | 14 | 460 | 5 |
| Students 12 | Students | 20 | 562 | 8 |
| Families 1 | Families | 38 | 1304 | 2 |
| Families 2 | Families | 30 | 1401 | 5 |
| Families 3 | Families | 36 | 1466 | 5 |
| Families 4 | Families | 33 | 1600 | 2 |
| Families 5 | Families | 39 | 1569 | 4 |
| Families 6 | Families | 31 | 1567 | 2 |
| Families 7 | Families | 33 | 1458 | 1 |
| Families 8 | Families | 36 | 1529 | 6 |
| Families 9 | Families | 35 | 1453 | 7 |
| Families 10 | Families | 41 | 1122 | 4 |
| Families 11 | Families | 42 | 1602 | 2 |
| Families 12 | Families | 39 | 1481 | 2 |
| Retirees 1 | Retirees | 61 | 574 | 15 |
| Retirees 2 | Retirees | 63 | 693 | 11 |
| Retirees 3 | Retirees | 55 | 527 | 12 |
| Retirees 4 | Retirees | 57 | 582 | 15 |
| Retirees 5 | Retirees | 55 | 835 | 15 |
| Retirees 6 | Retirees | 57 | 727 | 11 |
| Retirees 7 | Retirees | 58 | 650 | 11 |
| Retirees 8 | Retirees | 65 | 626 | 16 |
| Retirees 9 | Retirees | 63 | 972 | 11 |
| Retirees 10 | Retirees | 54 | 812 | 10 |
| Retirees 11 | Retirees | 62 | 1046 | 9 |
| Retirees 12 | Retirees | 59 | 864 | 12 |
| Service | Team | Requests a minute | p95 response (ms) |
|---|---|---|---|
| Gateway | Platform | 4200 | 85 |
| Auth | Platform | 2600 | 40 |
| Search | Product | 3100 | 210 |
| Catalog | Product | 2200 | 120 |
| Checkout | Product | 1400 | 260 |
| Billing | Finance | 900 | 180 |
| Ledger | Finance | 700 | 95 |
| Reports | Finance | 500 | 300 |
Coverage
113 components in one package
Charts, data tables, chat, and date pickers use the same tokens as your buttons.
- Ships an element
- Ships it as experimental
| 16 of 16 jobsHelix | 6 of 16 jobsCarbon | 0 of 16 jobsMaterial Web | 5 of 16 jobsSpectrum | 3 of 16 jobsWeb Awesome | |
|---|---|---|---|---|---|
| Data | |||||
| Charts | helix-area-chart | None | None | None | None |
| 3D charts | helix-spatial-bar-chart, experimental | None | None | None | None |
| Data table | helix-data-table | cds-table | None | sp-table | None |
| Tree | helix-tree | cds-tree-view | None | None | wa-tree |
| Input | |||||
| Combobox | helix-combobox | cds-combo-box | None | sp-combobox | None |
| Date picker | helix-date-picker | cds-date-picker | None | None | None |
| Time picker | helix-time-picker | cds-time-picker | None | None | None |
| Color picker | helix-color-picker | None | None | sp-color-area | wa-color-picker |
| File upload | helix-file-input | cds-file-uploader | None | sp-dropzone | None |
| Workflow | |||||
| Chat | helix-chat | None | None | None | None |
| Command palette | helix-command | None | None | None | None |
| Product tour | helix-tour | None | None | sp-coachmark | None |
| Node diagrams | helix-canvas | None | None | None | None |
| Media and places | |||||
| Maps | helix-map | None | None | None | None |
| Video player | helix-video | None | None | None | None |
| Carousel | helix-carousel | None | None | None | wa-carousel, experimental |
Services
Hire our engineers
Every service runs two days a week, alongside your team.
AI capability audit
Design system sprint
Conversational build
Insights
How we decide, and why
Work with us
Tell us what you need built. If we are not the right team for it, we will tell you.
Start a conversation