🛠️ Guide: Setting Up gSender Development on macOS (Apple Silicon)

Hi everyone!

If you’re interested in contributing to or customizing gSender, here’s a quick guide to help you set it up for development on macOS with Apple Silicon. These steps are verified and working as of July 2025.


:white_check_mark: Prerequisites

Make sure you have Homebrew installed. Then proceed with the following:

1. Install Node.js

brew install node

2. Install Yarn & node-gyp

npm install -g yarn
yarn global add node-gyp

:package: Install Dependencies

Navigate to the root of your gSender project, then install all required packages:

yarn install

:rocket: Run in Development Mode

To start gSender in development mode with hot reloading:

yarn run dev

:hammer_and_wrench: Build Components Individually

  • To build just the server side:
yarn build-dev
  • To build and launch the UI:
yarn build start-dev

:gear: Port Configuration

By default, the development server runs on port 8080.
If that port is already in use on your system, you can modify it in package.json:

"start-dev": "cross-env NODE_ENV=development ./bin/gsender -vv -p 8000"

Just change 8000 to any free port of your choice.


:speech_balloon: Final Notes

This setup has been tested on a Mac with Apple Silicon (M1/M2/M3), and works smoothly with the latest Node and Yarn versions as of this writing.

Happy coding! :man_technologist::rocket:

3 Likes

It looks like the macOS Universal build of gSender always defaults to running under x64 emulation instead of natively on ARM64 (Apple Silicon). This is likely why startup and overall performance feel slower on Apple Silicon Macs.

By compiling a dedicated ARM64 build, performance improves significantly, and gSender runs much faster.

If you’d like to build an ARM64 binary for Apple Silicon, you can run the following command:

yarn run build:macos-arm64

This will generate a .dmg installer, which you can find at:

{gsender_source_root_folder}/output/gSender-{version}-arm64.dmg

1 Like

Update:

We’ve put together a new official guide that covers how to build gSender locally, along with solutions to the most common build and dependency issues on different platforms (Windows, macOS, Linux, Raspberry Pi, etc.).

You can find it here:
Sienci Resources > gSender > Experiment > Compile gSender

This page includes setup instructions, troubleshooting tips, etc. If your question was about building or compiling gSender, you should find everything you need there.

If you still have any errors after following the instructions, do let us know and we can look into your specific issues a little more

Thanks for your patience and for helping us improve the documentation, we are really looking forward to your contributions to gSender as well!