Merivia · trip repair · feature change

Proposal — not yet built

Three cities need a bed. Right now you can only ask about one, and you can't see it thinking.

Tapping Find a place hands the traveller three dots and a locked screen. This turns it into a window you can watch, close, and run three of at once — with a nudge when each one lands. Both versions are running further down this page; tap them.

The symptom · working mock of today

What happens on your trip today

The trip lists what needs you. You tap Find a place on Rome — and Florence and Venice go grey at the same moment, because the app only tracks one request at a time. The button becomes three dots. That is the entire feedback.

Behind the scenes the search really is running, and it survives you closing the app. None of that is visible.

Italy by train
12 – 22 May · 5 things need you
Trips
Today
Chat
Wallet

Try it

Tap Find a place on any city. Watch what the other two do.

  1. Three dots. No words, no progress, no way to tell searching from stuck.
  2. The other cities lock. One request at a time, so three beds means three waits, one after another.
  3. Nothing announces the end. The answer appears only if you are still on that screen when it lands.
  4. Leaving feels like cancelling. The work continues on our side, but nothing on screen says so.

The change · working mock of what gets built

The work window, running

This is the thing itself, not a picture of it — the same window, the same live text, the same tray. Start Rome, then start Florence while Rome is still going. Close the window mid-search and come back to it.

Italy by train
12 – 22 May · 5 things need you
Trips
Today
Chat
Wallet
Finding a place
Keeps running
Merivia
Found 4 places in Rome
Tap to see

Try it

Start Rome. While it runs, close the window and start Florence. Then Venice. Nothing waits on anything else.

  1. The window opens straight away, titled with the city and the nights it covers — so a second window is never ambiguous.
  2. Text arrives as it works: what it is checking, the prices coming back, the shortlist forming.
  3. Close it and the search continues. The bar above the tabs counts what is running; tapping a city reopens it, text intact.
  4. Finishing announces itself. A notification names the city; tapping it goes to that shortlist. The row in the queue turns green with the places found.
  5. Order stops mattering. Three finishing in any sequence is normal, not a collision.

Orientation

Where this sits in the app

Four places along the bottom, plus the screens a trip opens into. The change touches one panel and adds one new surface; everything else is untouched.

Trips tab

  • Your trips
  • Planning a new one
  • The trip itself

Inside a trip changing here

  • The route, stay by stay
  • A single day
  • The calendar
  • What needs you ← the buttons
  • Asking about the trip

Work window new

  • Live text as it searches
  • Close and carry on
  • A tray of what is running

Today tab

  • What is happening now

Chat tab

  • Help mid-trip — already shows text arriving live

Wallet tab

  • Tickets and documents

The chat tab already streams text as the model writes it. The trip side throws that away and waits for the finished answer. This change borrows behaviour that already works and puts it where the waiting actually happens.

Side by side

Before and after, point by point

Before

You see three dots

No words, no progress, no idea whether it is searching or stuck.

One at a time

Starting Rome greys out Florence and Venice.

Starting another loses the first

The app remembers exactly one request. A second one leaves the first answer with nowhere to come back to.

Nothing tells you it finished

Lock the phone and you find out whenever you next open the app.

Leaving feels like cancelling

The work does keep running — but people wait on the screen rather than trusting it.

After

A window that shows the work

Headed Finding a place in Rome, 12–15 May, with the scout's own words arriving as it searches.

Three at once, no interference

Each row's button reflects only its own city.

Close it and carry on

A small bar shows how many are going; tapping it reopens any of them.

It comes and finds you

A notification names the city. Come back later and the tray still holds anything unread.

Answers land where they belong

Each result attaches to the city that asked for it.

Before — one lane, two held at the signal

Rome
Florence
Venice

After — three lanes, each finishing on its own

Rome
Florence
Venice

Honest limits

What this will not do, and the case against building it

Acceptance

Done when — every one of these, on a real trip

CheckPasses whenPart
Three within ten secondsRome, Florence and Venice all start, all finish, each shortlist lands against the right citycore
No cross-lockingStarting one city never disables another city's buttoncore
Close and returnClosing mid-search then reopening shows the same text, still movingcore
Leave the trip entirelyBrowsing other parts of the app and coming back finds the searches intactcore
Locked phoneLocking during a search still has the answer waiting on returncore
Notification landsWhere the platform allows it, finishing sends a notification naming the city; tapping opens that shortlistsecond half
Nothing unread is lostTwo finish while away; both are still listed on returncore

Your call

Pick a shape, then take it back to the terminal

Choose one and copy the line — pasting it into the terminal is the whole handoff. Or ignore this and just say what you want; the page is here to make the choice concrete, not to be the only way to answer.

Nothing chosen yet — pick one above.

Standing practice

Every feature from here gets one of these

A before-and-after page, written the way a traveller would describe the change rather than the way it is built — and the page shows exactly what gets built. Not a description of the screen, not a picture of it: the screen itself, running, with the same words and the same behaviour that will ship. If it cannot be operated on the page, it is not specified well enough to build.

The page also ends where the work starts: pick an option, copy the line, paste it in the terminal. The argument happens on a page rather than in a branch, and the decision comes back as one sentence.