Grinvin is a desktop application for studying graphs, their properties (invariants) and the relations between these properties. During the development of Grinvin a lot of attention was paid to the user interface. It has been designed to optimally support the user in learning graph theory by means of examples and by experimenting with graphs and their properties. Experiments are made possible by inclusion of a graph editor for drawing graphs, so-called ”factories” which create graphs of a certain type and invariants that can be computed for all graphs manipulated by the system.By means of the graphs and invariants introduced or selected by the user, Grinvin computes a conjecture which expresses a certain relation between invariants (e.g, ”number of edges ≤ number of vertices”). The user (the student) shall then try to find a counterexample to this conjecture (preferably one of smallest possible size) or try to prove that it is correct. If a counterexample can be produced it should be entered into the system allowing GrInvIn to compute a new conjecture. In this example, the smallest counterexample would be a graph of order 4 having 5 edges (picture a square with one diagonal).All terminology used by the software is documented in an online, context sensitive help system. This documentation contains information on both invariants and basic graph theory. The documentation (and likewise, the user interface) is available in different languages (currently English and Dutch).We have tried to develop Grinvin according to software engineering principles which make it usable on any computer platform and to enable easy extension with user provided invariants.