GoodProfOrNot: About


The lead developer of this project is Karl Chen <>.

Hunter Blanks designed and implemented the original database back-end. Nadia Heninger contributed to the HTML front-end.

Tools/languages used

The project is implemented in Python (see below for rationale).

The back-end uses any SQLObject-compatible database, such as MySQL, PostgreSQL, SQLite.

The front-end outputs raw hand-designed/coded HTML and CSS. Output can either be dynamically generated using the CGI front-end (with caching and mod_python/FastCGI support) or pre-generated as static HTML.

Choice of language


Python allows rapid prototyping and implementation: to add the "newsgroup" field to the system only took 15 minutes to update the database schema and HTML front-end, and 10 minutes to write a program to link all the ucb.class.(cs|ee)* newsgroups.


This course survey system started as a final project for a Python class taught by student instructor Ka-Ping Yee. Its primary goal was to replace an old system used by Eta Kappa Nu at UC Berkeley's EECS course survey system. It has since become very successful and other schools use it.

Game of the name

The name was chosen as a joke referring to the "hot or not" website. It also makes for a fun acronym.