This is a simple browser-only web app that allows users to upload their profile picture and adds the Palestine border to show support for the Palestinian cause. The app provides an easy way for individuals to express solidarity and raise awareness.
- Visit the Palestine Profile Pic Maker.
- Click on the "Upload" button to select your profile picture.
- Wait for the app to process the image and apply the Palestine border.
- Once processed, click on the "Download" button to save your modified profile picture.
Feel free to contribute to the project by submitting issues or pull requests. Your contributions are highly appreciated.
This project uses devbox to provide a reproducible development environment (Node.js 22, git, and npm) without relying on a globally installed toolchain.
- Clone the repository:
git clone https://github.com/TechForPalestine/profile-pic-maker.git - Open the project directory:
cd profile-pic-maker - Install dependencies:
devbox run npm install - Run the project:
devbox run npm run dev
Run the full required test suite with:
devbox run testRun the live upstream tests with:
devbox run test:liveIf you already have Node.js 22 and git installed:
Requires Node.js 22+ (see
.nvmrc).
- Clone the repository:
git clone https://github.com/TechForPalestine/profile-pic-maker.git - Open the project directory:
cd profile-pic-maker - Install dependencies:
npm ci - Run the project:
npm run dev
| Command | What it runs |
|---|---|
npm test |
Integration tests (API route, upstream mocked) — fast & deterministic |
npm run test:e2e |
Browser e2e (upload → fetch → generate → download), upstream mocked |
npm run test:e2e:live |
Full-stack e2e against the real tech4palestine pic (needs network) |
npm run test:live |
Live integration smoke against the real api.fxtwitter.com |
Or use the devbox shortcuts: devbox run test and devbox run test:live.
Playwright needs a browser. Normally npx playwright install chromium handles
it; in sandboxes where that download is blocked, run ./scripts/run-e2e-local.sh,
which installs an npm-hosted Chromium and points Playwright at it via
PLAYWRIGHT_CHROMIUM_PATH.
This project is open source and available under the MIT License.
This app is created for the purpose of expressing support for the Palestinian cause. Please use it responsibly and respect the rights and privacy of others.