stan
7ba26f132d
radio: quiet hours default 00:00-08:00; banks 1-3 fill script (ISS, calling, Gouda-area repeaters); docs
Deploy production / deploy (push) Successful in 1m20s
2026-10-26 17:24:03 +00:00
stan
f954881bcc
radio: quiet hours for reminders (default 23:00-07:30 Amsterdam, RADIO_QUIET_HOURS overrides)
Deploy production / deploy (push) Successful in 1m21s
2026-10-26 17:18:59 +00:00
stan
95a8b76562
radio: fix quick log insert (timestamp param), 'ch 16' falls back to the marine channel, ISS list fits half-width cards
Deploy production / deploy (push) Successful in 1m26s
2026-10-26 17:15:29 +00:00
stan
03574a95a7
radio: private radio tracker (/trackers/radio): frequencies, UBC125XLT banks + CSV, nets, ISS passes over Gouda, listening log, ntfy reminders
Deploy production / deploy (push) Successful in 1m26s
2026-10-26 16:58:29 +00:00
stan
e24ee7f95d
plant: private Cargill Gouda tracker (/trackers/cargill)
...
Deploy production / deploy (push) Successful in 1m19s
Owner-only tracker for learning the Cargill Bioindustrial plant in Gouda:
schema plant (entries, links with confidence, pending refs), plant.apply_entries
bulk import, overview with clusters and flow diagram, kind tabs, glossary,
questions, detail pages and owner inline editing. Docs in docs/plant-tracker.md.
2026-10-26 13:42:37 +00:00
stan
fda21554cc
math: make tracker public (read-only for visitors)
Deploy production / deploy (push) Successful in 1m18s
2026-10-26 12:35:15 +00:00
stan
d7e26a3338
math tracker: pannable 2D map of the Napkin (default), list view kept behind ?view=list
...
Deploy production / deploy (push) Successful in 1m18s
Chapters are nodes grouped into part regions laid out like the book's dependency chart
(roots Abs Alg, Topology, Lin Alg, Set Theory flowing down to AG, AT and ANT). Part
prereqs are routed edges, optional ones (\coreqc in the book) dotted. Status colours,
exercise rings, current-chapter glow, legend, search, minimap, pinch/drag/wheel zoom,
fit and +/- buttons. Tapping a chapter opens the existing panel (side panel on desktop,
bottom sheet on mobile). The view choice is remembered per device.
2026-10-26 12:22:38 +00:00
stan
44379b9a27
math tracker: space before the skipped count
Deploy production / deploy (push) Successful in 1m18s
2026-10-26 11:22:53 +00:00
stan
f7a3bb556c
math tracker: pass string classes to lucide icons (fixes owner-view 500)
Deploy production / deploy (push) Successful in 1m19s
2026-10-26 11:14:03 +00:00
stan
16684d6688
math tracker: own icon colour (blue sigma tile; indigo is games)
Deploy production / deploy (push) Successful in 1m19s
2026-10-26 11:09:36 +00:00
stan
d99245e9fc
Math tracker (/trackers/math): Evan Chen's Napkin, chapter by chapter
...
Deploy production / deploy (push) Failing after 9s
Schema math (parts, chapters, sections, activity), seeded with all 100 chapters
(Ch 0-94, appendix A-E), 647 sections, PDF pages, exercise counts and approximate
prereqs. Triggers stamp started_at/completed_at and log status/exercise/note/section
changes; math.apply_progress(jsonb) applies the JSON format bots send. Private by
default via MATH_PRIVATE in #lib/math (owner-only prefix + lock in every tracker list).
Overall + per-part progress, current chapter, prereq hints, quick status buttons,
exercises stepper, notes, optional section ticks, activity log, dependency chart.
Deploy preflight checks the math schema (4 tables, 100 chapters).
2026-10-26 10:55:16 +00:00
stan
23a43049a0
cs-prices: lime for CSFloat history so it stands apart from CSFloat listings
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 09:35:36 +00:00
stan
3b75fd39b5
AI setup tab: masonry columns, even form controls, one labels-only hint
Deploy production / deploy (push) Has been cancelled
2026-10-26 09:34:38 +00:00
stan
76f063b362
cs-prices: price history backfill (Steam daily median since 2013 from the public listing page, CSFloat daily averages, ECB FX history) in separate *-history streams; labelled on item charts
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 09:32:55 +00:00
stan
7396d23335
AI tracker: owner-only tabs no longer 500 (cache-control set twice: layout + page load)
Deploy production / deploy (push) Successful in 1m14s
2026-10-26 09:27:26 +00:00
stan
22279d181f
deploy preflight: ai schema now has 5 tables (setup tab)
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 09:23:35 +00:00
stan
8d2da984e0
AI tracker: owner-only Setup tab (per-provider connections, skills, instructions, plugins, routines, agents, plan/key labels, notes; ai.provider_setup_providers + provider_setup_entries, secrets refused)
Deploy production / deploy (push) Failing after 1m3s
2026-10-26 09:09:32 +00:00
stan
9e89a615c6
cs-prices: full ByMykel catalog, every config, daily multi-source prices, item pages with working charts
...
Deploy production / deploy (push) Successful in 1m18s
- cs.skins catalog (weapons, knives, gloves, stickers, cases, agents, charms, …) refreshed weekly
- every market config: wears in float range, StatTrak, Souvenir, Doppler/Gamma phases
- cs.daily_prices (one row per config/stream/day, idempotent) from Skinport, Steam, CSFloat, Buff163
- cs.price_windows for 24h/7d/30d/90d sale aggregates, cs.fx_rates (ECB)
- scripts/cs-prices.ts daily|catalog|prices; legacy ingest fixed for the new unique index
- skin browser + /projects/cs-prices/[slug] with variant/wear/phase switcher and real charts
- charts show points for short histories and pad sparse time axes
2026-10-26 08:47:57 +00:00
stan
9d79dfb43a
worldwide todo list: global map (List/Map toggle, clustered category pins, Global strip, pick on map, location_precision, tasks.geojson)
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 08:38:51 +00:00
stan
21b10ea894
Money forecast: name the first crash after the calm start in the explanation
Deploy production / deploy (push) Successful in 1m14s
2026-10-26 08:29:28 +00:00
stan
78b69c7d8f
Money forecast: calm optimistic start, rising plateau, thin solid projected lines
...
Deploy production / deploy (push) Successful in 1m13s
- Optimistic: no crash or correction through 2031 (5 years from today), earning the
9.5% average; cycle resumes after (correction 2035, crash 2040). Salary plateau
grows 2%/yr real so pay never stalls.
- Realistic keeps its single -30% crash in 2029; pessimistic unchanged.
- Projected lines are now thin, slightly lighter solid lines in every view; legend updated.
- Explanation text lists the crash/correction years and recovery time.
2026-10-26 08:25:52 +00:00
stan
d3b9bb9ba2
money: tag interest/dividend payouts on bank sync and Revolut import (category interest|dividend, never overwrites a set category)
Deploy production / deploy (push) Successful in 1m14s
2026-10-26 07:48:47 +00:00
stan
0121071af2
Tasks goals: investment income in the €10k/month bar (trailing-12m money.transactions amount_cents>0, category dividend|interest, any account except Joint, ÷12); own segment colour + breakdown line, breakdown amounts with cents
Deploy production / deploy (push) Successful in 1m14s
2026-10-26 07:35:09 +00:00
stan
2e8658bf33
money: count real Joint recurring items before the move instead of a flat €900/mo
Deploy production / deploy (push) Has been cancelled
2026-10-26 07:34:49 +00:00
stan
e33afe5387
notes: private Obsidian vault tracker at /trackers/notes
...
Deploy production / deploy (push) Successful in 1m19s
Vault files stay the source of truth (bind-mounted read-write at /notes):
atomic writes chowned to the vault owner, hash-checked saves (409 on a
newer file), deletes to .trash. notes.* is a full-text/link index kept
current by a recursive watcher plus a 60s rescan; live updates over the
owner-only /ws/notes channel (paths and hashes only). Wikilinks, embeds,
backlinks, tags, callouts, image paste. Owner-only everywhere (404).
2026-10-26 01:28:57 +00:00
stan
6654c0990a
worldwide todo list: zod namespace import (the named import is undefined under bun in the Docker test step)
Deploy production / deploy (push) Has been cancelled
2026-10-26 01:28:23 +00:00
stan
5e812271e1
worldwide todo list: public todo list of 68 real, sourced problems (planet to street) at /projects/worldwide-todo. worldtodo schema (categories, tasks, change_requests), idempotent seed on deploy, public add/edit/delete requests with Turnstile + salted daily-rotating IP-hash rate limit, owner-only review queue (approve, edit & approve, reject) with live updates over /ws/worldtodo(-owner), JSON API, detail pages with OSM map and history; listed in projects, header, /start and sitemap
Deploy production / deploy (push) Failing after 9s
2026-10-26 01:26:17 +00:00
stan
0ee981a96b
deploy preflight: tasks schema has 5 tables since tasks.metric_sources (goal metrics)
Deploy production / deploy (push) Successful in 1m12s
2026-10-26 01:23:35 +00:00
stan
d5e2ec346b
money: rent detection matches whole words ("living with parents" is not the rent)
...
Deploy production / deploy (push) Failing after 1m6s
The scenario move date came from the first Joint item matching /rent|huur/,
which since the "Groceries (living with parents)" item matched that one, so
the scenarios never moved out (no rent, the pre-move contribution forever).
2026-10-26 01:20:39 +00:00
stan
807a6b3104
money: day-by-day forecast with real payment dates
...
The wealth forecast now runs per day instead of per month, so it shows the
same sawtooth as the actual history:
- recurring items hit on the day the bank history shows (most common day of
the last four months, clamped to month end), else their start date
- "every N weeks" items (Basic-Fit, haircut) run on an exact N-day cadence
from the last charge; yearly items on their renewal date
- salary and its extras (holiday pay in May, 13th month in November, bonus,
settlement) land on the payday from history (contract 25th as fallback),
moved to the Friday before a weekend; toeslagen move to the Monday after
- variable budgets are spread per day, the vacation budget over Jul-Aug
- excess above the buffer is invested the day after payday; returns
compound daily
- long horizons stay fast (~35 ms for 100 years): the chart thins each
pixel bucket to its low and high
2026-10-26 01:20:39 +00:00
stan
5d732fc750
Tasks goals: auto metrics (tasks.goals.metric_key/metric_detail/metric_computed_at, tasks.metric_sources cache). €10k/month goal gets a live progress bar: Revolut recurring income (excl. Zorgtoeslag/Joint) computed on page load + trailing-12m paid Moneybird invoices / 12 cached by a daily goal-metrics user timer; stacked bar with %, amount vs target, salary/side-income breakdown, last-updated
Deploy production / deploy (push) Failing after 1m14s
2026-10-26 01:17:29 +00:00
stan
5c6ce75409
osu! goals: actually pass my play counts into the refresh (most-played list, weekly or on force)
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 01:00:39 +00:00
stan
5e10ecf525
osu! goals: real play counts from my most-played list (weekly), BPM range from the .osu timing points
Deploy production / deploy (push) Successful in 1m14s
2026-10-26 00:44:12 +00:00
stan
9f8d54d9e3
osu! goals: games.osu_goals (maps to pass/FC from the old list) with osu! API v2 metadata (stars NM/DT/HR/HD, BPM, length, AR/OD/CS/HP, combo, objects, tags, community tags, streams from .osu), my best scores and pass/FC via hourly in-app refresh; Goals section on /trackers/games/osu; retired list URL 301s there
Deploy production / deploy (push) Successful in 1m15s
2026-10-26 00:36:06 +00:00
stan
45841d6f6c
stats: core-7 economy page with CPI index levels, rebase and categories
...
Deploy production / deploy (push) Successful in 1m13s
- /stats/economy defaults multi-country charts to CAN KOR CHN JPN USA NLD CUW,
with add-a-country chips and an EU 27 comparison line
- CPI index levels rebased to a chosen base year, index/YoY toggle,
categories (food, energy, housing, core) where the source has them
- new no-key collectors: oecd (CPI categories, 10y yields), statcan (CPI);
bis WS_LONG_CPI, FRED US CPI categories, Eurostat prc_hicp_minr, WB FP.CPI.TOTL
- Canada added as a region; CBS Curacao fallbacks for growth/unemployment
- timers stats-oecd and stats-statcan
2026-10-26 00:34:27 +00:00
stan
28140bd425
lists: movies-shows-to-watch moves into /trackers/movies (301 to the watchlist once archived)
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 00:31:45 +00:00
stan
71e015d1d0
Add movies & TV tracker: movies schema, Netflix/Letterboxd/Plex/JSON/recs importers, TMDB matching, stats, owner visibility
2026-10-26 00:31:23 +00:00
stan
75571bbfe0
lists: retire scientific-papers (items live in /trackers/books?kind=papers) and cars-trains-planes-to-spot (-> /trackers/spotting); archived list URLs 301, books-to-read too
Deploy production / deploy (push) Successful in 1m15s
2026-10-26 00:24:27 +00:00
stan
d71e39f40a
stats: world opinions moves to /stats/opinions/world, the energy tracker merges into /stats/energy (live NED section), 301s from /projects/world-opinions and /projects/energy, tracker-style icons for the stats header, nav, sub-tabs and home grid
Deploy production / deploy (push) Successful in 1m18s
2026-10-26 00:16:08 +00:00
stan
be3473caa0
pubg map: built-in intel layers (vehicle spots, drops, loot density, Blue Chip towers, secret rooms) per map
...
Deploy production / deploy (push) Successful in 1m12s
Read-only layers from static/pubg-intel/<map>.v1.json (scripts/build-pubg-intel.py):
positions from pubg.gs (game level files), drops from guides, secret rooms and Deston
keys as approximate rings on the named place. Layer panel (K), per-player choices in
localStorage, drawn below room markers; clicks still place markers.
2026-10-26 00:05:46 +00:00
stan
b1edf7761c
Dockerfile: ship src/lib/server/ai-import.ts so the AI tracker import scripts run in the app image
Deploy production / deploy (push) Successful in 1m13s
2026-10-26 00:01:36 +00:00
stan
3d3f008037
pc tracker: Megekko new build (9950X3D/X870E), dated ordered/leaving badges, future slider
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 23:59:15 +00:00
stan
cf0fec973c
AI tracker: /trackers/ai with public news, owner-only bots and usage; ai schema (news_items, bot_status, usage_entries); idempotent import scripts; preflight ai grants check
Deploy production / deploy (push) Has been cancelled
2026-10-25 23:58:39 +00:00
stan
9b21220280
stats: /stats/history and History, Politics and Culture sections on NL, Gouda, Curaçao, US and KR pages (step 4)
...
Deploy production / deploy (push) Successful in 1m13s
Long-run charts (Maddison, HYDE, UN via OWID; CBS and Pew religion), a filterable
sourced timeline, Wikidata office holders and turnout, Nager.Date holidays, UNESCO
sites, Wikidata people by sitelinks, curated food and cultural exports. Wikidata
labels now fall back to mul.
2026-10-25 23:39:34 +00:00
stan
e0bcd63ce3
deploy preflight: 55 stats tables (step 4 history tables)
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 23:27:46 +00:00
stan
0088e5202e
stats: history and culture collector (step 4): events, offices, people, holidays, UNESCO, religion, long-run series
Deploy production / deploy (push) Failing after 1m0s
2026-10-25 23:25:46 +00:00
stan
fa3aa25f0b
house-scrape: re-check huispedia, huislijn, huurportaal and rentola rows and mark clearly gone ones removed
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 23:14:42 +00:00
stan
241b90d2f9
stats elections: distinct colour for the SP family
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 22:48:55 +00:00
stan
0fe0d36f87
PUBG drop map: live squad map with WebSocket rooms
...
Deploy production / deploy (push) Successful in 1m15s
- server.js wraps Bun.serve to add /ws/<channel> upgrades (same server and port) and
serve the map tiles from the host mount; Dockerfile now runs bun ./server.js
- ws hub (channel registry, origin check) + pubg-map channel: rooms by unguessable
code, validated + rate-limited messages, per-room write queue, presence
- games.pubg_rooms / pubg_matches / pubg_markers; per-match sessions with history
- /trackers/games/pubg/map hub (owner: rooms, landings over time, history) and
/trackers/games/pubg/map/<code> fullscreen Leaflet map (all 11 maps)
- deploy-remote.sh bind-mounts ~/pubg-maps; scripts/build-pubg-tiles.py rebuilds it
2026-10-25 22:46:30 +00:00
stan
d93374bca2
stats step 3 pages: /stats/elections (NL 1918→, turnout, seats, Gouda per polling station, US by state) and /stats/opinions (NL/US/KR polls, Eurobarometer issues and trust, WHR, Google Trends, GDELT themes, CHES and V-Party); nav, cards, sitemap; scatter in the chart wrapper
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 22:44:09 +00:00
stan
e1fcd4f321
stats elections: CBS 37278 percentages to votes; Kiesraad municipal votes and turnout from EML kieskring counts; ballots include blank/invalid
Deploy production / deploy (push) Successful in 1m14s
2026-10-25 22:24:15 +00:00
stan
42c9351ebd
stats step 3: elections, party positions and opinion feeds (schema, collectors, timers); world-opinions data moved into stats.wo_*
Deploy production / deploy (push) Successful in 1m12s
2026-10-25 22:16:25 +00:00
stan
030f3c08ee
PC tracker: Intel AX201 Wi-Fi image
Deploy production / deploy (push) Successful in 1m12s
2026-10-25 21:51:46 +00:00
stan
031ee4baf2
stats §8: Curaçao from ILOSTAT (SDMX), OWID, UN SDG 531, UN Comtrade 531 (cwintl + weekly timer), EU trade with CW (Eurostat ext_lt_maineu); CBS Curaçao LFS file pick fix; Curaçao detail panels on /stats/countries/CUW
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 21:47:06 +00:00
stan
a6b4f9931d
pc: drop shared brand from grouped card label
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 21:39:11 +00:00
stan
ff1520ae8b
stats §8: CBS Curaçao collector (topic-page scrape, sha256 manifest, CPI since 1970 from PDF, GDP by industry, government finance, population since 1900, LFS, tourism) into cw_cbs_* + stats.obs region CUW; cw_cbcs_bop for manual uploads; weekly timer
Deploy production / deploy (push) Has been cancelled
2026-10-25 21:38:30 +00:00
stan
27a15f0428
pc: grouped ×N cards list each item on its own line, shared brand in label
Deploy production / deploy (push) Successful in 1m14s
2026-10-25 21:34:33 +00:00
stan
3c5ef605df
pc: self-hosted images for Samsung 970 EVO 1TB (Windows 11 drive)
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 21:29:03 +00:00
stan
fa58e5c661
stats B11: EP-Online energy labels (monthly total file → homes per label for NL, Gouda, Gouda PC4s; aggregates only), stats.ep_label_agg, monthly timer with key from ~/.config/stats/ep-online.env, charts on /stats/energy and /stats/gouda
Deploy production / deploy (push) Has been cancelled
2026-10-25 21:28:37 +00:00
stan
2a4466cb82
stats: /stats/countries comparison and /stats/countries/[iso3] profiles (Curaçao via World Bank), more WB indicators, Countries + Curaçao cards, nav/sitemap/start links
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 21:22:20 +00:00
stan
d19313035f
stats: Eurostat pre-2007 household energy bands (nrg_pc_204_h/202_h folded into nrg_pc_204/202), stitched on /stats/energy; IMF revenue/spending from Fiscal Monitor codes
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 21:14:50 +00:00
stan
02734607cc
stats: cast jsonb chunk param via text so jsonb_populate_recordset gets an array (step 2 loads)
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 21:12:12 +00:00
stan
8958d3ff8f
stats step 2: World Bank, IMF WEO, OWID, Energy-Charts, Rijksfinanciën, US Treasury, USAspending collectors + tables, timers
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 21:05:51 +00:00
stan
7e905b1651
stats: index neighbour growth from 2016 (after mergers), clearer tariff and levy labels
Deploy production / deploy (push) Successful in 1m9s
2026-10-25 20:56:29 +00:00
stan
76bfb3dcec
stats: /stats overview, economy, energy and Gouda pages; CBS series map; nav, homepage, /start and sitemap links
...
Deploy production / deploy (push) Successful in 1m10s
- CBS_SERIES: CPI, household tariffs (2007-now), energy balance, renewables, heat pumps,
solar, cars, population (monthly, since 1942, components), house prices, housing stock,
municipal levies for Gouda and its neighbours
- shared StatChart/Kpi/chart helpers with per-chart source attribution
- drop Eurostat nrg_pc_20x_h (404; CBS covers that history)
2026-10-25 20:50:47 +00:00
stan
6dcbcfee25
groceries stats: fix array/json params for the app client (live store filter 500), CPI axis, header spacing
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 20:48:00 +00:00
stan
8e35a58095
groceries stats: quote day alias in shrinkflation query
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 20:42:32 +00:00
stan
a6ef263c7e
groceries: stats page with nightly snapshot (battles, basket, promos, CPI, range)
Deploy production / deploy (push) Successful in 1m19s
2026-10-25 20:39:35 +00:00
stan
c4397e9d59
stats: fix role-name quoting in the stats migration grants; add deploy/stats-collector (systemd user timers for CBS, Eurostat, FRED, BIS)
Deploy production / deploy (push) Successful in 1m15s
2026-10-25 20:36:00 +00:00
stan
8ef291f586
stats: new public stats schema (source/series/obs/region/fetch_run + raw CBS, Eurostat, FRED, BIS tables) and the stats collector (scripts/stats-fetch.ts); preflight checks the stats tables
Deploy production / deploy (push) Failing after 54s
2026-10-25 20:27:21 +00:00
stan
902b1cadd5
header: sharper moon logo (112px webp from full-res photo, tight crop); regenerate favicons/app icons with tight moon crop
Deploy production / deploy (push) Successful in 1m12s
2026-10-25 20:26:05 +00:00
stan
3ad13e5828
games: active vs non-active games (games.library.active, owner toggles on the dashboard and each game ⋯ menu; nothing deleted). Header flyout and mobile menu list every game split into active / non-active; /trackers and home tiles show active chips and open both sections on hover; /start shows active with a non-active toggle. Games dashboard moved from /projects/game-tracker to /trackers/games (dashboard of active games only; old URL and /credits 301); deep trackers stay put
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 20:23:15 +00:00
stan
60370d4572
groceries: relevance-ranked search (plain/basic products first)
...
Deploy production / deploy (push) Successful in 1m13s
- search.ts: score on the core name (brand/size stripped): exact or query+base suffix
(kipdij+filet), head-final compounds, prefix, inside; penalties per extra word and per
flavour/processing word (search-words.ts, editable); bonuses for store brands, the
query's dominant category, store count, favourites; trigram tiebreak
- groceries.synonyms table (seeded: kipdij/kippendij, pasta → spaghetti, …) expands queries
- list rows show all pack sizes of a group; group picker uses the same ranking
- scripts/groceries-search-eval.ts prints top results + latency; preflight now 8 tables
2026-10-25 20:20:34 +00:00
stan
5028524537
chore: bump bun to 1.4.4 (CVE-2026-111497)
Deploy production / deploy (push) Successful in 1m24s
2026-10-25 20:08:51 +00:00
stan
27abff569c
start: drag and drop links to reorder within a section or move them to another section (view and edit mode); orderLinks can also change the dragged link's section
Deploy production / deploy (push) Successful in 1m14s
2026-10-25 20:03:54 +00:00
stan
1cfbe6486a
groceries: Action importer (allowed category listings: price, unit price, EAN from image name; food/drinks, personal care, pets, household consumables) + store row
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:40:53 +00:00
stan
0e98acd0a8
groceries: Lidl — search API only public for CDN-cached URLs (401 otherwise); later pages best-effort, off the nightly run
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:31:39 +00:00
stan
e2af941b88
deploy preflight: groceries schema now has 7 tables (categories, manual_prices)
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 19:12:23 +00:00
stan
707f07efd4
groceries: mobile-first tracker redesign — compact rows per product group (cheapest store badge, unit price, spread, promo), tap to compare stores; category tree (23 tops, subcategories, icons/colours) with chips, store tiles, sort and non-food toggle; owner shelf prices (manual source with date, photo, note)
Deploy production / deploy (push) Failing after 1m1s
2026-10-25 19:10:10 +00:00
stan
67d74f39b8
groceries: ALDI importer (category pages SSR Algolia hits, offers; no EANs) + store row
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:04:37 +00:00
stan
cce6ec3f2b
groceries: Vomar importer (public product gateway, EANs; regular prices only) + store row
Deploy production / deploy (push) Successful in 1m21s
2026-10-25 18:57:21 +00:00
stan
1bab96c20d
games: chain the split migration snapshot after hoogvliet; games flyout tooltip shows the full game name
Deploy production / deploy (push) Has been cancelled
2026-10-25 18:57:06 +00:00
stan
e4162d3a78
games: split Call of Duty into one entry per title and Pokémon into one per generation (remakes and spin-offs separate), full names, official logo for each (Steam icons / English logos); data migration moves bo2 status+aliases to black-ops-2; /trackers/games/bo2 and /pokemon redirect; three-column games flyout
Deploy production / deploy (push) Successful in 1m16s
2026-10-25 18:54:50 +00:00
stan
942c436d03
groceries: Hoogvliet importer (sitemap SKUs + storefront GraphQL, EANs, promo labels) + store row; Lidl retries transient CDN 401s
Deploy production / deploy (push) Successful in 1m24s
2026-10-25 18:52:01 +00:00
stan
c897ae3d14
start: live server stats over SSE (1 s): CPU, RAM, net, disk IO with 60 s sparklines, per-container CPU/mem/state; one shared netdata poller that runs only while /start is open (owner-only /start/live)
Deploy production / deploy (push) Successful in 1m29s
2026-10-25 18:49:00 +00:00
stan
ce8b545f60
groceries: Lidl importer (online range), Dirk importer + store row, generic per-store GTIN backfill
Deploy production / deploy (push) Successful in 1m36s
2026-10-25 18:41:12 +00:00
stan
5d3e8d0261
games: official logos for all 16 game trackers (self-hosted, one map in #lib/game-logos) shown by TrackerIcon everywhere games appear; coloured tile stays as fallback; logo credits on the artwork credits page
Deploy production / deploy (push) Successful in 1m24s
2026-10-25 18:35:21 +00:00
stan
eba5f9eda3
start: one-container stacks as a single row (project · service), groups only for multi-container stacks; same memory units in rows and headers
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 17:41:10 +00:00
stan
48ec29beac
start: group Docker containers by compose project (collapsible stacks with running count, health dot, CPU/mem); collector captures compose labels
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 17:38:23 +00:00
stan
3f30bb883f
groceries: add PLUS, Xenos and Amazing Oriental stores, is_food flag, PLUS EAN backfill
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 17:17:53 +00:00
stan
b23f7b3475
docs: prod host is stan-ovh (comments still said stan-vm)
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 17:01:50 +00:00
stan
5a87a079eb
pc setup: hero falls back to the case present on the chosen day; add-ons (tilt pivot) are not counted as extra units in a slot card
Deploy production / deploy (push) Successful in 1m6s
2026-10-25 16:35:30 +00:00
stan
ec4d3fd79e
pc setup: 2017 build (GTX 1070, i7-6700K, B150, HyperX Fury, 212 EVO, 850 EVO + WD Blue, SPEC-01, 650 G1, SickleFlow, AS5) images, Ergotron HX arm images; add-ons sort after their base item in a slot card; SEO says since 2017
Deploy production / deploy (push) Successful in 1m6s
2026-10-25 16:32:28 +00:00
stan
676ac2ad64
trackers: lock icon after owner-only tracker names (header dropdown, mobile menu, home, /trackers, /start, error suggestions) from one locked flag in #lib/projects; drop the private: subtitle prefix
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 16:22:25 +00:00
stan
eff5a24985
pc setup v2: one-screen layout with a time slider, photo grid and lightbox
...
Deploy production / deploy (push) Successful in 1m7s
- hardware: slots, sections, usage, install/removal dates, images and a hidden flag on
components and devices; setup_photos table; setup_overview view gains the new columns
- data: hide the 2021 friends-PC build and the wrong 140mm / unknown fans (kept, not deleted);
7x SL-INF + 3 Kraken stock fans; mice, audio, desk extras; MacBook Pro 16 M2 Pro 1 TB;
dates for every swap so the slider can rebuild the setup on any day
- self-hosted product images in static/hardware (webp + thumbs)
- prices and order details are owner-only (in a popover)
2026-10-25 16:16:38 +00:00
stan
d414e7190e
games ingest: send dates as ISO strings (the app pool uses drizzle's date serializers), pause Leetify on 429 and resume next poll, FACEIT 403 from the server is a skip (history imported by backfill), weekly FACEIT
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 16:15:13 +00:00
stan
0b7509bbbc
money: room under the €0 baseline so it sits clear of the chart edge and small dips below zero show
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 16:11:09 +00:00
stan
772e699655
data holders: private tracker of every organisation holding my address, email, phone or IBAN
...
Deploy production / deploy (push) Has been cancelled
dataholders schema (orgs + identity) with migration and personal_app grants,
idempotent CSV import (upsert on name+login, never wipes, keeps site edits and
ticks), owner-only /trackers/data-holders with search, filters, pagination,
inline edit/add and a moving checklist per identifier
2026-10-25 16:10:24 +00:00
stan
fd4a34b495
money: thick €0 baseline on the wealth charts (all modes) so dips toward zero or below stand out
Deploy production / deploy (push) Successful in 1m8s
2026-10-25 16:06:48 +00:00
stan
80803ef5ac
games: automatic CS2 / PUBG / R6 match history — games.matches, match_players, seasons, snapshots, accounts; in-app poller (Leetify, FACEIT, Steam share codes, PUBG API, Ubisoft) every 20 min plus scripts/games-ingest.ts for backfills; match history, stats, maps and seasons on the per-game pages
Deploy production / deploy (push) Successful in 1m6s
2026-10-25 16:00:48 +00:00