Cultivating engineering identities through altruistic applications