This kind of project would definitely need custom code.