Selected work

Check Mate

A reliable foundation for everyday tasks.

01Model02Validate03Persist04Test

The starting point.

Task edits, completion dates, filters, and persistence need to agree. A task manager needs consistent state at its database boundary.

What I built.

I contributed the task/category model, validation, SQLite repository and CRUD operations, filtering, Vitest tests, GitHub Actions CI, and data-layer documentation, alongside planning and PR reviews.

Check Mate was a team product. My contributions focused on the data layer; the frontend and wider Express API were team work.

Follow the flow.

01 / Model

Define task/category data and validation rules.

Made to work.

The team’s application connects a JavaScript interface and Express API to a tested SQLite repository, with task status and completion dates kept consistent.

Decisions that matter.

  1. 01

    Validate before persistence.

    Task validation rejects inconsistent input before it reaches the repository.

  2. 02

    Keep state changes together.

    Status and completion dates must change consistently. Repository tests check these behaviours alongside CRUD and filters.

The work is open.

Implementation, decisions, and review history.

JavaScript / Node.js / SQLite / Express / Vitest / GitHub Actions

School Management CLI

Let’s build
something real.

Working-student opportunities / 16 hrs a week / Amsterdam