Arduino as ISP without a computer
I think µProg – tiny, fast, portable AVR programmer with SD does what you want. You can store multiple files in the SD card (hex, eep etc) and select from the device menu which one to write to the target MCU without any need for a PC.
The best part is that it's available for free (PCB, schematic, firmware etc).

One of a kind, portable AVR programmer! Helps wherever you need to
update the device firmware, where target device is in a hard-to-reach
location and you can’t (or don’t want to) bring your laptop with a
bunch of wires with you. Trivially easy to use, super cheap to make,
super small, super fast, uses SD cards…
Features:

super small – dimensions 44 x 39 x 5,5 mm
super fast – write up to 12,5kB/s, read up to 14,5kB/s
uses cheap storage medium – small MICRO SD cards
supports FAT16 and FAT32 file systems
can read, write, verify flash and eeprom memory
can read, write, verify fusebits and lockbits
write and read to BIN, HEX, and TXT files
can set default values of fusebits, erase memories
cheap, easy to obtain, LPH7779 graphic display
shows funny animations after every operation
standard programming header – Atmel 6-PIN ISP
has a function of auto-update its own firmware (from SD)
very simple to use, 4 buttons navigation
user-setting menu
programming speed auto-selection (up to 4MHz)
Operates at 3V, programs chips supplied from 3V to 5V


Supported chip list