---
title: PGNI Hospital StorageManagement
description: >-
  A Tauri + Rust + React desktop app that replaced a legacy C# WinForms system for tracking lab reagents and equipment
  at Ioannina University Hospital (Π.Γ.Ν.Ι.). Volunteer civic-tech work for a Greek public hospital.
lang: en
source: https://jimrarras.com/en/projects/pgni-storage/
fetched: '2026-08-24T14:13:24.214Z'
---

## The system

At the Πανεπιστημιακό Γενικό Νοσοκομείο Ιωαννίνων (Ioannina University Hospital, Π.Γ.Ν.Ι.) one of the labs tracked reagent stocks and equipment in a legacy C# WinForms application that had not been touched in years. The lab needed a replacement that ran on Windows, did not require an internet connection, and stored data locally on the lab machine without IT-department friction. As volunteer civic-tech work, I built a Tauri 2 + Rust + React 19 desktop app with a local SQLite database, distributed as a signed NSIS installer the hospital’s IT team can deploy on its own. In production, replacing the legacy system.

## Architecture

- **Frontend:** React 19 + Vite + TanStack Router/Query for the UI
- **Backend:** Rust via Tauri 2 IPC, all data access and filesystem operations through a typed Rust API
- **Database:** SQLite with Drizzle for schema + migrations, local to the machine
- **Distribution:** signed NSIS installer for Windows, side-by-side install with the legacy app so the lab can switch over at its own pace
- **No external dependencies:** the app runs offline, no server, no cloud, no auth provider

## My contribution

I built the whole app on my own. The architectural decision that mattered most was choosing Tauri 2 over Electron: Tauri’s Rust core compiles to a ~12 MB binary (vs Electron’s 100 MB+), starts in under a second, and the hospital’s antivirus does not flag it as suspicious like Electron apps often are on locked-down Windows boxes. The Rust backend handles all data access through a strict typed API surface, so the React frontend never touches the filesystem directly — adds a layer of safety on a machine the lab cannot reinstall easily. The NSIS installer is signed and ships side-by-side with the legacy app, so the lab team can switch over at their own pace without losing access to historical records.

## Outcomes

- Replaced a legacy C# WinForms application with a modern stack
- 12 MB signed Windows binary, runs offline, no IT-department friction
- NSIS installer the hospital IT team deploys themselves
- Volunteer contribution to a Greek public hospital, in production

## Links

- Repo: [github.com/jimrarras/StorageManagement](https://github.com/jimrarras/StorageManagement)

- Zosimades Healthcare Ops Stack: other volunteer civic-tech work for a Greek institution, but a full ops platform rather than a departmental desktop app
