Company · Founder · 2026 – present

Vale: dress well. Don't think about it.

A styling app for people who don't follow fashion and don't want to. Tell Vale the occasion, and it builds one outfit from the clothes you already own, tells you why it works, and remembers what you wore so tomorrow needs no thought either.

Status
Live on the web and the iOS App Store
Links
dressvale.com
Role
Founder. Product, design, build, legal and launch
Built with
HTML and JavaScript, Capacitor, Swift, Supabase, Stripe, StoreKit, Claude

The problem. Most people know they should dress better. They walk into a store with hundreds of options and leave with nothing, or scroll a site that assumes they already know what pairs with what. Every fashion app answers this with more choice. Vale answers it with less: one outfit, in plain English, built from what is in your closet.

What I built. A working product on two platforms, a company around it, and a set of rules about what the product will never do. This page is about all three.

The idea

A decision-elimination app, not a fashion app

The customer is someone entering a stage of life where getting dressed suddenly matters: a first job, an interview, a new city. They feel a low-grade, chronic embarrassment about how they dress, and they have no desire to become stylish. They googled "how to dress better," got overwhelmed in forty-five seconds, and wore the same thing again.

That person does not want a mood board. They want to be told. So Vale is directive. It says "wear this," never "you might consider." Descriptions stay under fifteen words a piece. There is no fashion vocabulary anywhere in the product, no exclamation points, no urgency, and no emoji. The voice is a well-dressed friend who tells you what to wear without making a production of it.

The standard for every decision

Does this make getting dressed easier for someone who doesn't care about fashion? If yes, build it. If no or unclear, don't.

The competition is the opposite bet. The leading AI wardrobe apps are built by fashion-literate people for fashion-literate users, with thousands of brands in a feed, long style quizzes up front, and outfits that repeat. Vale's position is the Netflix-versus-cable argument: limited, curated and easy beats unlimited and complex for this customer.

The product

What Vale does

Today

The daily outfit
Built each morning from your wardrobe for the occasion, the season and the real weather where you are.
Occasions
Casual, Work, Date Night, Formal Event, Weekend, Active. Vale guesses; one tap corrects it and rebuilds.
Read from your calendar
On iPhone, Vale reads today and tomorrow and dresses you for what the day holds. The most demanding thing on the day sets the bar. A 9 a.m. board meeting and 7 p.m. drinks need one outfit that survives both.
Tomorrow, tonight
Open the app in the evening and Vale builds tomorrow's outfit too, so the morning paints instantly.
Rating
Felt great, It worked, Not really, Didn't wear it. Every answer feeds the next build, and the last one tells Vale a piece was never actually worn.

Wardrobe

Adding a piece
Photograph it. Claude identifies the garment, names it, classifies it and describes its color, pattern and cut.
One photo, many garments
Photograph a whole outfit and Vale separates it, returning each garment with a bounding box, cropped and saved as its own piece.
Correcting it
Say what it got wrong in plain words, "it's a linen overshirt, not a jacket," and Vale re-reads the piece, trusting you over the photo.
Laundry
Each piece shows how many wears it has had and whether Vale is resting it. Just washed it puts it straight back in rotation.

Explore

Should I buy it?
Photograph up to four things you're deciding between. Vale judges them against what you already own. A recommendation engine with no knowledge of your closet is a shopping feed, and Vale is explicitly not one.
Threads
A longer conversation for a clothing problem too big for one question: packing for a week, a run of events.
Worth adding next
Generic pieces to shop for: color, fabric, garment, and what to check when buying. Never a brand, a store or a price.

A design problem in detail

Rest and rotation

Early on, Vale could put you in the same shirt three days running. It had the wear history to know better and never used it. The fix was three separate ideas, deliberately not one rule.

Cleanliness applies to what touches skin. Rotation spreads wear across everything else, because jeans don't need washing after one wear but wearing the same three things every day was the other half of the complaint. Anchors are exempt from both: a piece whose category has fewer than three members repeats freely, because owning one winter coat means wearing it daily. Allowances come from the garment, not the category, since a cotton tee and a merino jumper are both "tops" and are not the same thing for this purpose.

GarmentWears before restAgainst skin
T-shirt, polo, vest1yes
Shirt, blouse2yes
Dress, skirt2yes
Chinos, trousers3no
Knitwear, merino, fleece4no
Jeans, denim5no
Coat, blazer, suit10no
Leather shoes—one day to dry

The tap that teaches

