A beautiful slideshow application that displays photos and videos with smooth transitions and Ken Burns effects. Available as both a web app and an Electron desktop application.
- Photo & Video Support: Displays JPG, PNG, GIF, BMP, WebP, MP4, WebM, OGG, MOV, and AVI files
- Ken Burns Effect: Smooth zoom effects for photos
- Customizable Timing: Adjust display duration for photos and videos
- Smooth Transitions: Configurable transition effects between media
- Folder Selection: Choose any folder on your computer (Electron app)
- Responsive Design: Works on desktop and mobile devices
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd slidezone- Install dependencies:
npm installRun the development server:
npm run devOpen http://localhost:5111 in your browser.
Note: In web mode, media files should be placed in the public/media folder.
npm run electron-devThis will start both the Next.js development server and the Electron app.
# Build the app
npm run electron-build
# Or create a distributable package
npm run distThe built app will be available in the dist folder.
The Electron version allows you to:
- Select Any Folder: Click "Choose Folder" to select any folder on your computer
- Browse Media: The app will automatically scan for supported media files
- Change Folders: Use the "Change Folder" button to switch to a different folder
- Desktop App: Runs as a native desktop application
You can customize the slideshow behavior by modifying constants/config.ts:
export const DEFAULT_CONFIG: SlideshowConfig = {
photoDisplaySeconds: 10, // How long to show each photo
videoDisplaySeconds: 30, // How long to show each video
transitionDuration: 1000, // Transition duration in milliseconds
enableKenBurns: true, // Enable Ken Burns effect for photos
kenBurnsDuration: 5000, // Ken Burns effect duration
};- JPG/JPEG
- PNG
- GIF
- BMP
- WebP
- MP4
- WebM
- OGG
- MOV
- AVI
slidezone/
├── app/ # Next.js app directory
├── components/ # React components
├── constants/ # Configuration constants
├── electron/ # Electron main process
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── public/ # Static assets
npm run dev- Start Next.js development servernpm run build- Build Next.js appnpm run electron- Run Electron app (requires built app)npm run electron-dev- Run Electron app in development modenpm run electron-build- Build Electron appnpm run dist- Create distributable package
npm run distnpm run distnpm run distThe distributable packages will be created in the dist folder.
This project is licensed under the MIT License.