KitBuild #
A modern reimplementation of the KitBuild Concept Map platform using contemporary web technologies. Originally built as part of a bachelor thesis.
What is KitBuild? #
KitBuild is a modern, researcher-friendly reimplementation of the KitBuild Concept Map platform originally developed by the Learning Engineering Laboratory at Hiroshima University.
The original system (operational since 2009) pioneered automatic diagnosis of concept maps for formative assessment. This reimplementation aims to:
- Provide a cleaner, more accessible interface for researchers and educators. Everything is managed in a single place: pre-test, post-test, delayed-test, questionnaires — no external platforms like Google Forms needed.
- Run on modern web infrastructure (Cloudflare Workers + Turso/LibSQL). No VPS required to deploy.
All core assessment methods — automatic map diagnosis, kit generation algorithms, feedback frameworks — come directly from the original KitBuild research. This reimplementation does not introduce new pedagogical approaches; it reimplements the proven ones in a more maintainable, extensible form. All credits belong to the original researchers.
About KitBuild #
KitBuild is a pedagogical approach developed by Tsukasa Hirashima and colleagues at Hiroshima University. The original system has been used across 1700+ institutions worldwide for:
- Automatic diagnosis of student understanding through concept map reconstruction
- Formative assessment in large classroom settings
- Visualizing gaps between instructor expectations and student comprehension
Original System #
- Live System: collab.kit-build.net
- Homepage: lel.main.jp/kb
Foundational Research #
The KitBuild methodology is backed by extensive peer-reviewed research:
| Paper | Authors | Year |
|---|---|---|
| Framework of Kit-Build Concept Map for Automatic Diagnosis | Hirashima et al. | 2015 |
| The Practical Use of Kit-Build Concept Map on Formative Assessment | Pailai et al. | 2017 |
| Collaborative Concept Mapping with Reciprocal Kit-Build | Hayashi & Hirashima | 2020 |
| Evaluating the Kit-Build Process Using Sub-Map Scoring | Rismanto et al. | 2024 |
How It Works #
The KitBuild method follows a 4-step cycle:
- Goal Map: Instructor creates an expert concept map showing correct relationships
- Kit Generation: System disassembles the goal map into components (concepts + links)
- Reconstruction: Students rebuild the map from the kit, demonstrating their understanding
- Automatic Diagnosis: System compares student maps against the goal map and identifies misconceptions
This approach reduces cognitive load on students (no need to invent terminology) while giving instructors precise, actionable data about understanding gaps.
Features #
KitBuild reimplements the core KitBuild workflow with modern tooling:
| Feature | Description |
|---|---|
| Concept Map Editor | Visual editor for creating goal maps with bi-directional/multi-link support |
| Automatic Kit Generation | Disassembles goal maps into student-ready activity kits |
| Map Diagnosis | Automatic comparison of learner maps against goal maps |
| Extended Assessments | Quiz builder for MCQ, text, and Likert-scale questions (research extension) |
| Assignment Management | Deadlines, time limits, access controls |
| Research Dashboard | Analytics and exportable data for research analysis |
| Feedback System | Targeted feedback based on diagnosis results |
Quick Start (Development) #
# Install dependencies
vp install
# Configure environment
cp .env.example .env
# Edit .env with your credentials
# Push database schema
vpx drizzle-kit push
# Start development server
vp dev
Visit http://localhost:5173
This project is using these tech stack, so check their respective documentations for further information:
Deploying to Cloudflare Workers #
Prerequisites #
- Cloudflare account
- Turso database (SQLite at the edge)
- Wrangler CLI authenticated
1. Create Turso Database #
# Install Turso CLI
curl -sSfL https://get.tur.so/install.sh | bash
turso auth login
# Create database
turso db create kitbuild
# Get connection details
turso db show kitbuild --url
turso db tokens create kitbuild
2. Configure Environment #
Create .env:
DATABASE_MODE=remote
TURSO_DATABASE_URL=libsql://your-db.turso.io
TURSO_AUTH_TOKEN=your-turso-token
BETTER_AUTH_SECRET=your-random-secret-min-32-chars
BETTER_AUTH_URL=https://your-domain.com
SITE_URL=https://your-domain.com
VITE_SENTRY_DSN=https://your-sentry-dsn # optional
3. Configure Wrangler #
Edit wrangler.json:
{
"name": "kitbuild",
"compatibility_date": "2025-09-02",
"compatibility_flags": ["nodejs_compat"],
"main": "@tanstack/react-start/server-entry",
"r2_buckets": [
{
"binding": "MATERIAL_IMAGES",
"bucket_name": "kitbuild-materials"
}
]
}
4. Create R2 Bucket & Deploy #
# Create storage bucket
wrangler r2 bucket create kitbuild-materials
# Wipe local SQLite db file, then rerun migrations
vp run db:wipe
vp run db:migrate
# Wipe remote Turso DB, then rerun migrations
vp run db:wipe --force
vp run db:migrate
# Push database schema (remote Turso)
export DATABASE_MODE=remote
export TURSO_DATABASE_URL=libsql://your-db.turso.io
export TURSO_AUTH_TOKEN=your-turso-token
vpx drizzle-kit push
# Deploy
vp run deploy
Environment Reference #
| Variable | Type | Purpose |
|---|---|---|
DATABASE_MODE |
env | remote (Turso) or local (SQLite file) |
TURSO_DATABASE_URL |
env | Database connection string |
TURSO_AUTH_TOKEN |
secret | Turso authentication |
BETTER_AUTH_SECRET |
secret | Session signing key (32+ chars) |
BETTER_AUTH_URL |
env | Auth callback URL |
SITE_URL |
env | Canonical site URL |
MATERIAL_IMAGES |
R2 binding | Image storage bucket |
Deploying with Docker (self-hosted) #
Prefer to run KitBuild on your own server instead of Cloudflare Workers? The Docker image builds the app for a Bun runtime and serves it as a regular HTTP server with a local SQLite database and on-disk image storage.
cp .env.example .env # then set DATABASE_MODE=local, TURSO_DATABASE_URL=file:/app/data/kitbuild.sqlite
vp run docker:up # build + start (migrations run automatically)
# → open http://localhost:3000
Full instructions — including the production setup, environment reference, persistence, and backups — are in docs/docker.md.
Attribution #
- Original research and algorithms: Tsukasa Hirashima and colleagues
- Original system: collab.kit-build.net
If you use KitBuild for research, please cite the original KitBuild papers to acknowledge the foundational work.
License #
See LICENSE