How to Write an Analysis

Each product on WalletScrutiny is a Markdown file plus an icon under images/wIcons/. Mobile apps live in _mobile/; hardware, desktop, bearer tokens, and other products each have their own directory. This guide covers how to add a new entry and write its analysis.

Before you start

From the repository root, install dependencies and make sure your branch is up to date with master:

npm install
git checkout -b add-wallet-example-app

To resize icons you also need ImageMagick (convert, compare) and GNU parallel installed on your system.

Adding a new Android app

  1. 1. Find the Google Play app ID

    Open the app on Google Play and copy the id parameter from the URL.

    https://play.google.com/store/apps/details?id=com.greenaddress.greenbits_android_wallet
                                                  └────────────────────────────────────────┘
                                                             app ID
  2. 2. Add the app with addNewAndroidApps.mjs

    Run the script from the repository root. It fetches Play Store metadata, creates _mobile/<appId>.md, and downloads the icon.

    node addNewAndroidApps.mjs com.greenaddress.greenbits_android_wallet

    Add several apps in one command by passing multiple IDs:

    node addNewAndroidApps.mjs com.foo.wallet com.bar.btc

    If the wallet file already exists, the script refreshes its metadata instead of creating a duplicate.

  3. 3. Generate icon sizes with updateImages.sh

    The add script saves a full-size icon under images/wIcons/android/. Run the image script to create the small/ and tiny/ variants used on the site:

    ./updateImages.sh

Adding a new iPhone app

  1. 1. Find the App Store ID and country code

    From an App Store URL, take the numeric ID after /id and the two-letter country code in the path.

    https://apps.apple.com/us/app/blockstream-green/id1402243590
                             └┘                              └─────────┘
                          country                           App Store ID
  2. 2. Add the app with addNewIphoneApps.mjs

    Run the script from the repository root. It fetches App Store metadata, creates or updates _mobile/<bundleId>.md, and downloads the icon.

    Using the numeric App Store ID (recommended with country code):

    node addNewIphoneApps.mjs us/1402243590

    Or pass only the numeric ID:

    node addNewIphoneApps.mjs 1402243590

    If you already know the bundle ID:

    node addNewIphoneApps.mjs io.blockstream.green

    To add an iPhone block to an existing Android wallet file instead of creating a new one:

    node addNewIphoneApps.mjs 1402243590 --merge-into com.greenaddress.greenbits_android_wallet
  3. 3. Generate icon sizes with updateImages.sh

    Same as Android: icons land in images/wIcons/iphone/, then run:

    ./updateImages.sh

Adding hardware, desktop, bearer, and other products

There are no helper scripts for these categories. The usual workflow is to copy an existing review from the matching directory, rename it, and edit the contents:

  1. 1. Pick a similar product to copy

    Choose a wallet in the same category with a comparable front matter. For example:

    • Hardware: _hardware/trezorOne.md
    • Desktop: _desktop/bisq2.md
    • Bearer tokens: _bearer/bitbills.md
    • Other: _others/ext.blockchair.md
  2. 2. Create your new file

    Copy the template file, give it a short descriptive filename, and update the front matter (title, appId, website, repository, verdict, and so on).

    cp _hardware/trezorOne.md _hardware/my-new-wallet.md
  3. 3. Add an icon

    Place a square PNG in the matching folder under images/wIcons/ — for example images/wIcons/hardware/my-new-wallet.png — and set the icon: field in the front matter to match.

    ./updateImages.sh

Adding an entirely new platform category (not just a new product) requires extra Jekyll configuration. See How to Add a New Platform for that.

Writing the analysis

Once the file exists — whether created by a script or copied manually — open it and complete the review:

  • Set verdict (for example wip while you work, then the final verdict).
  • Fill in shared fields such as authors, website, and repository.
  • Write the analysis in Markdown below the second --- delimiter.
  • For mobile wallets, use separate ## Android and ## iPhone sections when the file covers both platforms.

See Blockstream Green for a mobile example, or Trezor One for hardware, then open a merge request on GitLab.

Need field-by-field definitions or advanced procedures? See the WalletScrutiny GitLab wiki or ask in the project issue tracker.