Modify your array definition with something like this to add a new element of the array that specify the type of the field
"project_overview" => array(
"name" => "project_overview",
"title" => "Overview",
"description" => "Write an overview of the project.",
"type"=>"textarea")
Then in your code substitute
<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>" />
with something like this
<? if ( $meta_box['type'] == 'textarea') { ?
<textarea name="<?php echo $meta_box[ 'name' ]; ?>">
<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>
</textarea>
}
else { ?>
<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>"
value="<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>" />
} ?>
Is better that you wrap the piece of code above in a function, like
function print_meta_box ( $meta_box ) {
switch (meta_box ['type'] ) {
case 'textarea':
.... your code ...
break;
default:
}
}