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
stan
9114b5433b
money: archived accounts (accounts.archived) — closed banks stay in history, net worth and charts but leave the quick balances, quick add and account pickers; archived section in the accounts panel; quick add defaults to Revolut
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 15:42:40 +00:00
stan
968ec34ac5
games: collapse non-featured game chips behind +N more; slide-only flyout animation
Deploy production / deploy (push) Successful in 1m9s
2026-10-25 15:25:41 +00:00
stan
d79b73ad83
games: per-game pages, games.library table, games group in header/tiles/start
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 15:20:45 +00:00
stan
037a525f91
spotters: brands, makers and operators with a logo first, activity order kept inside each group
Deploy production / deploy (push) Successful in 1m6s
2026-10-25 15:05:11 +00:00
stan
8045362852
money: left-align accounts list rows (undo Button centring, fixed height and nowrap)
Deploy production / deploy (push) Successful in 1m6s
2026-10-25 15:00:49 +00:00
stan
152880f5ab
spotters: 120 website-icon logos for makers and operators without a free Commons logo
Deploy production / deploy (push) Successful in 1m9s
2026-10-25 14:51:33 +00:00
stan
7aeb31c46a
spotters: stricter logo checks (no photos, plates, insignia or old names; --recheck), planes operator bonus weighted down for historic types, Türkiye for iNat
Deploy production / deploy (push) Successful in 1m9s
2026-10-25 14:44:27 +00:00
stan
3668c9e383
gitignore python bytecode
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 14:24:50 +00:00
stan
4af041719c
start: wider spotting tile, filter narrows spotting chips
Deploy production / deploy (push) Has been cancelled
2026-10-25 14:24:11 +00:00
stan
27987fb8e7
reading: owner archive / restore / delete / merge for books (⋯ menu on cards, rows and detail pages), archived filter, tombstones so merged ids redirect and the ingest never recreates deleted works, books-quarantine.py for deleted files
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 14:22:40 +00:00
stan
8a8ed1642e
start: trackers section mirroring the header dropdown (same order and icons, spotting chips, f filter)
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 14:21:23 +00:00
stan
11fa8ec006
spotters: fix 500 on detail pages of seen items (timestamp comes back as text); logos script uses small separate Wikidata queries
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 14:10:53 +00:00
stan
0f8db8e432
music: fix tooltip and streak spacing, sort genre tooltip, shorter clock cells
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 14:06:43 +00:00
stan
516bc15545
music: Last.fm-style stats with 7d/30d/1y/all ranges and genres
...
Deploy production / deploy (push) Successful in 1m14s
- Range picker (?range=7d|30d|1y|all) drives every section; the hours chart
covers the whole range (daily for 7d/30d, weekly for 1y, monthly for all).
- Genres from Last.fm artist top tags (music.artist_tags, normalised and
filtered), split by artist listening time, with a per-bucket stacked chart.
- Listening clock, new artists, comparison with the previous period and top
movers, streaks, milestones, top albums with art, rank changes.
- music.play_facts materialized view (refreshed by the app when plays arrive)
plus a per-range cache keep the page fast.
- scripts/music-fetch-tags.ts backfills tags, most-played artists first.
2026-10-25 14:03:39 +00:00
stan
5e4cd83748
spotters: logo coverage script (Wikidata logo/icon, multi-language infobox, website icon fallback), cheaper planes operator queries, refresh adds logos for new orgs
Deploy production / deploy (push) Successful in 1m9s
2026-10-25 13:54:27 +00:00
stan
7d6cee26a8
house tracker: contact status per listing (whose turn, last message, viewing) and labelled filters
Deploy production / deploy (push) Has been cancelled
2026-10-25 13:53:33 +00:00