Self-contained app