A formula that remembers every version, every comment, and every bench result.
Tamats holds a cosmetic formulation as phases of ingredients with percentages, checks the running total against 100% as you build, and versions every save as a semantic-version revision so a reformulation is a new number, not an overwritten row. Measured bench results — pH, viscosity, SPF, a pass/fail/pending stability call — log against the formula directly, and comments thread on the record itself rather than living in a separate chat. The INCI label generates from the same phases, sorted by descending concentration with the sub-1% ordering rule applied, matched to the target region's labelling conventions but never a substitute for a human proofing the final artwork.
A formula stops being a single document the moment more than one person touches it — a percentage changes, a bench test comes back, someone leaves a note for whoever picks it up next. Most of that state ends up scattered across a spreadsheet, a chat thread and someone's memory. Tamats keeps it on the formula itself: the phases, the version history, the comments and the measured results all read from the one record.
What you do with it
Phases, percentages, and balance checking
Ingredients group into phases with a target percentage and function each; the running total is checked against 100% as the formula is built, with a note to adjust water (qs to balance) when it isn't there yet.
Semantic-version revisions
Every save that matters bumps the formula's version using real semver arithmetic, so a reformulation produces a new, comparable revision instead of silently replacing the one a batch was already run against.
Comments and measured test logs
Comments thread on the formula for handoff notes between teammates, and bench results — pH, viscosity, SPF, and a pass/fail/pending stability call — log against it directly, timestamped and attributable.
INCI label generation
The same phases generate the INCI declaration: descending concentration order above the 1% line, free ordering below it, with region-specific label notes (EU colourant and allergen declaration rules, Korean full-ingredient labelling) attached.
What it computes over
—The formula's own phases and percentages as entered
—The formula's saved revision history and its semver version numbers
—Bench measurements (pH, viscosity, SPF, stability) logged against the formula
—Teammate comments threaded on the formula record
Where it stops
Balance checking is arithmetic, not chemistry — a formula that sums to 100% is not thereby verified as stable, compatible or safe.
The INCI label generator applies the descending-order and 1% line rules; it does not check whether the listed ingredients are legal in any market — that is a separate compliance screen.
A test log is a place to record a measurement your own bench or a lab already took. Tamats does not run any test itself.
Who picks it up from here
The chemist or contract manufacturer who runs the actual batch and interprets what a logged test result means for the next revision.
Questions
Does Tamats check whether my formula balances to 100%?
Yes — the total is computed from the percentages you've entered as you build, with a note to adjust water (qs to balance) when it doesn't land there. It is arithmetic over your own numbers, not a claim about the formula's stability or performance.
What happens when I revise a formula after a batch has already run?
The revision gets a new semantic-version number rather than overwriting the one the batch was built against, so the version a reformulation started from stays readable and comparable to what replaced it.
Is the generated INCI label ready to print?
It applies the real ordering rules — descending concentration, free order below the 1% line, region-specific notes — but a human should still proof it against the finished artwork before it goes on a package; Tamats doesn't check ingredient legality as part of label generation, that's a separate compliance screen.