Skip to main content
Habits

ArcaQ feature

ยง1 โ€” What ArcaQ tracks for you

Six dimensions of habit intelligence โ€” all computed on-premise.

๐Ÿ“…

Daily / Weekly / Monthly frequencies

Define habits at any cadence. ArcaQ aggregates streaks and completion rates.

๐Ÿ”ฅ

Activity heatmap

A GitHub-style heatmap renders your last 90 days โ€” every cell is a real triple in the graph.

๐Ÿ“Š

Progress bars & streaks

Visual bars show weekly and monthly completion. Streaks are versioned graph assertions.

๐Ÿท๏ธ

Categories & facets

Categorise habits and filter the graph view to see domain investment over time.

๐Ÿ”’

Sovereign storage

All data stored in Apache Jena Fuseki on-premise. No habit data ever leaves your infrastructure.

๐Ÿ”—

Linked knowledge

Tag each habit to related notes, projects or entities and see mastery connections.

ยง2 โ€” Frequency baseline table

Default cadences shipped out-of-the-box. Customisable via OLM.

DailyWeeklyMonthly
Journal entry, meditation, exerciseDeep review, skill practice, team syncKnowledge audit, goal review, retrospective

ยง3 โ€” RDF data model

Every habit event becomes a named triple in <arcaq:habits/>.

@prefix arcaq: <http://arcaq.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . arcaq:habits/evt-001 a arcaq:HabitEvent ; arcaq:forHabit arcaq:habits/meditation ; arcaq:byUser arcaq:users/alice ; arcaq:completedAt "2026-05-14T08:15:00Z"^^xsd:dateTime ; arcaq:frequency arcaq:Daily .

ยง4 โ€” 90-day activity heatmap (demo)

Each cell = at least one completed habit that day โ€” stored as an RDF assertion.

ยง5 โ€” Nightly batch processing for all collaborators

An Airflow DAG (habits_daily_processor) runs every night at 01:00 UTC and automatically processes every collaborator's habits โ€” no manual intervention required.

๐Ÿ‘ฅ

All-user discovery

SPARQL query on HABITS_GRAPH discovers every user who owns at least one habit โ€” new collaborators are picked up automatically on their first day.

๐Ÿ”ฅ

Streak computation

Current streak and longest streak are recalculated for daily, weekly and monthly habits and written back as arcaq:currentStreak / arcaq:longestStreak RDF properties.

โŒ

Missed-day marking

Any habit without a log for the elapsed period (yesterday / last week / last month) receives an automatic doneBool=false entry so the heatmap shows real gaps, never blank cells.

๐Ÿ“ก

Team Pulse digest

Aggregate counts (total habits, top streak, active habits) are pushed as arcaq:HabitDigest events to BRAIN_EVENTS_GRAPH โ€” visible in Team Pulse without exposing individual habit details.

Get started