We recently developed a sulfate-free body wash for a US indie skincare brand (name withheld at the client's request). The project had a stability problem. The story behind it is worth sharing.
The original idea sounded good
The brand wanted a "functional" body wash. Niacinamide for brightening. Ceramides for barrier repair. Sodium hyaluronate for hydration. Plus a cationic conditioning system (Guar HPTC + PQ-7). The idea was: these actives would deposit onto skin during rinse-off, instead of washing away right away.
This logic comes from hair conditioner formulation. Cationic polymers work well there. They help silicones and conditioning agents stay on hair.
But a body wash is not a conditioner.
The first sample was cloudy


We made the first batch based on the original brief. It came out cloudy. The viscosity was also off.
We did not guess the cause. Instead, we ran a simple test. First, we made a batch with only the surfactant system, no actives. This came out clear, with good viscosity. Then we added all the actives back in. The turbidity appeared right away.
This told us something important: the surfactant base was not the problem. The problem was in the actives.
Three factors combined to cause the problem
- SCI85 has weak stability at low temperature. This is not a mistake in processing. It is a known trait of this raw material. It can turn cloudy easily when it gets cold.
- The cationic polymers (Guar HPTC + PQ-7) made this worse. Combined with SCI85's weakness, the effect got bigger.
- Sodium hyaluronate salted out. The ionic environment created by the cationic system was too unstable, so it could not stay dissolved.
A more important finding
During our review with the client, we made a point that surprised them at first: ceramides and sodium hyaluronate don't actually do much in a rinse-off product like this.
This is not a formula mistake. It is about contact time. These ingredients need skin contact for a while to work. A body wash is on the skin for only a few seconds before it gets rinsed off. Removing these ingredients is not a downgrade. It just means removing something that was never a good fit for this product type.
This also raised a question about the cationic polymers. They were added to help actives "stick" to skin during rinse-off. But in practice, the real function of a cationic system in this category is different. It helps reduce irritation from the surfactant. It does not really deposit actives well, because the contact time is too short.
[PHOTO: before/after comparison — cloudy original formula vs. clear reformulated version]
How we simplified the formula
The approach was simple: remove what does not work, keep what does.
- Changed the main surfactant to sodium lauroyl sarcosinate, an amino acid surfactant. This is milder than SCI85.
- Removed the cationic system completely. Its main job was reducing irritation. The amino acid surfactant is already mild, so the cationic system was no longer needed.
- Removed ceramides and sodium hyaluronate. They added complexity but no real benefit in this product type.
- Kept only two actives that actually work in this format: niacinamide (brightening and barrier support) and gluconolactone (PHA) (gentle exfoliation).
The final formula is much simpler than the original. But it tests clear, holds a stable viscosity, and lathers well.



Takeaway
This case is not really about solving a cloudiness problem. It points to a bigger idea in formulation: more active ingredients does not mean a better product. This is especially true when a technique is borrowed from a leave-on category, like hair conditioner, and used in a rinse-off category. The mechanism needs to be checked again for the new use case. It should not be assumed to work the same way.
Disclaimer: The formulation approach described here needs re-validation for different product formats, market regulations, and actual raw material batches. This case study is for reference only. It does not serve as general formulation advice.



