Can I use view to filter by fields in referenced node?
You want to look at adding Relationship(s) to your View.

You also likely want to look at Views Field View:


  This module allows you to embed a view as a field in a view. A new
  field handler is made available, so this can also be used in area
  (header/footer/empty) handlers as well as rows.
  
  This view handler can accept arguments from fields of the parent view
  using tokens and pass them into the child view for each row. Raw or
  rendered token values can be used, as well as static values.


Or Views Field:


  Viewfield provides a field that holds a reference to a View and
  renders it whenever the entity containing the field is displayed.
  
  Features
  
  
  Author chooses a view and display from a list.
  View arguments are supplied through tokens.
  Administrators may restrict which views may be assigned.
  Administrators may supply a common value that will be used for all entities in a content type.
  


Using either of these modules you can figure out your relationships for the views you want and for instance using ViewsField you can add a View to the Designer Content Type with 2 new Views: Contributed Project Nodes views, and a Similiar or Linked Designers View. You can pass the Designers uid as a token to filter these views.