Proof of concept

Catholic Calendar

A deterministic, package-ready calendar engine for a curated Roman Catholic observance set. It resolves movable dates, liturgical and devotional periods, transfers, impediments and countdowns without an external API.

Model scopeCurated Roman calendar, with selected Marian observances and St Michael’s Lent

Interactive test

Calendar state tester

Select any supported civil date to inspect the three output layers, transfer decisions and the underlying movable-date calculations.

Composed calendar display

1 day until Our Lady of the Rosary

01

Primary observance

No selected discrete observance

The period and countdown layers remain active independently.

02

Active periods

No selected period

03

Countdown

1 day until Our Lady of the Rosary

Observed on 7 October 2026.

MemorialUpcoming
Calculation details
Easter Sunday5 April 2026
First Sunday of Advent29 November 2026
Next observed celebrationOur Lady of the Rosary · 7 October 2026
Nominal selections today0

Visual QA

Year overview

Review the modelled periods, curated celebrations and liturgical-rank semantics for the selected year.

Year
2026

Periods

Periods in this model

These are the liturgical and devotional periods currently exposed by the calendar engine for the selected year.

IconPeriodKindStartEnd
LentLiturgical18 Feb 202602 Apr 2026
Holy WeekLiturgical29 Mar 202604 Apr 2026
Sacred Paschal TriduumLiturgical02 Apr 202605 Apr 2026
Easter TimeLiturgical05 Apr 202624 May 2026
St Michael's LentDevotional15 Aug 202629 Sept 2026
AdventLiturgical29 Nov 202624 Dec 2026
Christmas TimeLiturgical25 Dec 202610 Jan 2027

Ordinary Time is intentionally not modelled in this curated implementation.

Celebrations

Celebrations in this model

The curated observances for the selected year, including transferred, commemorated and impeded entries.

