Action

Type

Resolved On

Yearly Ideaboxes UX 2026-02-02

Yearly Ideaboxes

Overview

Previously, the Ideabox pages displayed ideas from all years, making it difficult to focus on current year’s innovations. The “thoughts” section (historical ideas) contained all-time data which grew increasingly large and unfocused over time.

Problem

  • Ideas section: Showed current month’s ideas only (correct behavior)
  • Thoughts section: Showed ALL historical ideas from all years (problematic)
  • Growing data made the historical section unwieldy
  • Difficult to track year-over-year progress

Solution

Implementation Summary

Updated the Ideabox pages to scope data to the current year only, while maintaining the separation between current month ideas and previous months’ ideas.

New Functions Added

Added to src/lib/yearly.ts:

// Fetch all ideas for a specific project within a given year
export async function ideas(project: string, year: number, styles?: any[])

// Fetch ideas for the current month
export async function currentMonthIdeas(project: string, year: number, month: number, styles?: any[])

// Fetch ideas from previous months of the current year (before the specified month)
export async function previousMonthsIdeas(project: string, year: number, month: number, styles?: any[])

Query Logic

currentMonthIdeas:

.gte("generated_on", year + "-" + month + "-1")
.lt("generated_on", nextYear + "-" + nextMonth + "-1")

previousMonthsIdeas:

.gte("generated_on", year + "-1-1")
.lt("generated_on", year + "-" + month + "-1")

Files Updated

Base Ideabox Pages (/src/pages/benben/ideas/):

FileChanges
index.astroChanged from @/lib/monthly to @/lib/yearly
benben/index.astroChanged to yearly ideas fetch
hygge/index.astroChanged to yearly ideas fetch
bearlabs/index.astroUses currentMonthIdeas and previousMonthsIdeas
walkingweekend/index.astroUses currentMonthIdeas and previousMonthsIdeas

2026/01 Ideabox Pages (/src/pages/2026/01/benben/ideas/):

FileChanges
index.astroChanged from @/lib/monthly to @/lib/yearly
benben/index.astroChanged to yearly ideas fetch
hygge/index.astroChanged to yearly ideas fetch
bearlabs/index.astroUses currentMonthIdeas and previousMonthsIdeas
walkingweekend/index.astroUses currentMonthIdeas and previousMonthsIdeas

Before vs After

SectionBeforeAfter
Ideas (top section)Current month ideasCurrent month ideas (same)
Thoughts (bottom section)ALL historical ideas from all yearsPrevious months of current year only
Data sourcemonthly.ts + previous.tsyearly.ts only

Usage

The ideabox pages now display:

  1. Ideas Section - Ideas generated in the current month
  2. Thoughts Section - Ideas generated in previous months of the same year (Jan 1 to before current month)

Benefits

  • Yearly Scope: Ideas are now scoped to the current year instead of all-time
  • Better Performance: Fetching only current year data reduces query size
  • Focused Content: Users see only relevant current-year ideas
  • Maintains Separation: Current month and previous months ideas still displayed in separate sections
  • Simpler Logic: Removed dependency on @/lib/previous for ideabox pages
  • Year-over-Year Tracking: Easier to compare innovation output between years

Technical Notes

  • Helper function formatIdeas() added to reduce code duplication in yearly.ts
  • All queries use ISO week start (Monday) via weekStartsOn: 1 option where applicable
  • Styles array optional parameter preserved for consistent idea card rendering