DIY framework