Write every day: the flame that tracks your writing streak
October 9, 2026 · Equipo Style Optimizer
Updated on 15 October 2026: the Phoenix spreads bird wings that grow out of the fire, the Crown's star lights up at the heart of the flame, the gentle flame arrives for anyone who prefers to write without counting days, and the card has a light mode.
Writing every day is easier to keep up when you can see the effort. In Style Optimizer, each day you write feeds a flame: it starts as a spark, grows as you keep going and changes shape at certain milestones. You'll find it on your Home screen and, in miniature, next to your name in the Rankings.
This article explains what that writing streak measures, what happens to the flame when you skip a day, and how we draw it in the browser with WebGL. Try it first: move the days written and jump from one stage to another.
What a writing streak is
A streak is the number of consecutive days on which you've written something in the editor. One day with new words is enough to count; how much you write is up to you. What the streak rewards is continuity, which is what turns writing into a habit: coming back to the page when you feel like it and also when you don't.
A counter works, but it says little. Thirty-seven is a figure; a bonfire that already fills the panel needs no reading. That's why the streak has an image, and the image is a fire: you feed it every day, it grows slowly and, if you neglect it for a day, it goes out.
The eleven stages of the flame
Between one milestone and the next, the flame grows a little every day. When it crosses a milestone it changes shape, so progress shows at a glance:
- Spark (1 day). A candle flame. Writing today is enough.
- Flame (3 days). Three small tongues over the first ember.
- Bonfire (7 days). One week: the fire now keeps itself going.
- Campfire (14 days). More tongues and the first rising sparks.
- Blaze (30 days). One month: the fire fills the panel.
- Pillar (50 days). A vertical jet of fire rises from the centre.
- Blue fire (100 days). The core turns bluish white and blue sparks fly.
- Whirlwind (150 days). The pillar starts to spin and the fire rises in a spiral.
- Crown (250 days). At the heart of the fire a star is born, with its crown of plasma.
- Phoenix (365 days). One year: the fire spreads two phoenix wings that beat slowly.
- Supernova (1000 days). A thousand days: the star bursts into waves of light, filaments and a colourful nebula.

What happens if you skip a day
The streak measures consecutive days, so a day without writing sends it back to zero, and the flame goes out with it: the flame is the streak. When you write again, a new spark lights up and the fire starts over from the beginning.
What you achieved isn't erased: your record keeps the longest streak you've had, in plain view as the mark to beat.
If you prefer to write without a score: the gentle flame
A counter spurs some people on and weighs on others. For anyone who prefers to write at their own pace, the fire card has a second form: the gentle flame. It is a warm, bluish flame, always the same size and slower, that greets you with "Welcome back" instead of days, records and milestones.
You choose it with the small gear on the card, on Home, or in My account → The app. Your writing days are still saved: you can switch back to the streak whenever you like and the days count just the same.

Where you see your flame
- On Home. The large panel shows the animated flame, your streak in days, your record and the milestone line with your next goal. If your streak is broken, the panel invites you to light a new spark.
- In the Rankings. Each writer has a small flame next to their name with their consecutive writing days. It's the only streak information that is made public: the dates you wrote, never what you wrote.
- In light and dark mode. The card follows the app's theme. On light paper the white core turns gold (or a deep blue from one hundred days) and the edges bright red, so the fire looks just as good.
How we draw it with WebGL
The flame is a fragment shader: a small program the graphics card runs once for every pixel of the canvas, sixty times a second. Each pixel decides its colour based on where it is and at what moment; the fire is the sum of those decisions.
Noise that rises
The substance of the fire is fractal noise (fBm): several layers of smooth noise, each at twice the frequency and half the strength of the previous one. We shift that noise upwards over time, and the texture appears to climb. We use three layers at different scales: one sways the body of the flame from side to side, another cuts out the tongues and the third adds the fine crackle along the edge.
A profile that narrows
On top of the noise we apply a silhouette: wide and dense at the base, narrower and narrower as it rises. The height and width of that silhouette come from the streak, so a Spark takes up a tiny fraction of the canvas and a Blaze almost all of it.
A colour ramp
The resulting value is turned into colour with a ramp that runs from ember to core. At one hundred days the core shifts from warm white to bluish white, which is what sets Blue fire apart:
vec3 brasa = vec3(0.38, 0.04, 0.02), naranja = vec3(0.97, 0.32, 0.05), oro = vec3(1.0, 0.74, 0.22);
vec3 nucleo = mix(vec3(1.0, 0.96, 0.84), vec3(0.76, 0.92, 1.0), uAzul);
vec3 c = mix(brasa, naranja, smoothstep(0.02, 0.32, f));
c = mix(c, oro, smoothstep(0.32, 0.7, f));
c = mix(c, nucleo, smoothstep(0.78, 1.15, f));
New shapes at each milestone
The stage changes are variations of the same function, all inside the shader. The Pillar adds a narrow jet that tapers upwards, and the Whirlwind twists it into a helix with bands of light that spiral up. The Crown lights a star at the heart of the fire, pierced by the spiral: a disc with plasma filaments that blend into the flames. The Phoenix's wings grow out of the body of the flame: an arm rises diagonally outwards and twelve feathers hang from it, longer at the tip, like a bird's primaries; the whole wing beats slowly. The Supernova adds light on top of the fire: a blinding core, three shock waves opening one after another, filaments and a colourful nebula.
Above the canvas, CSS only adds the glow and the sparks, which in the Supernova shoot out in every direction. The sparks follow seeded randomness, so the same streak always produces the same drawing.

Light and accessible
- The shader renders at half resolution. Fire is soft by nature, and this way it costs a quarter as much.
- The animation stops when the panel scrolls off screen.
- If your system asks for reduced motion, the flame shows as a still frame without sparks.
- In browsers without WebGL, CSS tongues draw a simpler version of the same fire.
How to keep your writing streak going
- Set a small minimum. A paragraph counts. The days you write little also feed the flame.
- Tie writing to something you already do. After your coffee or before you shut the laptop: a fixed moment takes less willpower.
- Leave a sentence half-finished. The next day you'll know where to pick up.
- Watch the next milestone. Home tells you how many days are left until the next stage; it's a concrete, nearby goal.
Frequently asked questions
What counts as a writing day?
Any day on which the Style Optimizer editor records new words in your documents.
Can I get a lost streak back?
The streak starts again from one, and the flame with it, from the spark. Your record is kept.
Is my record erased?
Your record keeps the longest streak you've had and never goes down.
Who can see my streak?
You, on Home. If you appear in the Rankings, other writers see your consecutive days next to your name; the content of what you write is always private.
Can I stop seeing the streak?
Yes. Switch to the gentle flame with the gear on the card or in My account → The app: you will see a flame that greets you without counting days.
Open the editor and write a few lines today: that's all the first spark needs.