You have a couple of options here:
Option 1) Set up a single vhost document root with all of your projects underneath. So you would set up /Users/jared/projects/ and then have a dir under that for each of your projects ( /Users/jared/projects/project-a, /Users/jared/projects/project-b, etc ). Then in apache you would create one vhost like this:
<VirtualHost 127.0.0.1:80>
ServerName localhost
DocumentRoot /Users/jared/projects
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Any specific project settings would have to be done via .htaccess files in each project dir. This is the least ongoing maintenance type of setup but can have drawbacks.
Option 2) Set up different vhosts per project and use your /etc/hosts file to set domain names. For this you would have a file structure that looks like the example above and then in your /etc/hosts file you would add these lines:
127.0.0.1 project-a
127.0.0.1 project-b
Then in your vhost config you would have this:
<VirtualHost 127.0.0.1:80>
ServerName project-a
DocumentRoot /Users/jared/projects/project-a
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/project-a/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName project-b
DocumentRoot /Users/jared/projects/project-b
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/project-b/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
This setup would allow you to have the various configs in each vhost block as well as adding unique logging per vhost as well. The downside of this is that for each new project you will need to do the setup in /etc/hosts and in the vhost config.