A professional desktop application for calculating precise film development parameters with scientifically accurate timing, temperature compensation, and dilution ratios for over 428 film/developer combinations.
DarkroomPro's intuitive interface showing film selection, developer options, temperature compensation, and built-in development timer.
- 46 Film Stocks - Comprehensive database of B&W, color negative, and slide films
- 18+ Developers - Popular developers with precise dilution ratios
- 428 Combinations - Tested film/developer pairings with accurate data
- Temperature Compensation - Per-developer curves sourced from manufacturer charts (15-30ยฐC)
- Push/Pull Processing - Accurate calculations for ยฑ3 stops
- Multi-Step Timer - Auto, Buffer and Manual step transitions with a customizable step editor
- Agitation Reminders - Chimes and prompts for the published agitation schedule
- Darkroom Mode - Safelight theme, focus display, agitation chimes and screen wake-lock in one toggle
- Built-in Timer - Integrated countdown with audio alerts
- Export Functionality - Save calculations as JSON, CSV, or PDF
- Cross-Platform - Native apps for macOS, Windows, and Linux
- 46 Film Stocks: Complete database of B&W, color negative, and slide films
- 18+ Developers: Popular developers with precise dilution ratios
- 428 Combinations: Tested film/developer pairings with accurate data
- Manufacturer Grouping: Films organized by brand for easy selection
- Temperature Compensation: Per-developer curves for all B&W developers, derived from Kodak and Ilford temperature charts, with a sourced global fallback
- Push/Pull Processing: Accurate calculations for ยฑ3 stops exposure compensation
- Dilution Calculator: Optimal developer-to-water ratios with precise measurements
- Type-Safe Calculations: Rust-powered calculation engine for guaranteed accuracy
- Multi-Step Process Timer: The developer step is timed from the calculation; add your own bleach, blix, fixer, stabilizer or rinse steps and enter their times from your kit instructions
- Transition Modes: Auto-advance, Buffer (custom 1-60s prep window) or Manual start
- Agitation Reminders: Cue chimes and on-screen prompts from each combination's agitation schedule
- Step Editor: Add, reorder, remove or retime steps per film/developer; times are saved automatically
- Darkroom Mode: One toggle for the red safelight theme, fullscreen focus display, wake-lock and chimes
- Audio Alerts: Step changes, agitation cues and completion tones
- Multiple Formats: Export calculations as JSON, CSV, or PDF reports
- Timestamped Reports: Professional calculation summaries
- Database Export: Complete film/developer database summaries
- Desktop Apps: Native installers for Windows, macOS, and Linux
- Web Version: Browser-based version for any platform
- Responsive Design: Optimized for desktop and tablet use
- Rust Backend: Type-safe calculation engine with comprehensive error handling
- JavaScript Frontend: Responsive UI with smooth interactions
- Smart Bridge: Automatic detection of desktop vs web environment
- Graceful Fallback: Uses Rust when available, JavaScript otherwise
- Frontend: Vanilla JavaScript, HTML5, CSS3 with Inter font
- Backend: Rust with Tauri framework
- Database: Structured JSON with comprehensive validation
- Calculations: Decimal precision arithmetic for accurate results
- Build System: Cargo + Tauri for cross-platform compilation
Note: Release builds are unsigned. On macOS, right-click the app and choose Open the first time you launch it; on Windows, SmartScreen may ask you to confirm.
- Download
DarkroomPro_1.2.0_universal.dmgfrom Releases - Open the DMG file
- Drag DarkroomPro to Applications folder
- Launch from Applications or Launchpad
- Download
DarkroomPro_1.2.0_x64_en-US.msifrom Releases - Run the installer
- Follow installation wizard
- Launch from Start Menu or Desktop
- Download
DarkroomPro_1.2.0_amd64.deb(Debian/Ubuntu),DarkroomPro-1.2.0-1.x86_64.rpm(RedHat/Fedora), orDarkroomPro_1.2.0_amd64.AppImage(portable) - Install using your package manager:
# Debian/Ubuntu sudo dpkg -i DarkroomPro_1.2.0_amd64.deb # RedHat/Fedora sudo rpm -i DarkroomPro-1.2.0-1.x86_64.rpm
- Launch from applications menu
- Select your film stock from the categorized dropdown
- Choose your developer (filtered based on film compatibility)
- Set your temperature (B&W: 15-30ยฐC with automatic compensation; colour kits with a published time/temperature table โ Tetenal, CineStill, Unicolor โ can be run at lower temperatures, otherwise use the fixed kit temperature)
- Adjust push/pull if needed (ยฑ3 stops)
- Set solution volume (100-2000ml)
- Calculate and get precise development time and dilution
- Start the timer and develop with confidence!
- Export results for your records
- Node.js 18+ - JavaScript runtime
- Rust 1.70+ - For Tauri backend compilation
- Platform-specific tools:
- macOS: Xcode Command Line Tools
- Windows: Microsoft C++ Build Tools
- Linux:
build-essential,libwebkit2gtk-4.1-dev,libssl-dev
# Clone repository
git clone https://github.com/Panolix/DarkroomPro.git
cd DarkroomPro
# Install dependencies
npm install
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# Start web development server
npm run web:dev
# Opens at http://localhost:8000# Start desktop app in development mode
npm run tauri:dev
# Hot-reloads both frontend and backend# Build web version
npm run build
# Build desktop app for current platform
npm run tauri:build
# Build for specific platform (cross-compilation)
npm run tauri:build -- --target x86_64-pc-windows-msvcDarkroomPro/
โโโ src-tauri/ # Rust backend
โ โโโ src/
โ โ โโโ main.rs # Tauri app entry point
โ โ โโโ models.rs # Data structures
โ โ โโโ calculator.rs # Calculation engine
โ โ โโโ database.rs # Database management
โ โ โโโ export.rs # Export functionality
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โโโ dist/ # Built web assets
โโโ *.js # Frontend JavaScript
โโโ *.css # Styling
โโโ *.html # HTML templates
โโโ complete_database.json # Film/developer database
The application includes a comprehensive database of film stocks and developers:
- Black & White: Kodak Tri-X, Ilford HP5+, Fujifilm Acros, etc.
- Color Negative: Kodak Portra, Fujifilm Pro 400H, Cinestill 800T, etc.
- Slide Film: Kodak Ektachrome, Fujifilm Velvia, Provia, etc.
- B&W: D-76, HC-110, Rodinal, Xtol, etc.
- Color: C-41 kits, E-6 kits
- Specialized: Push/pull optimized formulations
Every film/developer combination carries a source, source_url, and verified_date field. Black & white base times and push/pull values are researched from the Massive Dev Chart (which aggregates manufacturer-published times and curated user data); where a combination was re-sourced, the source_url points at the exact chart query used. Push/pull values are taken from the chart's published exposure-index rows for that film/dilution; when no reliable row exists the field is left empty and the app falls back to the Massive Dev Chart push guideline (separate factors for standard developers, compensating developers and T-Max films), so no values are fabricated. Color (C-41/E-6) push and pull times follow the process tables in the database. The database is validated by automated tests (cargo test) that check key resolution, source coverage, and time monotonicity.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Edit
complete_database.jsonwith new entries - Follow existing data structure
- Include accurate development times and dilutions
- Test with the application before submitting
This project is licensed under CC BY-NC-SA 4.0 - free for personal and educational use. Commercial use requires permission.
Panagiotis Smponias
- Email: info@cityframe-photography.com
- GitHub: @Panolix
- Website: City Frame Photography
- Film development data compiled from the Massive Dev Chart, manufacturer specifications (Kodak, Ilford, Fujifilm technical publications), the Film Photography Project, and community darkroom testing
- Community testing and feedback from analog photography enthusiasts
- Built with Tauri - Rust-powered desktop apps
- UI styled with Inter font family, bundled with the app under the SIL Open Font License
Perfect companion for analog photographers seeking precision in their darkroom workflow.
