Back
Ivan Morgillo

Ivan Morgillo
PRO

@ivanmorgillo

Android/Flutter and Rails development
653
Joined November 2024
πŸ“‹ 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.
Home
Search
Messages
Notifications
More

Are you sure?