Skip to Content
⚠️Active Development Notice: TimeTiles is under active development. Information may be placeholder content or not up-to-date.
Quick Start Guide

Quick Start Guide

Get TimeTiles running locally in under 5 minutes. This guide is for developers and administrators setting up a local instance.

End users: If TimeTiles is already running and you want to import data, skip to the Getting Started Guide.

Prerequisites

You need the following installed:

  • Node.js 24+ and pnpm 10.12+
  • Docker & Docker Compose (for PostgreSQL) — or a local PostgreSQL 17+ with PostGIS
  • Git and Git LFS
  • Make
# macOS brew install git git-lfs node pnpm docker postgresql jq curl # Debian/Ubuntu sudo apt install git git-lfs make nodejs npm docker.io docker-compose postgresql-client jq curl sudo npm install -g pnpm

If you use mise, the repo includes a local .mise.toml with the pinned Node.js and pnpm versions:

mise install

Install and Run

Clone the repository

git clone https://github.com/jfilter/timetiles.git cd timetiles

Run the init command

make init

This single command handles everything: installs dependencies, starts the database, runs migrations, seeds sample data, and starts the development server.

Open the app

Run make status at any time to check the health of your environment — database, server, and dependencies.

Try It Out

Go to localhost:3000/ingest  and drop a CSV file with title, date, and location columns. TimeTiles will detect the schema, geocode addresses, and create an interactive map you can explore.

See the Getting Started Guide for a detailed walkthrough.

Development Commands

CommandWhat it does
make devStart the dev server (auto-starts database)
make checkLint and typecheck all packages
make testRun unit and integration tests
make test-e2eRun Playwright E2E tests
make formatFormat code
make migrateRun pending database migrations
make seedSeed the database with sample data
make freshFull reset: stop, clean, start database, migrate, seed
make db-resetReset the database
make db-shellOpen a PostgreSQL shell
make statusCheck environment health
make helpList all available commands

Database Mode

By default, make dev uses Docker for PostgreSQL. To use a local Homebrew PostgreSQL instead, create a .env file:

PG_MODE=local DATABASE_URL=postgresql://timetiles_user:timetiles_password@localhost:5433/timetiles

All make commands respect this setting automatically.

Troubleshooting

Port 3000 in use:

make kill-dev

Database connection issues:

make down && make up

Something broken — start fresh:

make fresh

Next Steps

Last updated on