Quizzer is a small desktop application that reads an SQLite database of countries and then asks what the capital of a randomly chosen country is.

It presents this in the form of a multiple choice question with one correct answer and three incorrect answers.

This is a webapp version of an earlier Tkinter project which does the same.


Pricing service keeps track of product prices on an external website and emails users via mail-gun API when a specified price point is reached.


Presentation Timer is intended to help academics and other people practice presentations with strict time limits.

It allows for up to two warnings to be displayed visually, audibly or both at any time during the presentation. The visual warning is modeled after how academic conferences warn presenters about how much time they have remaining.

Requirements about the presentation process at conferences were elicited from Dr Jaana Eigi who provided valuable insights.

The program is written in python and uses the Tkinter interface to present a GUI to the user.

It has also been converted to a standalone program using py2exe.


Data comes from JSONPlaceholder.

Changes to the data are all local but API calls are used to to get data and in changing that data as if the data were changed.

Axion is used to make API requests.

Bootstrap is used for styling.

The context API is used for data flow.


A Tictactoe game where you play either an AI or a human then guess if your opponent was human of AI.

This was made as part of a course called full stack react.

I used yarn for dependency management.

Showing page 2 of 4