a badly assembled collection of parts hastily assembled to serve some particular purpose (often used to refer to computing systems or software that has been badly put together)
An improvised device, typically crudely constructed to test the validity of a principle before doing a finished design.