Maybe I can elaborate a bit on what Atropos7 is pointing out. While I would never say that you could not do such a thing, programming a “clone” of the software you used as an example is a huge undertaking for a professional software developer (or even a team of them).
Although it is true that you cannot truly judge the “value” (or quality) of a program by its “licensing price” (OpenOffice.org, for example, is high quality and is free!), there is often a relationship between the price of a license and development costs. The program you are inquiring about emulating currently lists a “standard” licensing fee as approximately $10,000 USD - which may well be some indication, at least to a degree and in some manner, of the substantial cost of producing it (as well as the potential market).
That said, it might be true that such an undertaking is more than you are likely to be able to accomplish reasonably even if you master the educational challenges of such a project.
This does not necessarily mean that you are resigned to purchasing such expensive software to achieve your goal; before you spend that kind of money, either in development costs or licensing fees, I suggest you evaluate already existing “free” alternatives that that might be suitable for, or be adapted to, your needs.
For example, with the DreamHost provided Galley “one-click” install, you can “tag” individual images with searchable keywords, and descriptions, and organize them into albums of related images.
On the face of it, this is “close” to what you described as wanting do do in your original post, and costs nothing to try (there is no fee, and DreamHost installs it for you via the “one-click” system).
Installing this, and investing some time exploring it’s full capabilities, might prove that it is sufficient for what you are trying to accomplish and, if not, give you a much better understanding of what is involved with such a program and what features you really do (and do not) need.