Contribute

This effort is part of the larger Bitcoin Core project and community, which is about creating and maintaining reference implementations of bitcoin.

You can find the application code in the bitcoin-core/gui-qml Github repo.

For hosting this website and managing design requests and discussions, we use the BitcoinDesign/Bitcoin-Core-App Github repo.

The main design source is this Figma file.

Design collaboration

Necessarily, we use several distinct tools to collaborate.

  • For real-time chat, we use the #bitcoin-core-app channel in the Bitcoin Design Discord.
  • Design collaboration happens in Figma in this file.
  • Current design tasks are tracked via a Github project here.
  • Development happens in the bitcoin-core/gui-qml Github repo. You can test and review ongoing development there.
  • Every Wednesday, we have a general project call to discuss progress.
  • Every Thursday, we have a design collaboration call for hands-on design work.
  • Calls are recorded and uploaded to BitcoinTV and YouTube via the Bitcoin Design channels.
  • Keep up with the call schedule via the Bitcoin Design Calendar and/or Github call issues.
  • Some designers record their own updates and upload them to BitcoinTV or YouTube. These often provide more in-depth background on design rationale.

Collaborating in Figma

Figma does not offer tools to systematically propose, review and merge changes in a structured way (unless you’re part of their enterprise plan, that is). Here’s the current workflow we use:

  • We have one main Figma file. Everyone can view this, but only regular design contributors have edit access.
  • There are two main pages (one for each version of the application) that include the latest agreed-upon designs.
  • There is a design system page includes all the common colors, icons, text styles, components, etc.
  • The file is published on Figma Community here. Contributors should duplicate this file to put together proposals to improve the design. They can share those new files (or exports) with everyone for discussion.
  • Agreed-upon changes should be merged into the main file, which is then republished.
  • Changes should be exported to these design docs here. The “Design docs page” includes all the visuals that are exported to this site, so they can easily be updated later if needed.

There is a lot of manual work and communication involved in this. Agreeing on changes is pretty fluent right now and can happen in various places. This is partially due to the project being in a very early stage.

Testing & reviewing development work

You are welcome to test and review ongoing development work. See the information on the home page for more details.