Back
Ivan Morgillo
π Daily Standup β 2026-10-26
#apptoolspublic
β’ app-tools 0.29.0 released as its first public version
#bedtimestories
β’ Paywall shows the auto-renew terms and legal links, and no longer promises a one-tap trial cancel
β’ Free tier: after the free story, an ad unlocks one more short story (3 a week)
β’ AdMob is back, behind consent and ATT, with fixes to the ad flow
β’ Analytics: paywall views and onboarding completion are logged; RevenueCat customers get a build tag
β’ Privacy page and store answers now say the free tier has ads
β’ Android build 1218 recorded
#blackjacktrainer
β’ Ads: an offline device loads at most one ad per 30 s after three network failures, with new tests
#emnclinicalbudgeting
β’ Backup tool no longer trusts two revoked certificate roots
#feedbackhub
β’ Backup tool no longer trusts two revoked certificate roots
#citydeals
β’ Added the Flutter app, with format checks and CI gating
β’ Push delivery: no duplicate pushes or Telegram posts, and no lost rows
β’ Translations and the public app API added
β’ OpenRouter calls moved to GLM 5.3, routed to Mistral's EU endpoint
β’ Links explain failures, the language menu follows the phone, and screen readers read offers
β’ Backup tool no longer trusts two revoked certificate roots
#giftit
β’ Backup tool no longer trusts two revoked certificate roots
#kindlegratis
β’ Scraper fixes: keeps the zero-free rule for targeted scrapes, and handles shelves with no free books
#smartpantry
β’ Play internal build 2137
β’ Plus paywall rebuilt to the growth checklist, with store trial mapping and paywall events logged
β’ French renewal lines use "vous"
β’ Backup trust store now refuses truncated bundles and checks certificates by fingerprint
β’ Backup tool no longer trusts two revoked certificate roots
β’ iOS Podfile.lock committed
#streakup
β’ Account screens: clearer signed-out screen, a sign-out dialog that explains next steps, two-step confirmation for abandoning a long history, and German text fixed
#remozio
β’ Local gate test covers the pairing peer check
#rustrakdeploy
β’ Backup tool no longer trusts two revoked certificate roots
#3thingsaday
β’ Paywall: renewal terms, legal links, and a close button from the first frame, tested on a small phone
#tinderfordogs
β’ Backup tool no longer trusts two revoked certificate roots
#twonotes
β’ iOS build 8.0.0 sent to TestFlight, with updated App Store notes
β’ Paywall checklist release: Pro offered after a counted miss, extra life without video, no-ads offer, and GA4 paywall counting
β’ Results screen fixes after review
Total: 15 projects with activity yesterday.
π Daily Standup β 2026-10-25
#aiwallpapers
β’ Backend dependency fixes applied; Cloud Functions moved to Node 22
#citydeals
β’ Ruby 3.4.12, CA certificate guard in the image, crass 1.0.8
#giftit
β’ Ruby 3.4.12, CA bundle guard in the image, crass 1.0.8
#ludusmagnus
β’ DejaVu fonts installed for PDF output
β’ crass 1.0.8 fixes a CSS sanitizer bypass
#mygoo
β’ Android versionCode 1763 recorded for Play production
β’ iOS build 1755 (2026.10.24) sent to TestFlight
β’ Link retries catch ArgumentError; iOS no longer crashes when Safari View Controller cannot open a link
β’ Four tests no longer depend on the daylight-saving change
β’ Recipe images now use gpt-image-2, because gpt-image-1 is shut down
#smartpantry
β’ Android build 2136
β’ iOS build 41 (41.0.0) sent to TestFlight
β’ crass 1.0.8
#streakup
β’ Backend entry script and backup accessory fixed for distrusted CA roots
β’ Cloud Functions run on Node 22, with non-breaking audit fixes
β’ Ruby 3.4.12, CA certificate guard, crass 1.0.8
#randomevents
β’ Ruby 3.4.12 on trixie, with CA fix guard
β’ crass 1.0.8 and brakeman 8.1.0; bin/ci is green again
#remozio
β’ Linux pairing TLS adapter added (software keys)
β’ Stricter TLS handling: deadlines honored, cancel before I/O, certificates with unreadable validity rejected, NULL outputs guarded
#swimminglane
β’ Cloud Functions run on Node 22
β’ Production audit criticals fixed
β’ Agent docs updated for Node 22
#3thingsaday
β’ Cloud Functions run on Node 22, lockfile engines entry matched
#tinderfordogs
β’ Ruby 3.4.12, CA certificate guard, crass 1.0.8
14 projects updated yesterday.
π Daily Standup β 2026-10-24
#kindlegratis
β’ Cloud Functions now run on Node 22.
#ludusmagnus
β’ The Docker image now uses Debian 13 (trixie).
β’ The image refuses the eMudhra root certificate.
β’ A real page converts correctly as user 1000.
β’ Ruby moved to 3.4.12.
#mygoo
β’ The certificate check now runs as its own Docker step and checks versions and root files.
#smartpantry
β’ The API runs on Ruby 3.4.12.
β’ The image build fails if the emSign ECC Root CA - G3 is still trusted.
β’ ca-certificates is installed explicitly to remove the compromised emSign root.
4 projects updated yesterday.
π Daily Standup β 2026-10-23
#mygoo
β’ Overflow tests now check the last page.
β’ An admin page past the end shows the last page, not an error.
#smartpantry
β’ Gemini returns structured JSON for the expiry and recipe calls.
β’ The RevenueCat Test Store key stays out of release builds, with a source check (#1442).
β’ Recipe saves and pantry creation now time out after 15 s. A hung save still shows the paid recipe (#1367).
β’ Rewarded ads: one consent-checked path, requested near the wall, one request at a time. Late answers no longer reach a newer ad.
β’ Added tests for the ad start, recipe wait, and scan trigger paths.
β’ Builds: Android 2134 and 2135 to Play internal, iOS 40 (40.0.0) to TestFlight.
#showmethemoney
β’ The deck README explains how it deploys to Cloudflare Pages at showmethemoney-2026.pages.dev.
β’ Relay count: 1,750 pull requests on 22 October.
β’ Figures for 22 October: 3 Things a Day has 7 subscriptions and β¬22 MRR. Smart Pantry Plus has 4 sales (β¬74), including the third yearly sale on 20 October.
3 projects today.
π Daily Standup β 2026-10-22
#citydeals
β’ Moved the web scanner and the duplicate judge to Gemini 3.5 Flash Lite.
#kindlegratis
β’ The API now stops busy retries at the deadline. Contribution detail waits out the daily VACUUM lock instead of failing.
β’ The scraper scans every second and never saves a group without its leader. It keeps Chrome groups per child, and it cleans up leftover Chrome when a scrape is killed.
#ludusmagnus
β’ Fixed the container rule, the access link retry, and the iOS heading.
β’ Updated the Flutter docs, the design system guide (Electric + Volt theme), and the mobile API endpoint docs.
β’ Recorded the October decisions in llm-context.md.
#mygoo
β’ Recorded Play production versionCode 1762. Sent iOS build 1754 (2026.10.21) to TestFlight.
β’ Wallet and phone-save errors now show once, from the listener. The page has a working RETRY. A failed wallet load shows the error page, not the register screen.
#smartpantry
β’ Items can move to another pantry, both from the API and from the item sheet. Maestro flow 13 covers it.
β’ The item sheet scrolls on short screens. Regenerating an invite code sends the shown code.
β’ A provider refusal in AI now returns 503 and gives the slot back.
β’ /health caches the Open Food Facts check for 60 seconds and runs one refresh at a time.
β’ Barcode scans are normalized before lookup. Products are found under any zero-padded GTIN form.
β’ Each user's time zone is now stored for expiry's "today."
5 projects updated.
π Daily Standup β 2026-10-21
#apppromoreel
β’ Sound scoring now reads the finish report, because a model cannot hear the mix.
#bedtimestories
β’ Recorded Android build 1217.
β’ The paywall leaves room above the fold on every build host.
#kindlegratis
β’ The footer year now follows the build year, not a fixed 2026.
#ludusmagnus
β’ Android 20 release notes recorded. Android 20 and iOS 19 built with the access link and the session expiry fix.
β’ Session expiry: the notice shows once per expiry. A rejected refresh sends the member to login with a "session expired" message. Open screens close when the session ends. Old snackbars clear first.
β’ Access link: attempt IDs now bind each request. The rate limit uses a capped key. A closed screen or a newer session wins over a late answer. A link that switches the member builds a new app tree. An iOS app banner was added.
β’ Login, access link and logout now run one at a time.
β’ Foreign phone numbers stay as typed. The backfill write is now conditional.
β’ The WhatsApp hand-off is refused when the send would fail.
β’ Staff copy no longer says that ending a membership fixes a shared number.
β’ New tests cover the late profile, the no-answer refresh, the spent notice and the rate limit.
#mygoo
β’ Public company reports need a token.
β’ Role tests cover more admin-only actions. A manual merge test ran.
#smartpantry
β’ Barcode scanner prefixes are stripped. Non-digit codes no longer go to Open Food Facts.
#streakup
β’ iOS build 47 (47) went to TestFlight. Android build 57 recorded.
#showmethemoney
β’ Bedtime weekly plan is listed first. On Android 1217, the plan rows were below the fold before.
β’ App Store prices and trials for Bedtime recorded.
β’ Repository count wording now says "more than fifty". The count is 58.
Total: 8 projects.
π Daily Standup β 2026-10-20
#bedtimestories
β’ Paywall now shows all three plans on the first screen.
β’ Savings tag no longer overlaps the yearly label at large text.
β’ Italian and Spanish homepage snippets now use the search queries they rank for.
#blackjacktrainer
β’ iOS build 40 went to TestFlight. Android build 39 went to the Play internal track.
β’ Feedback posts retry after an account switch.
β’ Account merge email now arrives before the sheet finishes.
β’ Weekly dependency update: 9 packages.
#citydeals
β’ The silent-channel alert now says when the next post is due.
#kindlegratis
β’ Evergreen "most often on our free lists" pages are live for Italian and German, with monthly rebuilds and tests.
β’ Each book now shows how many days it spent on the free lists.
β’ Share-with-a-friend unlock added to the VIP dialog. Rules and remote settings are off by default.
β’ Share-with-a-friend tracking fixes, including the referrer and the clock edge cases.
β’ Privacy policy is linked from Settings.
β’ Home pages no longer carry rating markup.
β’ Android build 2158 is claimed for Play.
#ludusmagnus
β’ Members get an access link from staff. It opens the app on iOS and Android.
β’ Shared phone numbers are flagged on a new "Numeri duplicati" page.
β’ Gym opening hours now handle past-midnight, 24-hour and split schedules.
β’ Gym address, contacts and hours show on the Profile screen, and the owner can edit them.
β’ Android builds 18 and 19 went to Play internal. iOS builds 17 and 18 went to TestFlight.
β’ Athletes see exercise volume on the Me screen, which replaces the Today tab.
β’ Weight field steps by 1 kg and speeds up when held.
#mygoo
β’ Gift cards allow one card per 30 days, checked under the wallet lock.
β’ Deleting a wallet transaction now undoes it.
β’ Missed-reward corrections award the GOOX.
β’ Daily game failures log their reason and send it with the preflight alert.
β’ The Vinci Buoni Amazon page is removed, with no redirect.
#smartpantry
β’ Android build 2133 went to Play internal. iOS build 38 went to TestFlight.
β’ The free daily AI limit changed from 20 to 10 calls.
β’ Plus users get higher AI limits. A refused call gives its daily slot back.
β’ The app tells users to wait for the purchase webhook before they retry at a limit.
β’ Each Gemini call now has a cost cap.
β’ Daily report shows AI calls and their list-price cost.
β’ App Open ads show once a day, cold or warm.
β’ Home and German search snippets now use the queries they rank for.
#streakup
β’ Restored a Firebase setup so iOS keeps signed-in users.
β’ Updated the Firebase iOS SDK and the Android build tools.
β’ English push-ups and squats snippets now use the queries they rank for.
β’ Weekly dependency update: 84 packages.
#remozio
β’ The iOS app has a native design, an app icon, and the Add computer flow.
β’ Buttons grow with the text size. The Computers screen scrolls.
β’ iOS tests and the iOS build now run in CI.
β’ A development tool creates invitations for phone import tests.
β’ Work in progress: splitting the protocol library for multiplatform builds.
#showmethemoney
β’ Bedtime yearly price in Italy is β¬34.99, not β¬29.99. The deck now says so.
β’ Refreshed RevenueCat, AdMob and GA4 figures, with corrected show-rate requests.
β’ App Open rule matches on both slides: once a day, cold or warm.
β’ First Android sale of Smart Pantry Plus is counted.
#3thingsaday
β’ iOS build 56 went to TestFlight. Android build 139 went to Play, with release notes in 12 languages.
β’ Widgets now roll to the next day at midnight, even when the app is closed, on iOS and Android.
β’ Widgets push tomorrow's slate and the start of the next six days.
#twonotes
β’ iOS build 7 (7.0.0) went to TestFlight. The feedback release is version 7.
β’ End-to-end tests hide the keyboard on iOS only.
β’ Pre-push hook was re-copied from app-tools.
12 projects today.
π Daily Standup β 2026-10-19
#apppromoreel
β’ Split the promo reel review into author steps and reviewer steps. A fresh agent now does the critique.
#bedtimestories
β’ Built iOS 44 for TestFlight.
β’ App Check starts right after Firebase, and real errors log once per launch.
#designkb
β’ Added a header image, badges and sections to the README.
β’ Fixed review findings and added motion samples and defect notes.
#feedbackhub
β’ Paywall recovery and board creation now check the erase barrier. A replay under another account returns a 409.
β’ Added tests for board modes and paywall recovery.
#citydeals
β’ The silent-channel check reports every failing channel to Sentry and keeps going past a broken one. It alerts when a channel stops posting.
β’ Fixed Telegram message formatting, show matching, and the event publish order.
β’ Updated the queue library to 1.7.0 and checked the queue schema.
β’ Forged client IP requests no longer reach Sentry.
#headroomkindle
β’ Added a pre-push check for formatting, linting and tests.
β’ The Grok login now refreshes before each render.
#kindlegratis
β’ Fixed storage: pending erases run off the main thread and always clean up.
#ludusmagnus
β’ iOS signing now uses the App Attest profile.
#memeswap
β’ Built the video pipeline: ingest, analysis, consent gate, face swap backend, AI-labelled export, and a render command.
β’ Fixed review findings in ingest, crops and cut handling.
#mygoo
β’ The Community tab shows weather and horoscope cards at the bottom. The leaderboard now loads first.
β’ Account deletion now finishes even if its result was lost. The account stays when backend deletion fails.
β’ Android build 1760 went to production. Build 1761 went to Play internal. iOS build 1752 went to TestFlight.
#smartpantry
β’ Added the LTV ledger, which tracks each account's AI cost and revenue.
β’ Fixed the push key line breaks lost in the deploy env file.
β’ iOS build 37 went to TestFlight. Android builds 2131 and 2132 went to Play internal.
#streakup
β’ Paywall: non-buyers can now say why, privately. Closing the paywall no longer leaves screens behind.
β’ Crash reports carry the user ID, not the email.
β’ Builds: iOS 46 went to TestFlight. Android 55 and 56 were recorded.
#rustrakdeploy
β’ Deployed Rustrak with Kamal. Backups go to R2, telemetry is off, and the image is pinned.
#3thingsaday
β’ Paywall feedback: a new link and sheet, in 13 languages. It is off by default until switched on.
β’ Account deletion waits for a paywall answer still in transit.
β’ The feedback client moved to 0.1.11.
#twonotes
β’ Added "Not getting Pro? Tell me why" to the paywall. Consent now fails closed, and ads never wait on analytics.
β’ Firebase starts at launch for Remote Config. GA4 runs only with consent.
#valledisuessola
β’ Fixed the canonical and social image URLs on the site.
β’ The ad box no longer shows a phone number or address.
16 projects changed yesterday.
π Daily Standup β 2026-10-18
#bedtimestories
β’ Released Android build 1216.
β’ Feedback uses the pinned client 0.1.10 and says when a post left the board.
#blackjacktrainer
β’ French build notes use the same Settings screen name as the app.
β’ Android build 38 went to the Play internal track.
β’ iOS build 39 (39.0.0) went to TestFlight.
β’ Feedback uses client 0.1.10. A failed feedback erase keeps its record, so the record cannot be lost.
#feedbackhub
β’ Paywall rollback is safer. It logs quietly, deletes row by row, keeps a backup, and checks the backup before any delete.
β’ The rollback deletes only the ids in the backup, in one transaction.
β’ Guest paywall erase has its own route, so an older hub cannot run the full erase.
β’ The Flutter client gained submitPaywall and deleteGuestPaywallData (0.1.11).
β’ Private paywall answers are handled in every tenant and can be exported for growth.
β’ Users now see "a post left the board" instead of "try again".
#kindlegratis
β’ Account deletion finishes even when the user leaves Settings.
β’ Deleting an account also erases that install's feedback.
β’ A Canadian French phone opens Amazon.ca.
β’ The feedback client moved to 0.1.10.
β’ The scraper retries an incomplete top-100 list once.
#ludusmagnus
β’ The privacy text and the data inventory now name reports and moderation.
β’ The moderated feedback board moved to client 0.1.9.
#mygoo
β’ Daily slot generation retries one hour before the window. An alert fires only if the retry also fails.
#smartpantry
β’ Token counts now include cached input. Tokens are measured per day and per endpoint.
β’ A product in the catalog now wins over a remembered entry.
β’ Barcodes that Open Food Facts does not know are remembered per household.
β’ A barcode the scan did not find goes to manual entry, with the reason.
β’ Manual entry scans the expiry date with the in-app camera and blocks double taps.
#streakup
β’ A stuck list write no longer holds the forget call.
β’ Feedback client 0.1.10 says when a post left the board.
β’ iOS reports to a new Firebase app and signs with App Attest.
#showmethemoney
β’ The experiments slide has its first answer: 2 yearly Smart Pantry Plus.
#twonotes
β’ The pre-push template passes the pushed refs to bin/ci.
β’ Feedback client 0.1.10 is pinned.
β’ The end-to-end feedback fake is moderated, like the hub.
Ten projects had activity yesterday.
π Daily Standup β 2026-10-17
#apppromoreel
β’ Reel template ships 9 CC0 sound effects and copies them into each new reel.
β’ A missing sound pack no longer crashes. A silent file now fails.
#bedtimestories
β’ Replaced the Google Form with an in-app feedback board, with report, thank-you, and retry on failed loads.
β’ Account deletion now erases the parent's feedback data. A daily job fails while an erase is still owed.
β’ Privacy and deletion pages disclose the feedback board.
β’ Fixed the feedback input row at large text sizes.
#blackjacktrainer
β’ Settings opens the feedback board instead of the Google Form.
β’ Account deletion also erases the user's feedback posts and votes. A stuck feedback hub no longer blocks deletion.
β’ iOS build 38 (38.0.0) sent to TestFlight. Android build 37 on the Play internal track.
β’ Fixed App Open ad stalls and crashes. The cold-start ad now shows only behind a loading cover.
#designkb
β’ Fixed claims the review found wrong against the source.
β’ Added Chris Sinco's M3 Expressive vibe samples.
#feedbackhub
β’ Added board modes: public, moderated, and private. Private boards return a plain 404.
β’ feedback_client 0.1.9 released: report a post, thank the poster, retry failed loads.
#citydeals
β’ Held solid_queue below 1.7 until its queue migration ships. Other gems updated.
β’ Published events can no longer be deleted from the editorial UI.
β’ Rejected or superseded events past their window can no longer be restored.
#kindlegratis
β’ Added "Send feedback" in Settings, next to the Play Store rating link.
β’ Removed unsourced site claims, including "within minutes", hourly price checks, and review quotes.
β’ Fixed the English home page canonical and hreflang. Removed /en/ from the sitemap.
#ludusmagnus
β’ Removed Firebase Analytics. Crashlytics stays. Podfile.lock regenerated to match.
β’ Added the feedback board to Profile, with bounded requests.
β’ Gym owners can delete a former member's account.
β’ iOS build 16 (16.0.0) sent to TestFlight. Android build 17 recorded.
#mygoo
β’ The app now sends report events and game end reasons to the backend.
β’ Admin report reads started and completed games from the database.
β’ Hourly report warmup moved to minute 20, away from push peaks.
β’ Retired the PostHog affinity refresh and the old brand metrics jobs.
#smartpantry
β’ Settings > Send feedback opens the in-app feedback board behind a flag, off by default.
β’ Cold-start App Open ad shows on every launch, on the startup spinner.
β’ iOS declares App Attest. iOS build 35 (35.0.0) sent to TestFlight. Android build 2130 on Play internal.
β’ Stabilized the manual-add Maestro flow.
#showmethemoney
β’ Added npm run transcript, which puts every word of a recorded rehearsal on its slide.
#3thingsaday
β’ Replaced the public feedback board with a private form, behind its own flag, in the Me tab.
β’ iOS build 55 (55.0.0) sent to TestFlight. Android build 138 recorded.
#twonotes
β’ Added a feedback board to Settings, backed by feedback-hub.
β’ Store rating prompt now appears after a won duel or a new band.
β’ Cleaned up the App Store subtitle and keywords.
β’ iOS build 6 recorded. Version 6 set for the store-search release.
#streakup
β’ Added "Send feedback" in Profile. Account deletion now erases feedback data.
β’ Fixed erasure gaps: the account ID is kept until its erasure is recorded, and a refused deletion erases no feedback.
β’ Remote Config switch for the feedback board.
#valledisuessola
β’ Started the newspaper site: latest front page, PDF archive, and cookieless counters.
β’ Redesigned the home page around the printed paper's identity. Added an advertising contact box.
β’ Added /statistiche behind Cloudflare Access. Only the owner can log in.
β’ Data-center traffic is excluded from sponsor numbers.
15 projects had activity yesterday.
π Daily Standup β 2026-10-16
#bedtimestories
β’ Recorded the settled store privacy answers. The child's name question stays open.
β’ Added analytics funnel checks to the test run.
#blackjacktrainer
β’ Added a calculator that gives the chart's move for two cards. Tests check it against the app and every chart on the site.
β’ Fixed the calculator review points: even money, one credit per hand, and a chart caveat.
β’ Fixed the home page, the generated pages, llms.txt, and the strategy pages so they say what the app does. The strategy pages now link both stores.
β’ Fixed the insurance page App Store link, the home Play campaign, and the page dates.
β’ Added tests that pin the home page FAQ, feature facts, and the blog box.
#designkb
β’ Bootstrapped the design knowledge base repo, with its layout and a design-skills router.
β’ Added an index builder with a YAML parser, a check mode, and tests. It generates INDEX.md for the first two notes.
β’ Added a pre-push gate: lint, format check, tests, and index check. The README documents the one-time hooks setup.
β’ Added an AI-website tells checkup and a label-value pattern for numbers in the UI.
#kindlegratis
β’ Removed every claim of a 3.5-star filter. The lists have no rating filter.
β’ Each hub now opens with its own data. The hub intro names the true top-rated book.
β’ The author byline links to the blog without a redirect.
β’ Logged the go-live of the PR #210 fact fixes.
#ludusmagnus
β’ Built iOS 15 (15.0.0) for TestFlight. Recorded iOS build 14 and Android build 16, with Play release notes.
β’ Moved the total volume and session counts to the server, over all sessions. Versioned the dashboard cache key.
β’ Personal bests now compute in one service. The active session shows the current exercise's personal best.
β’ Fixed several bugs: an admin with no gym returns to the list, heavier sets from another gym stay out of records, and an older load can no longer undo a created session.
β’ Documented what the mobile app stores and tracks. Marked the Apple "not linked" rows for review.
#mygoo
β’ Built time-to-CTA reports from PostHog. Raw events are read with HogQL and keyset paging.
β’ Clicks are paired in PostHog, one row per click. They are stored and pulled daily as a delta.
β’ The admin report now reads the stored clicks. The pull is safe under concurrency.
β’ Bumped the admin report schema to 5 to rebuild the data.
#smartpantry
β’ Camera: one in-app camera for the expiry date. The barcode frame is larger, with 2x zoom and no locked focus on iOS. The label-photo button stays off during a save.
β’ Home screen: the add button no longer covers the last item. Date pickers no longer fail on past or year-end dates. Errors for list loads and item actions are readable.
β’ Time zones: the app sends the phone's time zone with each API call. The API judges "today" in that zone.
β’ Production exceptions in Rails now go to Sentry.
β’ Corrected dates bring expired items back. Added the Korean word for pantry.
β’ Fixed several tests so they check the right screen and the right state.
#streakup
β’ Recorded Android build 54.
#3thingsaday
β’ Wrote the build 138 release notes in all 12 Play locales.
β’ The purchase button keeps its height while a purchase runs.
β’ Plan taps are checked in both directions in 4h tests.
β’ Fixed the device cleanup order in the test script.
9 projects today.
π Daily Standup β 2026-10-15
#apppromoreel
β’ Added ruff lint and format checks to bin/ci, with ruff pinned to 0.17.0
β’ Added tests for the ruff guard and the pin scan, and fixed the review nits
#bedtimestories
β’ Fixed subscription login edge cases and the start tracker tests
β’ Fixed campaign tracking on the website and the link checker
β’ Every store badge now carries a campaign token
#blackjacktrainer
β’ Added an insurance strategy page and an exact EV calculator for the strategy pages
β’ Fixed simulator and strategy rules: insurance, H17, natural payouts, and hard 11 vs Ace
β’ The app asks for a store rating after a newly completed lesson
β’ Added an English subtitle and keywords for US App Store search
#citydeals
β’ The scanner retries its LLM call once on a transient OpenRouter failure
β’ CI now runs bin/ci on GitHub for every PR and every push to main
#kindlegratis
β’ The app description now matches the app and counts 13 stores
#ludusmagnus
β’ Athletes can delete their own training sessions in the app and on the web
β’ Fixed session screens: dialog taps, screen reader delete buttons, and failed reloads
β’ Added a Maestro flow for deleting a session with no exercises
#mygoo
β’ Added tests for the public copy refresh
β’ The export scrub runs 12x faster, with the same output
#smartpantry
β’ Pantry dialogs now say "Create" and "Rename"
β’ Fixed "Mark as opened" dates and expiry edits on opened items
β’ Recipe generation no longer starts after a failed load of saved recipes
β’ Fixed Maestro flow 10
#streakup
β’ Fixed the account-link flow: login takeover on Android, collision handling, and token handling
β’ Removed ten unused old images and added the current app screenshots (build 53)
#showmethemoney
β’ Rewrote the scripts after the first full rehearsal, to fit the 40-minute slot
β’ Act dividers are now playing cards, in the DevFest Venezia theme
β’ Added a rehearsal mode with a pacing timer and a per-slide timing report
#3thingsaday
β’ Added a landscape paywall flow to Lane A on Android
β’ Plan cards and the paywall now fit large fonts and landscape
β’ Fixed the Monthly steps of the paywall flow
11 projects moved forward yesterday.
π Daily Standup β 2026-10-14
#apppromoreel
β’ Expanded the README with the reel list, a What's new section, and the skill's Bedtime Stories samples.
β’ Moved the AI-generated label to the bottom-left corner.
#bedtimestories
β’ Fixed the subscription marker so a clear only removes the caller's marker, with a test.
β’ Fixed the Ahrefs meta description and social tags on the website.
β’ Recorded Android build 1214.
#headroomkindle
β’ Licensed the code under MIT and added the font's OFL license.
β’ Updated the README header, badges, and badge links.
#kindlegratis
β’ Every install now checks the Play Store. The Play country decides the result, and the US flag no longer reads false by accident.
β’ Declared the Play Store package query in the app manifest.
β’ Added inLanguage to the home pages' structured data.
β’ Claimed versionCode 2156.
#mygoo
β’ Removed prize wording from public text across the site, blog, B2B report, social cards, and Play listing.
β’ Defined one shared list of banned words for public text.
β’ Moved the Cloud Functions to Node.js 22.
β’ Formatted 10 Dart files that had drifted.
#newermeutikadotcom
β’ Added a build script that assembles the public site in _site/. Only that folder deploys to GitHub Pages.
β’ Tests now run against the assembled site.
β’ Removed the pricing section from mygoofun.html, with a test to keep it out.
β’ The reference check now fails when a source file is not published.
#smartpantry
β’ The pantry screen shows readable errors for every action.
β’ Joining a pantry shows clear messages and times out after 15 seconds. "Already a member" counts as a join.
β’ The pantry sheet no longer stays closed when a request hangs.
β’ Fixed the Terms of Use README and made two Rails tests independent of the clock.
#swimminglane
β’ Added fixture tests for the site meta check, and the check runs in CI.
β’ Added Open Graph and Twitter tags to the delete-account page.
#3thingsaday
β’ The trial end date shows on short screens.
β’ Added 35 strings in 13 languages, and localized the nudges and channel names.
β’ Sign-out now signs out of Google first and Firebase last.
β’ Added tests for nudge language and channel names, and CI checks for English text and store links.
β’ Added a TikTok link page to the site.
9 projects had activity yesterday.
π Daily Standup β 2026-10-13
#bedtimestories
β’ Shipped iOS build 42 to TestFlight.
β’ Fixed a paywall bug: closing during the marker clear no longer logs a second dismissal.
β’ Updated the site to the new App Store name, "Bedtime Stories AI Storyteller."
#blackjacktrainer
β’ Recorded Android build 36 on the Play internal track, with store notes in eight languages.
β’ Shipped iOS build 37 to TestFlight.
β’ Added a test for a kill-switch drop that leaves the kind unspent.
#headroomkindle
β’ The dashboard is now one Rust binary that fetches, renders and draws on the Kindle.
β’ Turned the layout for the Kindle's long side and saved it as 8-bit grayscale so the Kindle draws it whole.
β’ Tiles show "updated HH:MM" in bold, larger text. They are white unless low. The footer is gone.
β’ The dashboard shows real AI quota for Claude, Codex, Z.AI and Grok.
β’ Uploads go through cat instead of SFTP.
β’ Documented the Kindle reverse engineering, the SSH pipeline, the landscape layout and the credits.
#ludusmagnus
β’ Active sessions now end with the word "Fine", not a flag icon.
#mygoo
β’ The Colazione push now goes out at 08:00, with a migration for the live row.
β’ Fixed training: purgeUser now drops in-flight replies and keeps another account's round.
β’ Fixed home: sign out only when the backend explicitly refuses the profile.
β’ Closed four test coverage gaps from review. Lint passes again.
#smartpantry
β’ Bounded leave, delete and regenerate invite with the shared timeout.
#3thingsaday
β’ Shipped iOS build 54 to TestFlight and Android build 137, with release notes in 12 Play locales.
β’ Reworked widget sync: single-flight drain, completions dated by the tap, and streak checks wait for past days.
β’ Fixed the gate and candidate logic for zone loads, reopens, and stale slates.
β’ Named the app in the German resume line and archived pinned tasks dated before today.
8 projects had activity yesterday.
π Daily Standup β 2026-10-12
#apppromoreel
β’ Promo reel checks now catch more errors, including wrong frame rates.
β’ Frame rate is set per project and passed to the render.
β’ Seekability and shot list checks no longer give false passes.
#bedtimestories
β’ A paywall dismissal is logged once, even after a purchase or restore on the page.
β’ The story page owns and closes its own subscription object.
β’ Saved stories no longer create a new subscription object for each story opened.
β’ Android build 1213 recorded.
#blackjacktrainer
β’ Reminder fixes: late slots drop on the right day, and a failed permission check no longer counts as granted.
β’ Trainer offers a matching lesson after repeated mistakes, with tests and docs.
β’ iOS build 36 sent to TestFlight. Android build 35 recorded.
#kindlegratis
β’ Scraper no longer shrinks the shelf when the top 100 page is empty.
β’ Empty-parse reports now show real attempts and real ASINs.
β’ More tests for the shelf and incomplete-warning paths.
#ludusmagnus
β’ Android secure storage files are kept out of backups.
β’ Unreadable secure storage now counts as no session, not a crash.
#mempalaceremote
β’ New cloudflare-access auth mode.
β’ Health checks share one backend probe. Startup key fetch has a time bound.
β’ More tests for key rotation and access modes.
#mygoo
β’ iOS build 1751 sent to TestFlight.
β’ Android build 1759 recorded as shipped to production.
β’ iOS notification crash fixed by updating the Firebase messaging package.
#smartpantry
β’ Failed product image loads no longer report to Crashlytics.
β’ Users now see a message when an item or pantry action fails.
β’ A failed recent-products load no longer looks like a failed save.
#streakup
β’ Backend Supabase handover fixed. Errors log by code, and no body text is copied.
β’ iOS builds 44 and 45 sent to TestFlight. Android builds 52 and 53 accepted by Play internal.
β’ Today screen: a drag on the calendar now scrolls the page.
β’ Website: Spanish FAQ grammar fixed. Pages no longer promise "no subscription" or "no paywall".
#3thingsaday
β’ Maestro tests now cover the paywall-first Future and Journal tabs.
β’ Planner reads planned tasks from the local task store.
β’ Firestore package upgraded to fix a transaction double-completion bug (#1342).
Total: 10 projects.
π Daily Standup β 2026-10-11
#bedtimestories
β’ Fixed purchase and subscription bugs that ran after the paywall closed (card 1335). Added tests for them.
#blackjacktrainer
β’ Built the daily reminder as local notifications. It re-arms from the trainer screen, and only one reminder fires per day. Added tests for account changes and re-arm triggers.
β’ Tracking checks now fail when a logged event has no doc (Fizzy #1301). Documented the 28 events that had none. Closed the review findings on #132.
β’ The Maestro gate now refuses non-English devices (Fizzy #1245). Fixed how failed and null locale reads are handled.
β’ Fixed grading for Ds hands, where Double is the right answer.
#mygoo
β’ The daily push now shows as a visible alert on iOS and carries an analytics label. Push events log both received and opened.
β’ The notifications card asks for permission and pays 1000 GOOX. Added an end-to-end flow for the denied case.
β’ Fixed the daily slot seed so it runs on later days.
#smartpantry
β’ App Store config now has legal links in every description and no release notes (#1330).
#streakup
β’ Fixed the profile delete copy, which promised more than the delete does.
#showmethemoney
β’ Put digits in the last spelled-out headlines. Gave the VIP test its own chapter.
#3thingsaday
β’ Kept the iOS 51 facts with 51 and removed two unverified claims. Recorded the store copy now live after iOS 53.
7 projects had activity yesterday.
π Daily Standup β 2026-10-10
#apppromoreel
β’ The AI-label check now fails when the label's ancestors animate, whether by tween, CSS animation, or transform.
β’ A fade of the whole reel now counts too.
β’ The check tool exits with an error code on a failing page.
#blackjacktrainer
β’ Reset Stats works in full now. It clears the weak-hand pool at once, closes the Statistics dialog, and saves the reset so it survives the next launch.
β’ A reload that starts before a reset can no longer refill the weak pool.
β’ Weak-hand picks skip the last 3 hands.
β’ Lesson cards parse J, Q and K correctly and get their own suits. A fourth player card now raises an error instead of reusing a suit.
β’ Card faces show J, Q and K, not "10".
β’ Tests are stricter: no fixed waits, and tighter bounds on the stats.
#kindlegratis
β’ Release version code 2155 is claimed.
β’ Genres now show during onboarding, without waiting for sign-in.
#mygoo
β’ Backend functions hide sensitive data in their error logs. The dry run and the Rails claim now time out, and the handler has tests.
β’ The subscribe-to-reminders function now pays the notifications opt-in reward.
β’ Gift cards read the Amazon funds snapshot before the availability call.
#showmethemoney
β’ A VIP day-pass A/B test started: 10 minutes against a whole day.
5 projects had activity yesterday.
π Daily Standup β 2026-10-09
#apppromoreel
β’ Scene fades now count correctly. Reading times show to the hundredth.
β’ The promo template has a reading-time check. It marks the 17 texts the viewer must read.
#bedtimestories
β’ No feature work. Only an Android release build was recorded.
#ludusmagnus
β’ Debug and profile builds no longer send analytics events.
β’ Fixed a layout limit on the login screen.
β’ Fixed when snackbars clear in the active session screen.
β’ A failed request on the Today screen no longer raises an uncaught error.
#smartpantry
β’ Analytics boolean parameters now send "true" or "false". Removed a redundant debug flag (#1326).
4 projects updated yesterday.
π Daily Standup β 2026-10-08
#apppromoreel
Added motion blur with cut-aware rendering; tuned cut ratio and documented the feature
#bedtimestories
Fixed subscription re-purchase analytics; exposed entitlement purchase dates; added case B test coverage
#ludusmagnus
Localized plan status display; enhanced photo test coverage for errors and locale-specific login flows
#mygoo
Shipped notifications feature: admin controls, home feed card, reward tracking, full test and doc coverage
#smartpantry
Added RevenueCat Plus grant; improved native ad tracking and recipes consent flow with analytics
#streakup
French SEO for chinups page; added paywall save UX test coverage
6 projects shipped
π Daily Standup β 2026-10-07
#apppromoreel
β’ Document feed safe zones and test all browser and rendering paths
#bedtimestories
β’ Fix paywall caching, reminders, reader sync, and Firebase config
β’ Add trial reminder check and RevenueCat Firebase tagging
#blackjacktrainer
β’ Ship iOS 35 and Android 34; fix app open ads and cold-start behavior
β’ Add strategy guide and fix remote config issues
β’ Complete 4 review rounds
#kindlegratis
β’ Test and fix stored sites, localization, top100 parsing, and external offers
β’ Translate home and update screens
#lucagodot
β’ Add Snake mini-game to Officina
#ludusmagnus
β’ Implement Electric + Volt theme with condensed titles and bundled fonts
#mygoo
β’ Fix recurring schedules to Europe/Rome timezone and add per-campaign CTAs
#smartpantry
β’ Add OCR, onboarding, item save, and expiry event logging
β’ Test label-photo feature in Maestro flows
#streakup
β’ Fix paywall state across saves, sign-in changes, and store calls
β’ Add push-ups daily guide; complete 2 review rounds
#showmethemoney
β’ Rewrite slides with dated metrics, before-and-after format, new typography, and canvas layout
#3thingsaday
β’ Ship iOS 53 and Android 136; add ADHD guide and update store listings in 12 locales
11 projects shipped yesterday.