A cross-platform screen capture to GIF application. Select a region, record your screen, and get a shareable link.
- Node.js 18+
- Java 21
- Docker and Docker Compose
docker-compose up -dThis starts PostgreSQL on port 5433 with database gifclipper.
cd backend
# First time only: copy the example config
cp src/main/resources/application-local.yml.example src/main/resources/application-local.yml
# Start the backend
./gradlew bootRun --args='--spring.profiles.active=local'The API will be available at http://localhost:8080.
cd desktop-app
npm install
npm run startThe Electron app will launch with hot reload enabled.
- Press
Ctrl+Shift+G(orCmd+Shift+Gon macOS) to start a capture - Click and drag to select a screen region
- Wait for the countdown
- Recording starts automatically (max 30 seconds)
- Press
Escapeto cancel at any point
gif-clipper/
├── backend/ # Spring Boot API (Kotlin)
├── desktop-app/ # Electron app (TypeScript + React)
└── terraform/ # Infrastructure as code
# Stop PostgreSQL
docker-compose down
# Stop and remove data
docker-compose down -vMIT