This is a personal design system project built using modern tools including Nx, Style Dictionary v5, Express.js, Node.js, and AWS. The goal is to generate and serve design tokens for multiple platforms like Web, Android, and iOS in a structured, scalable way.
- Nx – Monorepo build system to manage packages and tooling
- Style Dictionary v5 – Token generator for multiple platforms
- Express.js – Lightweight Node.js framework for building APIs
- Node.js – JavaScript runtime used to run backend services
- AWS – Hosting and deployment for the Express server and tokens
- Centralizes your design decisions using design tokens
- Uses Style Dictionary to build design tokens in multiple formats:
- Web:
.css,.scss,.js,.json - Android:
.xml - iOS:
.plist,.json
- Web:
- Serves tokens through a custom Express API
- Prepares for deployment on AWS to distribute tokens across platforms
-
Clone the repository
git clone https://github.com/your-username/your-project.git cd your-project -
Install dependencies
npm install
-
Build design tokens
nx run tokens:build
This generates the tokens under the
dist/directory for each platform. -
Start the Express API server
nx serve api
You can now access token endpoints locally (e.g.,
http://localhost:3000/tokens/web/css).
To deploy the API server and generated tokens, you can use AWS services such as:
- Elastic Beanstalk – Quick setup for Node.js apps
- Lambda + API Gateway – For serverless deployment
- EC2 – Manual setup for full control
- S3 + CloudFront – For static hosting of tokens
-
Initialize your EB app
eb init
-
Create environment and deploy
eb create my-env eb deploy
Make sure the
dist/folder is included in your deployment and the API server uses it to serve tokens.
my-project/
├── packages/
│ ├── tokens/ # Design token project
│ │ ├── properties/ # Token source files
│ │ ├── build.js # Style Dictionary build script
│ │ └── dist/ # Generated tokens (css, scss, json, etc.)
│ └── api/ # Express.js server
│ ├── src/
│ └── main.ts # Express entry point
├── nx.json # Nx config
├── package.json # Root dependencies
└── README.md
- Use Style Dictionary configuration to define custom transforms and formats.
- You can extend the Express API to serve specific formats or token categories.
- Token updates will require a rebuild before re-deploying.
This is a personal project, but if you have suggestions or improvements, feel free to open an issue or contribute via pull requests.
MIT License – Use freely for personal or commercial projects.