▸  Personal Project

Epoch

A FRED-inspired Electron desktop app for visualising, transforming, storing, and managing time-series data. Built with React, TypeScript, and SQLite for financial data analysis — with support for multiple databases, custom transforms, and full session persistence.

v1.1.7
Current Release
4
Views
SQLite
Storage
4
Transforms

Four views, one
coherent workspace

Epoch organises everything into 3 tabs. Each one solves a distinct part of the workflow — from importing raw data to browsing a multi-source database library — without getting in the way of the others.

Graphs

Interactive Chart

Multi-series charts with zoom, pan, crosshair, drag-select range, and a range of transformations applicable to time series data.

Upload

Flexible Import

Drop a CSV or Excel file, or paste tabular data directly. The app parses the data and auto-detects date formats, data types, etc. You can then review and commit the data to the database or simply add it to a graph.

DB MANAGEMENT

Local & External Database Storage

Browse, edit, and delete series across internal and external SQLite databases.

From raw file
to analysed chart

Step 01 — Import

Bring in your data

Drop a CSV or Excel file onto the Upload tab, or paste directly from a spreadsheet. Epoch parses multiple columns in one go, auto-detects date formats, deduplicates column codes, and strips trailing blank columns from Excel exports.

CSV / TSV Excel (.xlsx) Clipboard paste DD/MM auto-detect
Upload tab

Step 02 — Review

Confirm before committing

Before any series lands in the database or one of your graphs, a review panel lets you edit the name, unique code, description, detected frequency, and data type.

Name / Code edit Frequency detect Preview pending series
Series review panel

Step 03 — Visualise

Explore the chart

Add any saved series to the Graph tab. Scroll to zoom the Y-axis, scroll horizontally to pan the time range, or drag-select a window. Double-click resets to full range. Once your chart looks how you want it to, you can save it for later use, or even export it to share with other Epoch users as a .tsv-graph file.

Multi-series overlay Zoom & pan Drag-select range Crosshair tooltip
Graph tab

Step 04 — Transform

Reframe the data

Apply transformations to your time series data at the click of a button. Add Moving Averages, Time-shifts, Multipliers, and more.

Cumulative Return Normalise (base 100) % Change Geometric Index
Transforms panel

Step 05 — Persist

Save and reconnect

Series are stored in a local SQLite database. The entire graph state — zoom range, active series, transforms, moving averages, colors — is auto-saved every 1.5 seconds and fully restored on the next launch. External .db files on network shares can be added as read/write data sources. They are fully modifyable within the app and shareable.

SQLite persistence Session restore External DB support Network share paths
Database browser

Built with

Electron 33 React 18 TypeScript 5.5 better-sqlite3 Tailwind CSS v4 Framer Motion 12 electron-vite Vitest 4 PapaParse SheetJS (xlsx)

Get Epoch

Windows Installer (v1.1.7)

Installs Epoch with a desktop shortcut. I don't have a developper license yet so you'll have to manually approve the installer by left clicking the file > Properties > Unblock. After that, the app will download updates automatically.

Download (.exe)

Windows · ~80 MB · GitHub Releases