Changelog
Weekly changes from January 2026, curated through · Jakarta time (WIB)
Entries after the curated cutoff are commit subjects; browse all commits for individual changes. The latest week may be partial, and the 3 newest months start open.
The bar beside each month shows its mix of change types.
- Features272
- Fixes235
- Refactors339
- Style362
- Documentation109
- Maintenance101
- Other962
November 2026245 commits · 2 weeks
95 commits · partial
Commit subjects
- feat(graph): add editable graph projects and chapter examples
- fix(Breadcrumbs): show Home as the current page at root
- style(Bento): add hover feedback to contained triggers
- style(home): refine consultation cards and copyright layout
- docs(design): document responsive grid breakpoints
- style(timer): simplify scheduled-period labels
- style(Timer): darken task list titles and show counts only above three cards
- feat(PageHeader): add related links beside the title on desktop
- style(Timer): draw task card progress above the time and nudge it down
- feat(physics): show equation explanations in a Bento and lay equations in two columns
- fix(Timer): keep This week directly under All day on desktop
- feat(tools): show related links in the page header and replace the Timer clock with a Clock link
- style(Button): tint timer-secondary buttons by default
- style(ArticleContentsRail): move the scrollbar closer to the edge
- feat(Bento): add triggerLabel to change the trigger text without the dialog title
- feat(Timer): allow up to six duration presets
- feat(TopBar): highlight Home on tool pages
- style(Home): split the profile into columns and give the invitation its own card
- style(Tabs): bold the active tab and darken inactive tabs
- style(FloatingTimerDock): scale to 99% while pressed
- style(BackButton): widen the icon gap
- feat(Search): suggest tools and an even spread of deep pages instead of top-level navigation
- docs(md): sort audits and plans into folders and refresh their status
- feat(Timer): show Events and Weekly Tasks, and load forms on demand
- refactor(Timer): share one entry dialog and the task text fields
- feat(Timer): add Events with an API, storage, and version 2 backups
- feat(Timer): store Weekly Tasks and track their time across the week
- fix(Timer): shorten deadline and reconnect messages
- style(Timer): quiet task cards, presets, and toolbar controls
- style(Timer): share one translucent layer across the top bar, toolbar, and Week header
- perf(Timer): tick only task cards each second, not the timeline and toolbar
- fix(Timer): fit the timeline frame above the footer without measuring the page
- perf(Timer): read snapshot polls without the write lock in one round trip
- feat(TopBarAccount): explain that only the owner can sign in
- feat(ArticleContentsRail): replace the top bar contents button from 72rem
- feat(Labs): add the Multiplication Table lab
- feat(discovery): derive routes from page files instead of a curated list
- refactor(Design): remove the Preview font selector and its fonts
- style(Timer): color task cards by Type and drop red for running tasks
- fix(Timer): keep the future-day task list within the timeline height
- style(Timer): show two days per screen in mobile Week and drop the mirrored scrollbar
- refactor(ModalOverlay): share one backdrop component across modal-like views
- feat(DatePicker): replace native date and month inputs with a shared picker
- docs(design): add navigation principle and tighten why/how wording
- style(Timer): use fixed sizes for task card action icons
- refactor(TopBar): move search into the tab bar and drop the timer shortcut
- style(Timer): match running task color to the current-time line
- feat(subscription-calculator): add operating costs, payment gateway, and budget sheets
- feat(Timer): derive scheduled task duration from its period
- feat(Article): add contents rail with full-width hover rows
- chore(Music): remove two bundled IVE tracks
- fix(Timer): keep settings title centered and save label visible
- fix(Timer): blend week header with top bar
- fix(Timer): constrain task lists and collapse mobile cards
- fix(TopBar): size mobile controls consistently
- feat(Timer): support overnight tasks across Jakarta days
- refactor(Modal): share backdrop styles and gutter tint
- feat(Timer): show settings as a sheet with slide transitions and rename Follow now
- style(ButtonGroup): add a narrower icon spacing and a compact NumberInput
- perf(Images): compress hero photos and serve the earthy bedroom as WebP
- feat(Timer): move Add Task and Back to Now to floating mobile buttons
- feat(Statistics): add date picker, weekday average, and a redesigned summary
- feat(Timer): replace native time inputs with a TimePicker
- refactor(Commits): import history during Vercel production builds instead of CI
- style(Global): remove unused theme tokens and default breakpoints
- refactor(UI): share Switch, row icon buttons, and the formula box
- feat(Button): add a loading label and show Saving… and Deleting…
- chore(Deps): update dependencies and adopt ultracite 8
- docs(Agents): trim duplicated and vague guidance
- fix(Commits): sort history newest first where it is prepared
- chore(Content): validate page registration, test placement, and cache lifetimes
- refactor(Calendar): share the Jakarta time zone and offset constants
- fix(Commits): prune dropped commits and fail CI when the cache refresh fails
- style(Commits): describe the page in one sentence with first and latest dates
- style(Commits): align filter heights, radii, and rows
- style(Commits): remove chart card borders and widen tile gaps
- style(Commits): use a segmented period control and compact shadowless filters
- fix(Commits): abbreviate September as Sep in chart and day labels
- refactor(Commits): remove the dated model-suitability analysis pages
- refactor(Commits): rebuild filters from shared Input, SearchField, and Tabs
- fix(Labs): stop exporting the unused Swatch type
- style(ButtonGroup): widen item padding by 2px
- docs(Agents): keep scrollbars off container edges
- feat(Bento): add compact height and inset the scrollbar
- feat(Commits): add all-commits line chart and Bento table views
- feat(Labs): add earthy color palette
- feat(Labs): add subscription calculator for Harimaki
- fix(Timer): report failed timeline resizes and keep handle order stable
- feat(TopBar): open contents on hover and toggle closed on press
- style(Timer): translucent sticky bars and taller week grid
- refactor(Timer): share one settings editor across general, presets, and daily tasks
- feat(Timer): add Curation task kind
- docs(Timer): document Curation and the settings editor
- style(Components): refine accordion, box, and select styling
- docs(Agents): ask for thorough analysis and bold recommendations
150 commits
Commit subjects
- chore(Lint): justify react immutability disables for effect-local state
- feat(Commits): show cache refresh setup to the signed-in owner
- chore(CI): pass the cache revalidation secrets to the data update
- feat(Commits): add all-history insights
- feat(Changelog): fold older months and show each month's commit mix
- refactor(Timer): derive one connection status from read failures
- fix(CommitActivityChart): use solid gridlines and add a table view
- refactor(Music): store offline status as a state, not display text
- refactor(Timer): give every task a single phase
- feat(FloatingMusicDock): mark Next song as floating details
- style(Home): reorder tool cards and credit haritssr.com in the footer
- feat(Timer): split today's tasks into Now and All day areas
- style(Button): tint the floating secondary hover like outline
- docs(Design): add the Show, don't tell principle
- perf(Commits): cache history for 24 hours and expire it after import
- style(Timer): rename Scheduled availability to Scheduled period
- feat(Timer): pin the task dialog header and show the day under the title
- feat(Timer): autoscroll while dragging a task card
- style(Timer): make the delete task dialog more compact
- style(Timer): keep the toolbar and week header sticky
- style(Timer): shorten the past-time notice and place it at the press
- style(Footer): mute breadcrumb and footer text
- fix(Toast): make the reconnecting notification info-only
- refactor(Timer): remove the 6-hour timeline and its setting
- feat(FloatingPlayers): add music Next, always show task count, match toast width
- style(Timer): fade Leisure muted accent from amber-600
- style(Footer): use mt-30 everywhere except the Timer app
- refactor(Toast): let Base UI time toasts out and drop tailwindcss-animate
- docs(Features): show color in the Blur preview
- ci: run the Timer tests in the quality workflow
- test(Timer): add unit tests and a pre-push hook that runs them
- refactor(Timer): share one wake-up scheduler and fold two tiny modules away
- perf(Timer): keep zod out of the first page load
- feat(Timer): chart Work and Leisure over 7, 30 or 90 days in statistics
- feat(Timer): mirror the week view's scrollbar above it
- feat(Timer): add a Follow now timeline that scrolls inside the screen height
- style(Timer): color running cards by task kind and soften the past-time shade
- style(Footer): shorten the space above the footer
- style(Timer): outline-free secondary buttons on task cards
- style(TopBar): fade and blur content under the bar with a scroll edge effect
- style(Timer): frame desktop task lists and enlarge the date heading
- docs(design): reword the principles and trim button examples
- style(SquintOverlay): use a lighter blur without grayscale
- refactor(layout): drop the duplicate site description
- refactor(labs): move lab-only CSS out of globals.css into CSS modules
- refactor: keep single-use hooks and helpers beside their only consumers
- docs(md): mark finished simplification and bundle items
- chore(tsconfig): drop redundant compiler options and the bare path alias
- chore(deps): update dependencies and drop unused tslib
- chore(Music): remove the Stand By Me track
- style(TabBar): fill each tab's highlight across its slot
- fix(Timer): keep the pager, past-time notice and Add Task below the top bar
- docs(AGENTS): forbid Co-Authored-By and AI attribution in commits
- style(Timer): double the desktop gaps between timeline and task cards
- feat(Timer): add tooltips and a Now button to the timeline pager
- style(Timer): use zinc-700 for the paused state
- style(Timer): make the download button secondary
- feat(Timer): add a 6-hour paged timeline and shade past time
- feat(SquintOverlay): blur the page with Cmd/Ctrl+B and list it in Features
- feat(URL): show text fragments decoded and strip them in Automatic mode
- style(Timer): call task availability the Period in the interface
- feat(Timer): store an all-day period for tasks without a scheduled time
- feat(Timer): support planning tasks on future dates
- feat(Timer): add week and year calendar views
- feat(Timer): add task types and configurable periods
- style(Timer): soften idle task controls and progress
- feat(Button): add tonal styling and joined button groups
- style(Controls): refine install icons and duration fields
- style(Timer): refine Today text color and desktop toolbar spacing
- fix(Timer): prevent precision drift and premature full progress
- feat(Timer): add month browsing and read-only day previews
- feat(Timer): add editable schedules and automatic window starts
- fix(Toast): keep notification text on single lines
- refactor(Clock): show the clock without visible page controls
- style(Timer): improve settings panels and form control contrast
- style(Badge): match label colors to status hues
- style(Design): refine selectors and use font dropdown on all screens
- feat(Navigation): add timer shortcut and move app installation to topbar
- feat(Timer): reorganize views and backup controls
- style(Timer): refine task progress presentation
- style(URLInput): adjust paste button size
- style(FloatingPlayer): refine desktop width and shadow
- feat(Timer): add celebratory completion sound
- perf(Timer): reuse validated data and clock audio
- style(Timer): simplify task progress on mobile
- fix(Timer): apply task form character limits
- fix(Button): lighten dark controls on hover
- chore(Timer): add sanitized API timing and storage diagnostics
- fix(Timer): recover automatically from transient sync failures
- fix(Timer): center and resize mobile progress ring
- fix(Design): use font dropdown in narrow containers
- feat(Timer): refine task cards and disclose upcoming tasks
- fix(TopBar): preserve desktop tabs while scrolling
- chore(Home): remove Design from Tools section
- style(design): add a translucent menu material sample
- style(home): move mobile copyright into More about me
- feat(timer): float Add Task on mobile and simplify the toolbar
- feat(navigation): dock floating players beside compact mobile tabs
- style(Search): soften result separators
- style(Timer): reduce dialog padding
- style(Timer): highlight active edit button
- fix(Timer): make deadline reminders prominent
- fix(Navigation): align floating bar and responsive breakpoint
- style(Box): inset dashed header border
- feat(Design): showcase components and preview fonts
- style(Navigation): refine responsive layout
- style(Music): align play icon optically
- fix(Commits): improve mobile explorer layout
- style(Timer): adjust task progress spacing
- refactor(Timer): rename statistics route
- fix(Timer): clarify daily task validation
- feat(URL): improve paste and inspection controls
- style(Home): refine profile and actions
- style(navigation): narrow search button gap
- fix(timer): show history table when empty
- style(bento): reduce trigger icon gap
- style(timer): refine task state examples
- style(api): adjust endpoint list spacing
- style(home): punctuate personal notes consistently
- style(navigation): adjust header spacing and motion
- style(labs): soften card descriptions
- refactor(status): reuse shared button styles
- refactor(footer): simplify install action and layout
- feat(timer): improve task forms and history
- feat(url): add automatic URL cleanup
- feat(bento): reveal profile and lab details in modals
- feat(design): add shared bento and refresh components
- docs(URL): add related post
- refactor(URL): separate input and inspection components
- style(Box): refine card and showcase
- fix(ExternalLink): allow links to wrap inline
- style(Design): refine component showcase
- style(Writing): refine article metadata
- style(Home): adjust profile card spacing
- fix(Music): correct artist credit
- feat(Navigation): move article actions into mobile contents
- style(Footer): refine clock and install layout
- style(TabBar): strengthen floating shadows
- feat(Timer): update default tasks
- fix(Timer): resume ticking after interaction
- refactor(Timer): simplify task card layout
- style(Cards): align homepage and lab card surfaces and spacing
- fix(SharePage): provide toast context to global search
- style(Navigation): unify translucent floating controls and scroll offsets
- style(Footer): shorten the date on mobile
- fix(Music): repeat the queue after the last track
- fix(Timer): constrain daily preset descriptions and switch activation
- feat(Timer): show running task and countdown in browser tab
- style(Design): refine principles and component gallery presentation
- chore(check): skip unrelated project inventory generation
October 2026719 commits · 5 weeks
79 commits
Commit subjects
- style(home): refine spacing and tool order
- style(TopBar): align tab spacing and backgrounds
- feat(navigation): add mobile search and refine top bar
- style(home): refresh profile and tool cards
- style(buttons): soften hover states
- style(navigation): refine tools and footer layout
- style(projects): refine cards and secondary buttons
- style(design): refresh feature cards and backgrounds
- feat(timer): refine tasks and toolbar
- chore(data): automate updates to commit history
- style(Timer): lighten profile surface
- style(Timer): remove list divider
- style(Timer): soften progress presentation
- style(Home): refine tool cards
- refactor(Timer): remove description popovers
- style(Timer): compact history descriptions
- style(API): color HTTP method badges
- docs(architecture): organize audits and record site assessment
- refactor(design): consolidate colors and shared control styles
- docs(knip): explain production content validator entry
- fix(FooterClock): display the visitor local time
- style(labs): align examples with shared design tokens
- feat(timer): refine task controls and coordinate playback shortcuts
- style(projects): simplify card buttons
- style(home): soften profile border
- docs(site): record simplification recommendations
- refactor(home): remove database badges and live commit count
- style(Home): refine profile layout and actions
- style(Music): shorten page description
- style(Layout): remove skip link
- style(Material): soften stand-out surfaces
- feat(Button): add secondary danger variant
- docs(Design): clarify page navigation principle
- style(Design): align component grid spacing
- style(Timer): refine task indicators
- style(Floating): refine borders and scroll edge
- chore(Commits): consolidate sync command
- refactor(Design): simplify principles and examples
- docs(URL): add shared link references
- style(Home): refine profile layout and tool order
- style(Timer): align settings Done button
- docs(Project): simplify guidance and organize plans
- style(Timer): keep Settings trigger icon-only
- docs(Discovery): capitalize route plan filename
- docs(Bundle): record browser JavaScript audit
- fix(URL): focus input when opening the tool
- fix(Timer): show history count and stabilize header
- docs(URL): explain tracking parameters in shared links
- style(Timer): color running button orange
- fix(Notifications): dismiss toasts after ten seconds
- fix(Timer): refine task ordering and settings
- fix(Timer): make history collapsible by default
- refactor(Timer): simplify task list and toolbar
- style(Timer): simplify task state colors
- style(Timer): reduce backup icon size
- docs(Design): remove components analogy
- fix(Timer): order tasks by progress and availability
- style(Timer): distinguish deadline warnings
- style(Timer): constrain history descriptions
- fix(timer): edit daily task cards individually
- fix(timer): keep task cards stable during a visit
- feat(timer): warn before scheduled task deadlines
- feat(timer): add synced list view and compact history
- fix(timer): use 24-hour availability windows
- docs(agents): scope checks for visual changes
- fix(timer): shorten storage error messages
- style(timer): distinguish the clock hands
- style(home): wrap profile invitation on desktop
- docs(discovery): propose automatic page route inventory
- style(contents): increase numbered list indentation
- fix(navigation): allow scrolling with page actions open
- style(home): lighten profile card and align desktop actions
- feat(tree): explore project files and folder patterns
- style(timer): simplify statistics and history layout
- style(timer): refine card controls and state colors
- fix(timer): order all task cards by current state
- refactor(timer): remove task speed and advance in real time
- style(footer): show only UTC+7 in clock
- chore(music): remove live and SuhYun tracks
241 commits
Timer gained authenticated storage and controls available across the site.
- Added Google sign-in, Turso storage, optimistic updates, and floating timer controls.
- Added a settings modal and Quartz sounds; refined timer cards, alerts, and responsive controls.
- Updated the profile grid, content ownership, diagrams, and dated commit reviews.
- docs(timer): document daily tasks and component flow
- perf(timer): schedule display updates at availability boundaries
- feat(timer): add daily task settings and persistent cards
- feat(timer): persist daily tasks and enforce availability
- style(dialogs): round modal surfaces with squircle support
- feat(design): add responsive settings control example
- style(floating): use rounded pill controls
- feat(timer): refine toolbar and settings controls
- fix(topbar): freeze background while page actions are open
- docs(tools): simplify details and share change history
- fix(url): normalize quoted pastes and clarify input examples
- feat(commits): redesign filters activity and weekly changelog
- perf(timer): reduce snapshot reads and calibrate device clocks
- fix(timer): start blank tasks and refine clock controls
- style(design): simplify component grid and table dividers
- style(design): unify secondary buttons and music accent
- style(home): align profile invitation with desktop columns
- style(home): refine profile and inquiry layout
- style(home): update timer feature preview
- feat(home): add profile inquiry links
- style(ExternalLink): refine arrow alignment
- style(Design): refine page copy and checkbox example
- fix(TopBar): block page interaction while actions are open
- style(home): tighten feature spacing
- style(timer): color paused action orange
- style(home): refine profile card
- style(Timer): use danger styling for task deletion
- style(Design): simplify principles and component examples
- feat(Timer): show state counts and refine task presentation
- feat(Timer): show and ring completion toasts immediately
- refactor(Colors): consolidate foreground and remove unused tokens
- feat(Design): showcase floating task variations
- feat(Notifications): stack persistent floating alerts
- feat(Design): update task controls and shared materials
- feat(writing): make article rows clickable
- style(pages): refine cards and homepage presentation
- style(controls): add depth to floating controls and navigation
- feat(design): refine controls and add button groups
- feat(Timer): restore early completed tasks
- fix(BackButton): align the chevron and retain hover text color
- style(Pills): strengthen navigation and overlay borders
- refactor(FloatingDock): separate notices and align full-width players
- feat(Navigation): animate the mobile active-tab indicator
- style(Timer): refine task dialog corners and field controls
- style(Timer): refine task cards and separate remaining time
- refactor(Timer): reuse NumberInput for duration fields
- feat(Timer): open the clock from its header preview
- fix(Footer): use tabular numbers and label UTC offset
- style(Home): show feature grid columns at smaller widths
- style(ToggleList): remove the outer border and padding
- style(Design): lighten boxed previews and reduce grid samples
- style(Projects): reduce card top padding
- style(Controls): flatten switches and simplify success styling
- style(Music): highlight tracks on hover
- style(Timer): use play icon for continuing tasks
- style(Projects): separate card description and link
- style(Home): restore contact accent color
- feat(Design): preview floating pill color themes
- style(Design): reorganize component showcase
- refactor(Tree): use shared toggle list for routes
- feat(Harimaki): add reference hierarchy labs
- style(Timer): improve toolbar icon contrast and stroke weight
- style(Home): reuse success hover color for contact highlights
- style(Design): increase floating pill left padding
- docs(Agents): simplify project guidance and implementation notes
- refactor(Routes): organize tools in a shared route group
- refactor(ServiceWorker): separate offline preparation and request handlers
- refactor(Utilities): share validation, content loading, and commit calculations
- refactor(Navigation): rename shared top-level route definitions
- refactor(Music): isolate player controls, tab sync, and import handling
- feat(Clock): add optional second-aligned ticking sound
- refactor(Timer): separate controller, persistence, audio, and input rules
- chore(Dependencies): update Next.js and compatible packages
- docs(README): simplify introduction and relocate implementation notes
- feat(Home): integrate install action and feature shortcuts
- style(Accordion): reduce trigger text size
- feat(Design): add static Floating Pill demo
- feat(Home): showcase features with themed UI previews
- style(Accordion): use base text size for trigger labels
- fix(Music): correct included song titles and artist credits
- fix(TopBar): center scrolled title between equal side columns
- docs(Commits): use UTC+7 in page description
- style(Music): space song details from progress on mobile
- refactor(Design): consolidate surface colors and reorder tokens
- fix(Timer): label task edits with Save
- style(Design): group demos and refine logo and token layouts
- fix(TopBar): size signed-out account control consistently
- feat(Home): collapse profile notes on mobile
- docs(Agents): require tool details rules and component diagrams
- docs(Design): clarify how patterns emerge
- style(Projects): clarify actions and increase mobile padding
- feat(Navigation): add mobile tab press feedback
- style(PageHeader): reduce top spacing on mobile
- feat(Music): document playback rules and show cached changelog
- docs(Writing): update Harimaki name and links
- feat(Search): include tools in default results
- style(UI): refine design layout and navigation spacing
- feat(Music): refine playback controls and volume popover
- feat(URL): inspect route levels and copy URL parts
- style(Search): size modal to ninety percent of original width
- style(TopBar): increase scrolled page title size
- refactor(Design): refine component demos and grid layout
- style(progress): improve music and timer track contrast
- feat(navigation): support tab previews and separate hover states
- feat(Search): open search with Command or Control P
- refactor(Timer): use single-line task descriptions
- style(Home): use consistent responsive tool grid gaps
- style(Timer): match history toggle text size
- style(Timer): center progress stack beside controls
- style(Timer): reduce task card vertical padding
- feat(Timer): show completion in shared toast
- fix(Music): wrap manual next to first queued song
- feat(Search): add clear input action
- feat(Music): enable Space playback across pages
- style(PageHeader): reduce mobile content spacing
- feat(Music): refine library controls and volume slider
- style(Search): refine modal layout and result rows
- style(Share): match copy feedback to mobile navigation
- style(navigation): unify capsules and align floating controls
- style(Home): align profile photo and add top spacing
- feat(url): add automatic cleaning and homepage tool
- fix(deps): add React DOM types for deployment checks
- style(timer): use Tailwind shorthand classes
- docs(architecture): describe tools, navigation, music, and timer summaries
- feat(music): add persistent local player with offline imports and shared dock
- chore(labs): preserve gallery order in the lab catalog
- style(timer): unify task colors and refine progress controls
- feat(url): add local query parameter and fragment cleaner
- feat(timer): add dedicated analog clock and header aside
- style(ui): soften profile background and box headings
- refactor(navigation): coordinate header actions and share route state
- feat(gradient-cards): add interactive gallery of 100 card recipes
- feat(chapter-prerequisites): map mathematics and physics dependencies
- feat(error-pages): preview shared global error and fallback screens
- perf(timer): summarize daily totals and deduplicate statistics refreshes
- feat(times-table): add shuffled multiplication practice and feedback
- style(Labs): enlarge mobile domain title icons
- fix(Home): shorten website introduction to At
- style(Design): adjust profile accent colors
- style(IndexCard): soften mobile backgrounds and borders
- fix(TopBar): center mobile titles with contextual action menus
- fix(Home): refine profile wording
- style(Writing): shorten introduction and darken summaries
- fix(Footer): adapt date and action layouts to available width
- refactor(Navigation): remove floating back-to-top controls
- feat(Mathematics): add illustrated quadratic formula derivation
- feat(FlowDiagram): render math labels and overlay controls
- style(Labs): number domain links across columns
- docs(Design): define semantic color principles
- style(Timer): match percentages to task status colors
- fix(Timer): limit red card shadows to running tasks
- style(Home): increase profile list spacing
- refactor(Commits): import Git history directly into Turso
- style(Navigation): align header link gaps and place Details first
- refactor(Home): compact the profile layout and refresh details
- docs(Commits): explain cache periods and route consumers
- perf(Commits): cache counts and history for 24 hours
- style(Timer): stabilize speed label width
- style(Timer): fit description popovers to their content
- docs(Home): refine philosophy and accelerationism labels
- style(Labs): reuse subtle scrollbars across overflow areas
- docs(API): label authenticated Timer operations
- feat(Footer): show live Jakarta date and time beside breadcrumbs
- style(Timer): refine card padding and truncate dock titles
- docs(Timer): add scheduling principles and task types
- feat(Timer): support ten task presets and add Working and Thinking
- feat(Timer): add a live analog clock to the page header
- perf(Timer): index history reads and share polling across tabs
- feat(Commits): serve cached history from Turso
- refactor(Scripts): colocate feature maintenance commands
- refactor(Utils): group shared helpers by responsibility
- style(Timer): refine card layout and circular controls
- refactor(Labs): remove Task and Tools SQLite experiments
- style(Design): refine grids and homepage cards
- style(Diagrams): fill nodes with matching design tokens
- style(Buttons): standardize corners and status actions
- style(Navigation): refine press feedback and tablet visibility
- docs(Timer): simplify details and statistics descriptions
- refactor(Labs): remove unused mobile grid truncation
- feat(Labs): add error page playground and fallback previews
- chore(Dependencies): update packages and satisfy lint rules
- style(Site): refine profile layout and account menu
- fix(Timer): stabilize dock clearance and align tablet navigation
- fix(Tree): show child counts and synchronize expansion controls
- feat(Mathematics): add HMMT scaling integral solution
- style(navigation): align links account actions and search scrolling
- refactor(article): group reading controls and navigation hooks
- refactor(topbar): group shared navigation components
- refactor(routes): colocate Writing and Projects components
- refactor(commits): colocate charts and history components
- refactor(labs): colocate lab components with their routes
- refactor(timer): colocate UI state and storage modules
54 commits
Timer became a daily activity tool as Labs and navigation were simplified.
- Added daily timers, history, statistics, task editing, autoplay, multitasking, and speed controls.
- Renamed Experiments to Labs, added the route tree, and moved diagrams to Pele.
- Removed dark mode and refined shared navigation, search commands, and design tokens.
191 commits
Learning content and reading navigation expanded, with commit history now browsable.
- Added geometry and physics demos, saved polynomial practice, and clearer worked solutions.
- Added responsive Contents and scrolling headers, reorganized Writing, and listed API endpoints.
- Introduced the commit explorer and dated reviews; consolidated design controls and route layouts.
154 commits
Math and physics learning tools grew alongside search and metadata improvements.
- Added calculus, algebra, double-slit, orbital, and interactive TeX learning tools.
- Expanded catalog metadata and shared controls; improved search, navigation, and offline recovery.
- Added page-specific previews and structured data, and introduced site-wide dark mode.
September 2026125 commits · 5 weeks
0 commits
No recorded changes.
42 commits
Physics visualizations expanded while shared page structure became more consistent.
- Added electron orbitals, motion diagrams, dependent formulas, and CSS layout demos.
- Renamed writing routes and aligned accessible markup, back links, and section spacing.
34 commits
Global search and richer writing and physics references improved discovery.
- Added global site search with improved matching, feedback, and a keyboard shortcut.
- Published graph and transformation essays and refined writing summaries and metadata.
- Added physics units and prerequisite graphs; consolidated footer and semantic color styling.
26 commits
Recovery, accessibility, and local-data safeguards were strengthened.
- Added 404 recovery actions and responsive home previews; updated React to 19.3.
- Protected private responses from PWA caching and kept SQLite demos development-only.
- Hardened task and tool persistence and improved navigation semantics and project metadata.
23 commits
Writing and design infrastructure moved to the current toolchain.
- Migrated writing to Next.js MDX and replaced Biome with Oxlint and Oxfmt.
- Fixed active article contents links and refined contrast, shared controls, and toast feedback.
August 2026157 commits · 5 weeks
0 commits
No recorded changes.
31 commits
A dedicated design system brought shared controls and a clearer homepage.
- Established the Design route with Base UI controls, Heroicons, and consistent form styling.
- Refined profile cards, removed CV and newsletter sections, and added a problem-feature graph.
- Improved sharing feedback and searchable routes while reducing global client boundaries.
71 commits
Installable and feed features arrived alongside a broad site reorganization.
- Added PWA installation and a writing RSS feed, with shared canonical URLs and a sitemap.
- Reorganized writing and experiment routes, added source links, and simplified home content.
- Moved Tailwind configuration into CSS and strengthened linting and unused-code checks.
11 commits
Broken imports and obsolete React examples were cleaned up.
- Fixed blog and icon imports, improved imperative-handle typing, and removed forward-ref demos.
- Updated SQLite dependencies and stopped tracking generated Next.js types and unused fonts.
44 commits
React examples and development tooling received substantial updates.
- Added React Activity and deferred-search demos; simplified navigation and route data.
- Adopted TypeScript 7, updated Next.js, and corrected configuration and project links.
July 202651 commits · 5 weeks
20 commits
Route discovery, fonts, and experiment organization were refreshed.
- Restored the sitemap and moved stopwatch and times-table pages into experiments.
- Added a local Inter font, updated Next.js, and removed unused tooling and Faker code.
29 commits
Projects and homepage components were reorganized as React demos grew.
- Renamed Experiences to Projects and reorganized contact, CV, and database helpers.
- Added reducer and stopwatch demos; updated Tailwind and removed unused styles and data.
0 commits
No recorded changes.
0 commits
No recorded changes.
2 commits
Small presentation changes clarified experimental pages.
- Added an experiment badge to Task and simplified profile and project card styling.
June 20263 commits · 5 weeks
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
3 commits
The API demo gained catch-all parameters alongside asset cleanup.
- Displayed catch-all API parameters, removed unused fonts, and adjusted icon paths.
May 20269 commits · 5 weeks
9 commits
Local tools, route search, and API learning examples were introduced.
- Added SQLite-backed tool management, route search, and UI exploration examples.
- Added an Effect-based API fetching demo and documented the vendored repository workflow.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
April 20260 commits · 5 weeks
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
March 202610 commits · 5 weeks
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
0 commits
No recorded changes.
10 commits
A task manager and new UI demos expanded the experiment collection.
- Added task pages, persistence, and API endpoints, then simplified tasks to a type-only model.
- Added UI demos and footer sharing; separated page descriptions from titles.
February 202618 commits · 4 weeks
11 commits
Shared layouts and navigation were modernized across the site.
- Added shared UI and page descriptions; refreshed breadcrumbs, footer, and global styles.
- Restructured home and experiment layouts and corrected the imperative-handle demo.
2 commits
Homepage structure and writing metadata were refined.
- Extracted the AI workflow section and aligned homepage section wrappers.
- Added Notion page IDs to the blog schema and entries.
0 commits
No recorded changes.
5 commits
Content, API endpoints, and experiments moved toward the App Router.
- Migrated Contentlayer to Content Collections and API endpoints to the App Router.
- Moved experiments into App Router routes and removed the comments feature.
January 202672 commits · 5 weeks
0 commits
No recorded changes.
1 commits
The standalone About page was removed.
- Deleted the About page.
34 commits
Navigation components and content layouts received a maintenance pass.
- Reorganized TopBar and BottomBar, simplified blog links, and adjusted content spacing.
- Updated Headless UI usage and dependencies; removed the existing sitemap implementation.
26 commits
Shared links and navigation became simpler, with Bun used for development.
- Simplified internal links and experiment layouts; removed unused components and helpers.
- Switched the development runtime to Bun and refined contact keys and name highlighting.
11 commits
The year opened with repository and TypeScript cleanup.
- Removed the Technology page, tracked editor settings, and TypeScript build artifacts.
- Standardized interface declarations, formatting, and repository documentation.