App cache for offline storage