SKAkash GherWeb Developer & HTML5 Game Specialist
HomeCase StudiesProjectsBlogWritingStudioStoreLabsAbout
All Case Studies

Creative case study

Electron Desktop App — Dev Tools Suite

14 February 2026
Sky
by sky
2 min readElectronDesktopTooling

A cross-platform desktop application built with Electron and React for managing game asset pipelines, sprite sheet generation, and local server orchestration.

ElectronReactNode.jsSharpTypeScript
Case
Blogs
Writings
Studio
Labs
Home
Projects
Store
About

Client

Internal Tooling

Role

Full Stack Developer

Year

2025

Discipline

Desktop Application

Electron Desktop App — Dev Tools Suite
Doodle concept visual

Replaced a fragmented set of CLI scripts and manual steps with a single desktop UI, cutting asset processing time by 70%.

The hero image is loaded from the MDX coverImage field. Replace the demo URL with your own gameplay capture, PixiJS canvas screenshot, or rendered artwork.

70%

Processing time saved

Win / Mac

Platforms

14

CLI scripts replaced

On this page

  • The Challenge
  • Solution
  • Architecture
  • Key Features
  • Sprite Sheet Generator
  • Local Server Manager
  • Asset Watcher
  • Packaging
  • Result

Akash Gher

High-performance web experiences

Case StudiesProjectsStudioStoreLogin

© 2026 Akash Gher. All rights reserved.

The Challenge

The game development team was using a fragmented set of shell scripts, Python tools, and manual Photoshop steps to prepare assets for production. The pipeline was brittle, poorly documented, and required terminal knowledge that designers did not have.

Solution

I built a cross-platform Electron desktop app that wraps the entire asset pipeline in a clean React UI. The app runs natively on Windows and macOS and requires zero command-line interaction.

Architecture

The app uses a strict main/renderer process separation:

  • The renderer (React) handles all UI, state, and user interaction.
  • The main process (Node.js) handles filesystem access, image processing, and child process spawning via IPC channels.

Communication between the two is managed through a typed ipcBridge API, ensuring that the renderer never has direct access to Node modules.

Key Features

Sprite Sheet Generator

The app uses Sharp for image processing. Users drag a folder of PNG sprites into the app, configure padding, max-size, and naming conventions, and the app outputs a packed sprite sheet and JSON atlas — identical output to TexturePacker, without a license fee.

Local Server Manager

The app can start, stop, and monitor local dev servers (Webpack, Vite, custom Node) via spawned child processes. Logs stream in real-time to a terminal panel inside the UI.

Asset Watcher

A file-system watcher built with chokidar monitors configured asset directories. When source files change, the relevant pipeline step re-runs automatically, keeping output assets in sync without manual triggers.

Packaging

The app is packaged with electron-builder for both Windows (NSIS installer) and macOS (DMG). Auto-update is handled via electron-updater with a private S3 bucket as the update server.

Result

Onboarding time for new artists dropped from 3 days (learning the CLI scripts) to under an hour. The entire team — including non-technical designers — now uses the tool daily.

More Case Studies

You might also like

View all
iGaming Math Config Architecture
9 June 2026

iGaming Math Config Architecture

A technical deep-dive into how production iGaming studios store, version, and serve complex game math configurations across operators, jurisdictions, and variants.

Remote Gaming Server (RGS) Architecture
8 June 2026

Remote Gaming Server (RGS) Architecture

A complete blueprint of an enterprise iGaming backend system: from the Seven-Layer Model and 48ms game transaction loops to GLI compliance and scaling pipelines.

Lish Programming Language
6 June 2026

Lish Programming Language

An educational compiler project translating academic Computer Science theory into a working plain-English general-purpose compiler that compiles directly to zero-overhead x64 assembly.