Export writes every restaurant, rating, note and visit to a JSON file. Import accepts either that file or a plain array of restaurants, and matches on name + city — an existing place is updated in place, so re-importing a researched batch refreshes the Yelp and Google numbers instead of creating duplicates.
Ratings go in half stars — tap the left half of a star for the half, the right half for the whole one, and tap the same value again to clear it. Every rating is averaged across whoever rated it, then raised to the bias power: weight = (average − 1)bias. At the normal bias of 2.5 that means a 1★ place scores exactly zero and can never come up, a 3★ is about 5× a 2★, and a 5★ is about 6× a 3★. The average is across everyone who rated it — two people at 5★ and 4★ put the place in the wheel at 4.5★. A place can carry several categories — Cracker Barrel is Breakfast and American — and it is in the pot if any of its categories is selected. Retired and closed places never reach the wheel at all; tick Show retired on the Restaurants tab to see them. The shit list sits below all of that: a shit-listed place is struck through with a red X, carries its infraction on the card, and can never be picked no matter what the filters say. An unrated place is treated as 3.5★ so somewhere new still gets a fair shot; untick Include unrated to keep it out entirely.