handspinning
Rosa's Yarn: Tracking Every Skein to the Quinceañera
A simple app built for a Peruvian handspinner racing her cochineal-dyed alpaca yarn to finish a poncho before her daughter's quinceañera — with a live pace counter and dye-batch log.
Artem
Founder
· 5 min read

Every evening after the animals are settled and the fire is going, Rosa sits in Chinchero and spins. The alpaca fibre is from her own herd. The dye is cochineal, ground by hand, and no two batches come out exactly the same red. She is making a poncho for her daughter Rosita's quinceañera, and the warp is a fixed, measured length — she knows how many metres she needs, and she knows the date she cannot move.
The problem is keeping count. Which skein came from which dye pot? How many metres has she spun so far? Is she ahead or behind? Switching between a notebook, a tape measure, and mental arithmetic each evening is slow and fragile. Rosa's Yarn is a small, focused app built to answer exactly those three questions, offline, with no fuss.
Live demo
The stripe problem: why dye batches matter
Cochineal is one of the oldest and richest natural dyes in the Andes. It also varies. The same mordant recipe, the same bug-to-fibre ratio, a slightly different water temperature — and the red shifts a shade. That variation is not a defect; it is the character of natural dyeing. But in a striped poncho, skeins from different batches sitting next to each other in the same stripe will read as two colours once the piece is off the loom.
Rosa's Yarn solves this by making the dye batch a first-class object. Every time you log a skein, you record which batch dyed it and the shade you actually achieved. The app groups your skeins by batch on the main screen, so you can see at a glance which colour pool has how many metres, and plan which skeins to warp together. Open the live demo in the phone frame above and tap the dye-batch view to see how the grouping works.

A pace counter tied to a real deadline
The warp for a full poncho is a fixed number of metres. That number does not change. The quinceañera date does not change. What changes every evening is how many metres Rosa has spun. The app takes those three fixed inputs — warp goal, today's total, date of the celebration — and turns them into one plain sentence: the metres per evening she needs to spin from now to finish in time.
This is not a motivational feature. It is an arithmetic tool. If Rosa has been spinning 80 metres a night and the pace counter says she needs 95, she knows to push the next few sessions or to ask her sister to help. If it says she needs 60, she knows she has room to slow down on a difficult preparation day. Try logging a skein in the demo and watch the pace counter update immediately.
The countdown also shows the number of evenings remaining, not just the calendar days. Mornings do not count. Afternoons during market days do not count. Evenings by the fire do. That specificity is what makes the number honest.
Logging a skein: the daily rhythm
Spinning happens in sessions, and a skein is the natural unit of one session's work. Rosa finishes a skein, measures it on her niddy-noddy, and logs it before setting it aside. The entry form in Rosa's Yarn asks for three things: the metres spun, the dye batch it belongs to, and optionally a note about the shade or any deviation. That is the whole flow.
The app is built to work offline because the fire is not near a router, and because the data is personal and local. Nothing leaves the device. When you open the app the next evening, the running total is there, the dye batches are there, the pace counter has updated to reflect one fewer day on the calendar. There is no empty loading screen, no sync spinner, no account to log in to.
Who this is for, and what it feels like to use
Rosa's Yarn is built around one person's situation, but the underlying pattern is common across Andean weaving communities and beyond: a fibre artist working from their own animals' fleece, using natural dyes that vary lot to lot, making a garment with a structural commitment (a fixed warp length) and a social deadline (a family event). If that description fits you even loosely, the app will fit too.
The interface is warm and unhurried. The colour palette borrows from madder and cochineal reds, natural alpaca cream, and the deep indigo of Andean textiles. There are no notifications, no streaks, no gamification. You open it, log your skein, see where you stand, and go to bed. The app is a ledger, not a coach.
Scroll through the demo above: add a skein from a new dye batch, watch it appear in the colour grouping, and check how the warp progress bar moves. The whole interaction takes about thirty seconds — which is the right amount of time for something you do every evening after a long day.
Built from a single idea, ready for your own
This app started as a description of a problem: a handspinner in Chinchero who needs to track cochineal dye batches and her pace toward a family deadline. That description, turned into a working tool in a short time, is what Leanfinit does. The same approach works for any specific, concrete problem you live with — a fermentation log, a seed-saving tracker, a commission ledger for weavers who sell at market.
If you have a problem that a spreadsheet almost solves but never quite does, that is the right starting point. Describe the situation, the constraint, and the people involved. The more specific you are, the more useful the result.
39
files in the build
40.4 MB
app bundle
Flutter Web
runs in any browser
Have a craft problem that needs its own tool?
Describe your situation — the material, the deadline, the thing you keep losing track of — and we will build you something that fits the way you actually work.