If you have a Notes client, the best thing to do is to have a shared view set to Personal On First Use; whenever you redesign the view, you will have to remove the database icon or bookmark and then re-add it to get the new design. The technique which follows keeps the view on the server, but it is very resource intensive.
In the Advanced tab of the view properties, set Refresh Index to "Automatic" and Discard Index to "After each use".
In the selection formula for the view, select only documents which the current user can read. E.g.,
@IsMember(@UserName; ReaderList)
You cannot hide the categories that are not for the reader, so you should use an uncategorized view.
Warning: This is extremely server intensive since it will cause the server to rebuild the view each time a user looks at it!