1. In a distributed computer system, a method for providing real-time context-based content items to a user client system, the method comprising: dynamically monitoring a user client system to determine a real-time context of the user client system based on factors including: identifying one or more content keywords of a first application operating on the user client system; identifying one or more user demographic profile keywords of the user client system including one or more of: a geographic location of the user client system; a time at which the dynamic monitoring of the user client system is occurring; a date on which the dynamic monitoring of the user client system is occurring; an age of a user; or a gender of a user; determining a first and second system capability of the user client system, each of the first and second system capability capable of presenting content items to the user client system, the first and second system capability being monitored by sending operating calls to the user client system to receive information about the first and second system capability of the user client system, the first and second system capability being an application, video capability or audio capability; and determining that a user of the user client system is currently operating the first system capability such that the first system capability is undesirable for presenting content items to the user client system, selecting a first content item based on the real-time context of the user client system, the first content item being capable of being presented by the second system capability of the user client system; sending the first content item to the user client system; further performing dynamic monitoring of the real-time context of the user client system being performed by sending operating calls to the user client system to receive information about the first and second system capability of the user client system including identifying that the user of the user client system is no longer using the first system capability; selecting a second content item based on a change in the real-time context of the user client system, the second content item being different than the first content item and capable of being presented by the first system capability of the user client system; and sending the second content item to the user client system.