Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

These are the JSON files and images (minus icons and logos) for Talk Dim Sum, both the Swift version on the App Store and the Flutter version (copy.scm is a Gauche script that copies these files to my local copies of those repos). The Flutter code is not currently maintained, so it would need to be updated to load the latest data.

This repo also servers as the Issues database for the app and download site for the mot recent Flutter builds.


Items are dishes in Talk Dim Sum but potentially usable for other types of...items.

Items have a photo, a word that identifies it (keyed by the Cantonese), a markdown description, a list of tags, and a list of web links to other info resources.

The markdown has special notation for wiktionary links so that a reader will replace characters surrounced by {} with a link to the wiktionary page.


Every Word has English and Cantonese names, and Mandarin (traditional characters) and Simplified (simplified characters of the Mandarin name) if they are different.

Yale romanization specifies the Cantonese pronunciation, and Pinyin specifies the Mandarin. Started add Jyutping, eventually should be able to derive the Yale from that.

As this database is focused on Cantonese dim sum (at least originally), the words are keyed by the Cantonese text. Mandarin is only specified if it differs from the Cantonese, and Simplified is the simplified characters version of the Mandarin (implicit or explicit), but again only specified if they are different.

The Chinese/Mandarin/Simplified fields are either strings or text/wkty pairs. If the Cantonese/Mandarin/Simplified is just a string and not a text/wkty pair, then it is assumed there should only be wiktionary links generated for the individual characters.


The images are landscape but not consistent in aspect. They are scaled down to a maximum 512 pixels width for historical reasons (old devices running with memory leaky Xamarin). They are all JPEG files suffixed .jpg (the Flutter code assumes this, the Swift code doesn't care).


All the restaurant links and data are found manually on the Internet, and I add them if it looks like they're still operating and serve Cantonese-style dim sum, at the very least ha gow and siu mai (if you just scrape or pull everything tagged "dim sum" you'll get random Asian restaurants and PF Chang's, which does list dim sum on their menu but it's just spring rolls and potstickers).

The list was originally just in the US (actually, just Las Vegas), but someone from Canada complained (the reputation of Canadians for politeness is really exaggerated), so I started trying to get all countries in, but now I'm thinking I'll reduce the workload by ignoring countries that I'm excluding on the App Store based on reasons such as genocidal practices (I didn't really want to try entering every dim sum eatery in China, anyway) and outlawing homosexuality.

For the restaurant links, the restaurant's own website is listed first if available, but no Facebook (because, Facebook), and other links are listed aphabetically by site name. I try to avoid any food ordering sites pretending to be the main restaurant site. Yelp is here because it's ubiquitous (at least in the US, not so much in Europe, and OpenRice is better in Asia) and typically has enough photos so I can tell if it's real dim sum, Travelocity is omitted because it hangs my link checker.


Links are urlencoded, both in the resource lists and the markdown text.


I edit and format these files in Visual Studio Code, and run JSON and link checks with some scripts written in Gauche.

This is not a hard and fast rule, but I try to make the categories (categories.json) and new dishes (everything tagged with the first entry in categories.json) multiples of three, as the apps have three-column thumbnail views and it looks better to have an even bottom.


Everything is MIT-licensed except for the regional map images from Wikipedia, licensed from Wikimedia under TUBS, CC BY-SA 3.0.