catlog

24th May 2017

Catlog is a webapp enabling users to count and search sets things- fun databases.

It generates unique links for each data table so tables can be shared and collaborated on. For example, when visiting .../ the user is redirected to a new table with a generated URL, e.g. .../c/4VuP. Here they can add and query data!


I really created catlog with a specific use-case in mind (taking inventory) but I think the concept can be generalised and the app used for other things too.

I designed the project to learn more about web applications and deployment. Since I had previous Django experience (with Bark!) I decided to use Django/jQuery.

The concept of Catlog combines a database with "set semantics". When working with spreadsheets (or pen and paper systems) I often found myself making lists, then regularly querying them, either to check something had been counted or to tally it up (in this particular case I was creating an inventory!).

catlog = "database" + set query

Some uses I thought of so far:
   - stock taking
   - letting people sign up to a mailing list (by adding their name)
   - gathering event attendance (people could add their email in "description" column)
   ...
Please let me know if you think of a cool use!

Catlog uses a Django/Python server combined with a Javascript front-end. The full database exists in the front end, and updates or changed made by the user are queued and periodically sent to the server which updates the database.

In theory when the user closes the tab or window a JS event fires which transmits any remaining modifications (ensuring none are lost).