Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.83 KB

File metadata and controls

46 lines (32 loc) · 1.83 KB

Slack emoji mosaic generator

Screenshot of the streamlit app

Setup

Make sure you have uv installed. It'll take care of install all of the Python dependencies you need.

Get the Slack emojis from your workspace.

  1. Install the Save All Resources Chrome web extension.
  2. Visit https://slack.com/customize/emoji for your Slack workspace.
  3. Open the Developer Tools panel and switch to the Network tab.
  4. Search for emoji.adminList in the network filters list.
  5. Refresh the browser tab.
  6. Scroll the list of emojis to the bottom. Then keep scrolling to the bottom again and again until it stops loading more.
  7. Click the download button icon in the Developer Tools Network tab to save a .har file.
  8. Switch to the ResourcesSaver tab in Developer Tools.
  9. Click the Save All Resources button to get a .zip file of all of the downloaded emoji images.

Run

To generate a mosaic using the CLI:

uv run mosaic.py

usage: mosaic.py [-h] --zip ZIP --har HAR [--sort {date,color,brightness,name,creator,pattern,color-cluster,tsne,umap}]
                 [--features {visual,name,creator,year,quarter}] [--labels]
mosaic.py: error: the following arguments are required: --zip, --har

To run a streamlit frontend for the CLI:

uvx --with-requirements=mosaic.py streamlit run app.py -- --zip yourworkspace.slack.com.zip --har yourworkspace.slack.com.har

Development

I wrote the initial metadata, image loading, and chronological grid mosaic code by hand. Then I chatted with Anthropic Claude Sonnet 4.5 via GitHub Copilot to have it code the rest while I inspected the image results.

The code's got bugs. The structure isn't great. And it does exactly what I wanted.