How to implement nested repeating fields?
Case seems like the good fit for the model, I'd suggest to keep it and create a civicrm extension that provides the UI you need. The integration with angular is fairly complete so loading/saving the activities from your UI should work fine.

If you want to dig into angular for civi, Tim session might help you getting started.