Stain Sheet app icon Stain Sheet Offline stain journal
Built for stains you actually deal with at home

A cleaner memory for messy fabric moments.

Stain Sheet helps you record stains, fabrics, treatment attempts, damage risk, and final results — then look back at your own history before repeating a method.

Private by design. The app is planned as an offline household utility: no account, no cloud sync, no stain-recognition API, and no automatic web-based advice.

Stain Sheet icon Stain Sheet Treatment log
Cotton shirt · coffee Risk: watch
1 Record the incidentFabric, stain family, severity, notes Active
2 Add treatment attemptsProduct, water temp, soak, friction Saved
3 Keep the verdictSuccess, damage risk, repeat choice Resolved
0fake guarantees

The cleanup loop

Not a cleaning encyclopedia. A personal record of what happened.

The page is structured around the way a real stain case unfolds: capture the incident, log each attempt, resolve the case, and later compare similar history.

01

Capture the fabric situation

Save the stain family, fabric profile, color, item category, location on item, severity, patch-test status, notes, and optional before photo.

02

Track each treatment attempt

Record the product or method, water temperature, soak time, friction level, spot test use, instant success score, and instant damage risk.

03

Resolve with a reusable verdict

Keep the final success score, final damage risk, and whether you would repeat the method, so old cases become useful instead of forgotten.

Incident notebook

Every stain gets its own treatment timeline.

Stain Sheet is organized around incidents and attempts, not vague tips. You can keep active cases, resolved cases, and archived cases separate.

Today Incidents Treatment attempts Resolved verdicts
Before
Oil on dark cottonSeverity 4 · patch tested · active
Open
Try 1
Dish soap · cold rinseSoak 12 min · low friction · score 62
Logged
Try 2
Oxygen cleaner · warm waterDamage risk 28 · score 81
Repeat
Final
Resolved with personal verdictSaved for future lookup and statistics
Done

Personal lookup

Find similar past cases before trying the same method again.

Lookup ranks past cases by matching stain family, fabric family, fabric color, item category, result quality, and recency.

Result matrix

Combination Coffee × Cotton × Cold rinse 3 cases · average success 72
Repeat signal Would repeat: 2 of 3 Enough history to display as personal evidence.
Damage risk Average risk 21 Tracked as your own household outcome, not universal advice.
Freshness Last used recently More recent cases can appear higher in lookup results.

Designed around caution, not claims.

The app does not promise that a method will work. It summarizes your own saved cases and keeps warning context visible when damage risk is high.

  • Patch-test status can be saved with each incident.
  • High damage risk can be flagged in cards and attempts.
  • Methods with limited evidence stay clearly marked.

Useful data without becoming a chore.

The core records stay practical: fabric, stain, treatment, score, risk, and whether you would repeat the method.

  • Fabric Library for common material profiles.
  • Product Library for household methods and harshness.
  • Export Preview for a simple local summary.

Insights with thresholds

Analytics appear only when there is enough history.

Stain Sheet focuses on practical summaries: rescue rate, hard fabrics, risky products, successful combinations, delay patterns, and repeat-worthy methods.

%

Rescue rate

Resolved cases with a strong final success score, shown for 30 days, 90 days, and all time.

!

Risky methods

Products or methods with repeated high damage risk can be separated from ordinary results.

Problem pairs

Stain and fabric combinations with repeated weak outcomes are highlighted only after enough cases.

Repeat signals

Trusted method counts depend on repeated cases with good success and low damage risk.

Offline-first

Built for a private household record.

Stain Sheet is described as an offline iPhone utility. Records, settings, and lookup history are intended to stay local. Optional before/after photos are stored in the app filesystem, with only relative paths saved in the models.

No account or backend required
No OCR or automatic stain recognition
No external stain advice API
UserDefaults + Codable for records