DateIconCelebrationRankStatusNominal / reason
01 JanMary, the Holy Mother of GodSanta María, Madre de DiosSolemnityObserved—
06 JanEpiphany of the LordEpifanía del SeñorPrincipal DayObserved—
11 JanBaptism of the LordBautismo del SeñorFeastObserved—
02 FebPresentation of the LordPresentación del SeñorFeastObserved—
11 FebOur Lady of LourdesNuestra Señora de LourdesOptional MemorialObserved—
18 FebAsh WednesdayMiércoles de CenizaPrincipal DayObserved—
19 MarSaint Joseph, Spouse of the Blessed Virgin MarySan José, esposo de la Bienaventurada Virgen MaríaSolemnityObserved—
25 MarAnnunciation of the LordAnunciación del SeñorSolemnityObserved—
29 MarPalm Sunday of the Passion of the LordDomingo de Ramos de la Pasión del SeñorPrincipal DayObserved—
02 AprHoly ThursdayJueves SantoPrincipal DayObserved—
03 AprGood Friday of the Passion of the LordViernes Santo de la Pasión del SeñorPrincipal DayObserved—
04 AprHoly SaturdaySábado SantoPrincipal DayObserved—
05 AprEaster Sunday of the Resurrection of the LordDomingo de Pascua de la Resurrección del SeñorPrincipal DayObserved—
12 AprDivine Mercy SundayDomingo de la Divina MisericordiaPrincipal DayObserved—
16 AprSaint Bernadette SoubirousSanta Bernardita SoubirousOptional MemorialObserved—
13 MayOur Lady of FatimaNuestra Señora de FátimaOptional MemorialObserved—
14 MayAscension of the LordAscensión del SeñorPrincipal DayObserved—
24 MayPentecost SundayDomingo de PentecostésPrincipal DayObserved—
25 MayBlessed Virgin Mary, Mother of the ChurchBienaventurada Virgen María, Madre de la IglesiaMemorialObserved—
31 MayMost Holy TrinitySantísima TrinidadSolemnityObserved—
31 MayVisitation of the Blessed Virgin MaryVisitación de la Bienaventurada Virgen MaríaFeastImpededImpeded by Sunday
04 JunCorpus ChristiSantísimo Cuerpo y Sangre de CristoSolemnityObserved—
12 JunMost Sacred Heart of JesusSagrado Corazón de JesúsSolemnityObserved—
13 JunImmaculate Heart of the Blessed Virgin MaryInmaculado Corazón de la Bienaventurada Virgen MaríaMemorialObserved—
24 JunNativity of Saint John the BaptistNatividad de San Juan BautistaSolemnityObserved—
29 JunSaints Peter and Paul, ApostlesSantos Pedro y Pablo, apóstolesSolemnityObserved—
11 JulSaint Benedict of NursiaSan Benito de NursiaMemorialObserved—
16 JulOur Lady of Mount CarmelNuestra Señora del CarmenOptional MemorialObserved—
06 AugTransfiguration of the LordTransfiguración del SeñorFeastObserved—
15 AugAssumption of the Blessed Virgin MaryAsunción de la Bienaventurada Virgen MaríaSolemnityObserved—
22 AugQueenship of the Blessed Virgin MaryBienaventurada Virgen María ReinaMemorialObserved—
08 SeptNativity of the Blessed Virgin MaryNatividad de la Santísima Virgen MaríaFeastObserved—
14 SeptExaltation of the Holy CrossExaltación de la Santa CruzFeastObserved—
15 SeptOur Lady of SorrowsNuestra Señora de los DoloresMemorialObserved—
29 SeptSaints Michael, Gabriel and Raphael, ArchangelsSantos Miguel, Gabriel y Rafael, arcángelesFeastObserved—
04 OctSaint Francis of AssisiSan Francisco de AsísMemorialImpededImpeded by Sunday
07 OctOur Lady of the RosaryNuestra Señora del RosarioMemorialObserved—
01 NovAll SaintsTodos los SantosSolemnityObserved—
02 NovAll SoulsConmemoración de todos los fieles difuntosCommemorationObserved—
21 NovPresentation of the Blessed Virgin MaryPresentación de la Santísima Virgen MaríaMemorialObserved—
22 NovOur Lord Jesus Christ, King of the UniverseNuestro Señor Jesucristo, Rey del UniversoSolemnityObserved—
29 NovFirst Sunday of AdventPrimer Domingo de AdvientoPrincipal DayObserved—
08 DecImmaculate ConceptionInmaculada ConcepciónSolemnityObserved—
10 DecOur Lady of LoretoNuestra Señora de LoretoOptional MemorialObserved—
12 DecOur Lady of GuadalupeNuestra Señora de GuadalupeOptional MemorialObserved—
25 DecChristmasNavidadPrincipal DayObserved—
27 DecHoly Family of Jesus, Mary and JosephSagrada Familia de Jesús, María y JoséFeastObserved—

Three layers

Independent outputs

Primary celebration, active periods and countdown state are computed separately so Advent, Lent or St Michael’s Lent never hides a feast.

Transfers

Nominal ≠ observed

Transfer and impediment metadata stay explicit. The tester can therefore show what normally belongs to a date without mislabelling it as the observed liturgy.

Integration

Prepared for packaging

Everything under lib/catholic-calendar is UI-agnostic TypeScript, ready to extract later for the Academic Website, Research Dashboard or other apps.

Release notes

v0.1.0-beta.1 “Crystal Falcon”

Released

Crystal Falcon refines the fixed two-item calendar display, preserves impeded same-day celebrations when space is available and streamlines the demonstration interface.

Calendar display

  • Uses available composed-display space for impeded nominal celebrations without changing their canonical status or liturgical precedence.
  • Keeps the display fixed at two items, ordered by primary observance, active periods, impeded nominal celebration and then countdown.

Interface

  • Keeps the calendar control at the upper right, removes redundant date labels and shows the selected value directly in weekday format.
  • Places periods above celebrations, right-aligns the Ordinary Time note with an icon, clarifies the calendar model scope and paginates Release Notes one release at a time.

Release preparation

  • Carries Saint Francis of Assisi on 4 October with its General Roman Calendar memorial rank and an explicit display mapping.
  • Bumps the application and package to v0.1.0-beta.1 and prepares the npm beta distribution channel.