Thanks everybody for great references and advice. Here is the list of actions that I plan to take based on your feedback. Please let me know if this makes sense.
1. Areate lawn in early Spring
2. Top dress lawn with 1" layer of
compost immediately after areation (to attract more worms and help with compacted clay underneath topsoil).
3. Put gypsum to help with compacted clay (I am not sure about this one, advice appreciated)
4. Fertilize lawn with corn gluten (9-0-0) in April (to add some nitrogen and suppress germination of new weeds).
5. Mow high, 3" or more; water infrequently (per Paul's instruction)
6. Ferilize with Ringer in the fall.
I'll assess the progress in fall and see if there is an improvement. If there is no improvement in soil quality, I will seek different approach. If there is an improvement in soil quality (i.e. soil is well drained, no big puddles after rain), but there are still too many weeds, I will likely try overseeding. If there is visible improvement in lawn, I'll keep doing the same thing next year.
By the way, I am in Connecticut. My lawn has no special purpose (no sheep or horses to feed), but I live in a neighborhood where everyone has nice lawn in their front yards, so I need to do something about it because right now I am an odd guy there. I do plan to reduce the size of the lawn as much as possible by puting vegetable garden, planting trees, etc., but that is for another discussion.
I attach a couple of pictures of my lawn taken today, as a reference. I am really new at this and I appreciate any advice or criticism.
Thanks!