Vale cannot see a laundry basket, so cleanliness is inferred, and the correction that fixes a wrong guess is also what trains it. The gap between a piece's last wear and a Just washed it tap is a sample of how often you really do laundry. The inferred cycle is a rolling mean of those samples, not a guessed week. Wash every four days and Vale stops resting your shirts for seven.

It reaches the model as a preference with an explicit escape hatch: use the piece anyway rather than build a worse outfit, and say so. A hard rule plus a sparse wardrobe produces no outfit at all, and that failure would not look like it was about laundry.

How it is built

One file, two platforms, nine edge functions

Almost every assumption about a modern app is wrong here. The entire client, markup, stylesheet and every line of behavior, is one hand-authored HTML file. No framework, no bundler, no build step. That same file is the website at dressvale.com and, copied in, the bundle inside the iOS app. Capacitor wraps it in a web view, and two hand-written Swift plugins reach the things a web view cannot: the calendar through EventKit and purchases through StoreKit 2.

Behind it sits Supabase: Postgres with row-level security, auth, file storage and nine edge functions. Claude does every piece of reading and reasoning about clothes: identifying garments from photographs, composing outfits, judging purchases, and reading a full-length photo for how clothes should be cut. Payments run through Stripe on the web and StoreKit on iOS, with receipts verified server-side against Apple's certificate chain. Users subscribe through the web where they can, which keeps Apple's cut off the table.

  • 1fileThe whole client, shared by web and iOS
  • 9Supabase edge functions
  • 2Hand-written Swift plugins
  • 6Occasions Vale dresses you for

One file means there is no place for a change to hide and no build to disagree with. It also means the file is the design system: the palette and type live in its root block and nowhere else.

Lines it will not cross

What Vale refuses to do

Describe your body
The fit read looks at one full-length photo once, and what it returns is about the trousers: where a waistband should sit, where a hem should break. No measurements, no body-shape labels, no flattery, no diagnosis. Age and weight are never asked, because they change nothing Vale outputs.
Track where you are
Location is rounded to about a kilometer before it leaves the device, used only to look up the weather, and never stored.
Read your calendar
Event titles stay on the phone. Vale matches them against its own fixed word list and sends only the matched word and the hour. "Golf with Dave, 8am" leaves as "golf 8am," and an event that matches nothing sends nothing.
Keep your photo
The full-length photo goes to a private bucket readable only by your own account. Removing it deletes the file, not just the reference, and deleting your account clears everything.
Sell you things
At launch Vale recommends garment types generically: color, fabric, cut, price range. Brand deals wait until there is an engaged user base to negotiate from.

The business

Three free days, seven rationed, then a decision

Days 1 to 3
Everything, unlimited. No card.
Days 4 to 9
One outfit a day. Everything else stays open. The trial is a preview of the paid product, not a lesser version of it.
Day 10
$6 a month or $50 a year on the web through Stripe; $5.99 and $49.99 on iOS through Apple.

The free tier is reactive: you ask, Vale answers. Premium is proactive: Vale acts unprompted, with the morning outfit, calendar-aware planning and wardrobe gaps flagged before the occasion arrives. "Don't think about it" is fully true only at premium, which is the point of charging for it.

I formed Vale LLC in South Dakota, had the operating agreement and the photo features reviewed by a lawyer, set up Stripe and Apple developer accounts, and wrote the privacy policy from what the code actually collects. Growth so far is organic social and a small paid test on Instagram.

Where it stands

Status, November 2026

  • dressvale.com is liveWeb trial, Stripe billing, privacy policy and legal pages. The deployed file is verified byte-identical to the commit.
  • Vale Style 1.0 on the iOS App StoreSubmitted in October, approved November 4, released November 4 and live November 5. Calendar reading, laundry and rotation, the fit read and in-app subscriptions all shipped in 1.0.
  • LaunchOrganic launch first, then a small, measured paid test with the web trial as the baseline.
  • NextCloset scan from the camera roll, so setup takes minutes instead of one photo per piece.

What I learned

Three things I would tell myself in May

  1. Decide what the product refuses to do before deciding what it does. Every good call on Vale came from the "never" list: never describe a body, never a brand at launch, never an exclamation point. The feature list followed from the refusals.
  2. A good idea goes nowhere until other people want to build it with you. The lawyer who reviewed the LLC, the friend who pushed on strategy, the two people now helping on launch. Vale got real when it stopped being mine alone.
  3. Test the output before the launch. I put Vale's actual outfit recommendations in front of hand-picked testers before shipping anything generic. The rest-and-rotation logic exists because early Vale could put you in the same shirt three days running, and that only shows up if you read the outfits it builds, day after day.