PageSourceSearch

https://www.tylor.nz/apps/

html tylor.nz collected 2026-10-09 17:42:10 UTC 22,870 bytes, 2 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/17m8ig91wr8_-.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1677clt71ju0x.js"/>
1<script src="/_next/static/chunks/01c13geutyxre.js" async=""></script>
1<script src="/_next/static/chunks/197wwvrs5codd.js" async=""></script>
1<script src="/_next/static/chunks/3j4ajb29_rplu.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-1lqv0pr2p04z3.js" async=""></script>
1<script src="/_next/static/chunks/3o8ew19lc7s0i.js" async=""></script>
1<script src="/_next/static/chunks/3-3k34q7rkff1.js" async=""></script>
1<script src="/_next/static/chunks/29-2_ba712y4u.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Projects</title><meta name="description" content="Explore focused apps by Tylor Mayfield: PuppyOnTrack for shared puppy care, DokuDoku large-print Sudoku, and SpoonDo for energy-aware daily planning."/><link rel="canonical" href="https://www.tylor.nz/apps/"/><link rel="alternate" hrefLang="en" href="https://www.tylor.nz/apps/"/><link rel="alternate" hrefLang="fr" href="https://www.tylor.nz/fr/apps/"/><link rel="alternate" hrefLang="x-default" href="https://www.tylor.nz/apps/"/><link rel="icon" href="/favicon.ico?favicon.3z4ekbpuzp8qv.ico" sizes="64x64" type="image/x-icon"/><link rel="icon" href="/favicon.ico"/>
1<script src="/_next/static/chunks/0c0hxoamwjsbw.js" noModule=""></script>
1</head><body class="geist_67d95631-module__UpgI1G__variable"><div hidden=""><!--$--><!--/$--></div>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.tylor.nz/#organization","name":"Tylor Mayfield","url":"https://www.tylor.nz","logo":"https://www.tylor.nz/icon.svg"},{"@type":"WebSite","@id":"https://www.tylor.nz/#website","url":"https://www.tylor.nz","name":"Tylor Mayfield","description":"Practical software guides, focused apps, and tools for overlooked workflows—clear steps for puppy care, automation, hosting, and everyday product work.","publisher":{"@id":"https://www.tylor.nz/#organization"},"inLanguage":"en"}]}</script>
1<a href="#main" class="skip-link">Skip to content</a><header class="site-header wrap"><a class="wordmark" href="/">Tylor Mayfield</a><nav class="main-navigation" aria-label="Main navigation"><a href="/apps/">Projects</a><a href="/about/">About</a><a href="/content/">Guides</a><a class="contact-link" href="mailto:[email protected]">Contact</a></nav><nav class="language-switcher" aria-label="Language"><a hrefLang="en" aria-current="page" href="/apps/">EN</a><a hrefLang="fr" href="/fr/apps/">FR</a></nav></header><main id="main" class="wrap projects-page"><h1 class="preserve-lines">Apps for everyday tasks.</h1><div class="prose"><p>Track puppy care, play Sudoku, or plan around your energy.</p></div><div class="product-grid"><a class="product-card" href="/puppyontrack/"><div class="product-card-art"><img alt="" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/app-art/puppyontrack-v4.png"/></div><div class="product-card-copy"><p class="eyebrow">iOS &amp; Android</p><h2>PuppyOnTrack<!-- --> <span aria-hidden="true">↗</span></h2><p>PuppyOnTrack helps you log potty breaks, meals, water, and health events in one shared timeline—so caregivers stay aligned on your puppy’s daily care.</p></div></a><a class="product-card" href="/dokudoku/"><div class="product-card-art"><img alt="" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/app-art/dokudoku-v3.jpg"/></div><div class="product-card-copy"><p class="eyebrow">iPhone &amp; iPad</p><h2>DokuDoku Large-Print Sudoku<!-- --> <span aria-hidden="true">↗</span></h2><p>Play accessible, large-print Sudoku on iPhone and iPad with high contrast, spacious controls, notes, dark mode, and daily puzzles.</p></div></a><a class="product-card" href="/spoondo/"><div class="product-card-art"><img alt="" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/app-art/spoondo-v2.jpg"/></div><div class="product-card-copy"><p class="eyebrow">iPhone &amp; iPad</p><h2>SpoonDo<!-- --> <span aria-hidden="true">↗</span></h2><p>An energy-aware task planner with spoon-based budgets and recurring routines for days when your capacity changes.</p></div></a></div></main><footer class="site-footer"><div class="wrap"><div class="footer-main"><div><a class="wordmark" href="/">Tylor Mayfield</a><p class="preserve-lines">Focused software. Practical guides.
2Clearer workflows.</p></div><div class="footer-links"><span>Explore</span><a href="/">Latest stories</a><a href="/topics/">All topics</a><a href="/feed.xml">Follow with RSS<!-- --> ↗</a><button class="cookie-settings">Cookie settings</button></div><div class="footer-links"><span>About this publication</span><a href="/apps/">Projects</a><a href="/about/">About Tylor Mayfield</a><a href="/disclosure/">Affiliate disclosure</a><a href="/privacy/">Privacy &amp; cookies</a><a href="/support/">App support</a></div></div><div class="footer-bottom"><p>Some guides may contain affiliate links, clearly labeled when they do.</p><p></p></div></div></footer><!--$--><!--/$-->
2<script src="/_next/static/chunks/1677clt71ju0x.js" id="_R_" async=""></script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[47221,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"default\"]\n3:I[60184,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"default\"]\n5:I[70815,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[70815,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"ViewportBoundary\"]\nb:I[70815,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"MetadataBoundary\"]\nd:I[86532,[],\"default\",1]\n:HL[\"/_next/static/chunks/17m8ig91wr8_-.css\",\"style\"]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"apps\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(english)\",{\"children\":[\"apps\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/17m8ig91wr8_-.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_67d95631-module__UpgI1G__variable\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L4\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3-3k34q7rkff1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/29-2_ba712y4u.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{}
2,null,false,null]},null,false,\"$8\"]},null,false,null]},null,false,\"$8\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"uVyOpHoqg9_I4QxUZz0Ss\"}\n8:C\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
2<script>self.__next_f.push([1,"e:I[24522,[\"/_next/static/chunks/3-3k34q7rkff1.js\",\"/_next/static/chunks/29-2_ba712y4u.js\"],\"AnalyticsProvider\"]\n12:I[20665,[\"/_next/static/chunks/3o8ew19lc7s0i.js\"],\"IconMark\"]\n4:[\"$\",\"$Le\",null,{\"gaMeasurementId\":\"G-QLRX9KDG33\",\"clarityProjectId\":\"yjcbht8qby\",\"privacyHref\":\"/privacy\",\"locale\":\"en\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@graph\\\":[{\\\"@type\\\":\\\"Organization\\\",\\\"@id\\\":\\\"https://www.tylor.nz/#organization\\\",\\\"name\\\":\\\"Tylor Mayfield\\\",\\\"url\\\":\\\"https://www.tylor.nz\\\",\\\"logo\\\":\\\"https://www.tylor.nz/icon.svg\\\"},{\\\"@type\\\":\\\"WebSite\\\",\\\"@id\\\":\\\"https://www.tylor.nz/#website\\\",\\\"url\\\":\\\"https://www.tylor.nz\\\",\\\"name\\\":\\\"Tylor Mayfield\\\",\\\"description\\\":\\\"Practical software guides, focused apps, and tools for overlooked workflows—clear steps for puppy care, automation, hosting, and everyday product work.\\\",\\\"publisher\\\":{\\\"@id\\\":\\\"https://www.tylor.nz/#organization\\\"},\\\"inLanguage\\\":\\\"en\\\"}]}\"}}],[\"$\",\"a\",null,{\"href\":\"#main\",\"className\":\"skip-link\",\"children\":\"Skip to content\"}],\"$Lf\",\"$L10\",\"$L11\"]}]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"Projects\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Explore focused apps by Tylor Mayfield: PuppyOnTrack for shared puppy care, DokuDoku large-print Sudoku, and SpoonDo for energy-aware daily planning.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://www.tylor.nz/apps/\"}],[\"$\",\"link\",\"3\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://www.tylor.nz/apps/\"}],[\"$\",\"link\",\"4\",{\"rel\":\"alternate\",\"hrefLang\":\"fr\",\"href\":\"https://www.tylor.nz/fr/apps/\"}],[\"$\",\"link\",\"5\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://www.tylor.nz/apps/\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.3z4ekbpuzp8qv.ico\",\"sizes\":\"64x64\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L12\",\"8\",{}]]\n"])</script>
2<script>self.__next_f.push([1,"13:I[64893,[\"/_next/static/chunks/3-3k34q7rkff1.js\",\"/_next/static/chunks/29-2_ba712y4u.js\"],\"\"]\n14:I[24522,[\"/_next/static/chunks/3-3k34q7rkff1.js\",\"/_next/static/chunks/29-2_ba712y4u.js\"],\"CookieSettingsButton\"]\n15:I[39366,[\"/_next/static/chunks/3-3k34q7rkff1.js\",\"/_next/static/chunks/29-2_ba712y4u.js\"],\"LanguageSwitcher\"]\n11:[\"$\",\"footer\",null,{\"className\":\"site-footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"wrap\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-main\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L13\",null,{\"className\":\"wordmark\",\"href\":\"/\",\"children\":\"Tylor Mayfield\"}],[\"$\",\"p\",null,{\"className\":\"preserve-lines\",\"children\":\"Focused software. Practical guides.\\nClearer workflows.\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Explore\"}],[\"$\",\"$L13\",null,{\"href\":\"/\",\"children\":\"Latest stories\"}],[\"$\",\"$L13\",null,{\"href\":\"/topics\",\"children\":\"All topics\"}],[\"$\",\"a\",null,{\"href\":\"/feed.xml\",\"children\":[\"Follow with RSS\",\" ↗\"]}],[\"$\",\"$L14\",null,{\"label\":\"Cookie settings\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"span\",null,{\"children\":\"About this publication\"}],[[\"$\",\"$L13\",\"apps\",{\"href\":\"/apps\",\"children\":\"Projects\"}],[\"$\",\"$L13\",\"about\",{\"href\":\"/about\",\"children\":\"About Tylor Mayfield\"}],[\"$\",\"$L13\",\"disclosure\",{\"href\":\"/disclosure\",\"children\":\"Affiliate disclosure\"}],[\"$\",\"$L13\",\"privacy\",{\"href\":\"/privacy\",\"children\":\"Privacy \u0026 cookies\"}],[\"$\",\"$L13\",\"support\",{\"href\":\"/support\",\"children\":\"App support\"}]]]}]]}],[\"$\",\"div\",null,{\"className\":\"footer-bottom\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Some guides may contain affiliate links, clearly labeled when they do.\"}],[\"$\",\"p\",null,{\"children\":\"\"}]]}]]}]}]\nf:[\"$\",\"header\",null,{\"className\":\"site-header wrap\",\"children\":[[\"$\",\"$L13\",null,{\"className\":\"wordmark\",\"href\":\"/\",\"children\":\"Tylor Mayfield\"}],[\"$\",\"nav\",null,{\"className\":\"main-navigation\",\"aria-label\":\"Main navigation\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/apps\",\"children\":\"Projects\"}],[\"$\",\"$L13\",null,{\"href\":\"/about\",\"children\":\"About\"}],[\"$\",\"$L13\",null,{\"href\":\"/content\",\"children\":\"Guides\"}],[\"$\",\"a\",null,{\"className\":\"contact-link\",\"href\":\"mailto:[email protected]\",\"children\":\"Contact\"}]]}],[\"$\",\"$L15\",null,{\"locale\":\"en\",\"articleCatalog\":{\"en\":[\"digitalocean-postgresql-advanced-extension-preflight\",\"jev-digitalocean-support-ticket-routing\",\"digitalocean-backups-vs-snapshots\",\"self-hosted-ghost-vs-ghost-pro\",\"wordpress-vps-vs-managed-hosting\",\"deploy-valheim-server-digitalocean\",\"automatically-triage-support-tickets\",\"run-kubernetes-spot-gpu-with-on-demand-fallback\",\"call-gpt-6-astra-digitalocean\",\"fix-opencode-provider-error-with-read-only-test\",\"host-private-home-assistant-server\",\"lock-down-droplet-with-tailscale\",\"ephemeral-ci-builds\",\"spaces-private-downloads\",\"build-an-internal-ask-our-docs-tool\",\"obs-multistream-server\",\"serve-public-files-custom-cdn-domain\",\"s3-vs-spaces-public-file-delivery-costs\",\"back-up-docker-compose-app-and-test-restore\",\"puppy-potty-break-schedule-tracker\",\"choosing-an-accessible-sudoku-app\",\"deploy-nextjs-app-with-pull-request-previews\",\"run-openclaw-private-always-on-ai-assistant\",\"self-host-stoat-chat-on-digitalocean\",\"debug-a-failing-build-with-ai\",\"migrate-n8n-sqlite-to-postgresql\",\"monitor-site-with-uptime-kuma\",\"family-puppy-tracker-syncing\",\"run-private-n8n-server-with-tested-restore\",\"build-ai-pull-request-reviewer\",\"build-image-upload-optimization-pipeline\",\"back-up-minecraft-server-to-digitalocean-spaces\",\"build-a-sales-answer-assistant-from-approved-facts\",\"clean-a-product-feedback-backlog\",\"create-a-review-queue-for-user-generated-content\",\"draft-incident-updates-from-a-verified-timeline\",\"set-up-ai-coding-agent-serverless-inference\",\"turn-customer-interviews-into-team-decisions\",\"best-large-print-brain-games-for-seniors\",\"brain-games-for-macular-degeneration\",\"how-to-use-a-spoon-theory-planner\",\"keeping-puppy-health-records-organized\",\"puppy-potty-training-app-guide\",\"traditional-productivity-apps-chronic-fatigue\"],\"fr\":[\"digitalocean-postgresql-advanced-extension-preflight\",\"jev-digitalocean-support-ticket-routing\",\"deploy-valheim-server-digitalocean\",\"automatically-triage-support-tickets\",\"run-kubernetes-spot-gpu-with-on-demand-fallback\",\"call-gpt-6-astra-digitalocean\",\"fix-opencode-provider-error-with-read-only-test\",\"host-private-home-assistant-server\",\"lock-down-droplet-with-tailscale\",\"ephemeral-ci-builds\",\"spaces-private-downloads\",\"build-an-internal-ask-our-docs-tool\",\"obs-multistream-server\",\"serve-public-files-custom-cdn-domain\",\"s3-vs-spaces-public-file-delivery-costs\",\"back-up-docker-compose-app-and-test-restore\",\"deploy-nextjs-app-with-pull-request-previews\",\"run-openclaw-private-always-on-ai-assistant\",\"self-host-stoat-chat-on-digitalocean\",\"debug-a-failing-build-with-ai\",\"migrate-n8n-sqlite-to-postgresql\",\"monitor-site-with-uptime-kuma\",\"run-private-n8n-server-with-tested-restore\",\"build-ai-pull-request-reviewer\",\"build-image-upload-optimization-pipeline\",\"back-up-minecraft-server-to-digitalocean-spaces\",\"build-a-sales-answer-assistant-from-approved-facts\",\"clean-a-product-feedback-backlog\",\"create-a-review-queue-for-user-generated-content\",\"draft-incident-updates-from-a-verified-timeline\",\"set-up-ai-coding-agent-serverless-inference\",\"turn-customer-interviews-into-team-decisions\"]}}]]}]\n"])</script>
2<script>self.__next_f.push([1,"16:I[2836,[\"/_next/static/chunks/3-3k34q7rkff1.js\",\"/_next/static/chunks/29-2_ba712y4u.js\"],\"Image\"]\n10:[\"$\",\"main\",null,{\"id\":\"main\",\"className\":\"wrap projects-page\",\"children\":[\"\",[\"$\",\"h1\",null,{\"className\":\"preserve-lines\",\"children\":\"Apps for everyday tasks.\"}],\"$undefined\",[\"$\",\"div\",null,{\"className\":\"prose\",\"children\":[[\"$\",\"p\",\"p-0\",{\"children\":\"Track puppy care, play Sudoku, or plan around your energy.\"}]]}],[\"$\",\"div\",null,{\"className\":\"product-grid\",\"children\":[[\"$\",\"$L13\",\"puppyontrack\",{\"className\":\"product-card\",\"href\":\"/puppyontrack\",\"children\":[[\"$\",\"div\",null,{\"className\":\"product-card-art\",\"children\":[\"$\",\"$L16\",null,{\"src\":\"/app-art/puppyontrack-v4.png\",\"alt\":\"\",\"fill\":true,\"sizes\":\"(max-width: 767px) 100vw, 33vw\"}]}],[\"$\",\"div\",null,{\"className\":\"product-card-copy\",\"children\":[[\"$\",\"p\",null,{\"className\":\"eyebrow\",\"children\":\"iOS \u0026 Android\"}],[\"$\",\"h2\",null,{\"children\":[\"PuppyOnTrack\",\" \",[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"children\":\"↗\"}]]}],[\"$\",\"p\",null,{\"children\":\"PuppyOnTrack helps you log potty breaks, meals, water, and health events in one shared timeline—so caregivers stay aligned on your puppy’s daily care.\"}]]}]]}],[\"$\",\"$L13\",\"dokudoku\",{\"className\":\"product-card\",\"href\":\"/dokudoku\",\"children\":[[\"$\",\"div\",null,{\"className\":\"product-card-art\",\"children\":[\"$\",\"$L16\",null,{\"src\":\"/app-art/dokudoku-v3.jpg\",\"alt\":\"\",\"fill\":true,\"sizes\":\"(max-width: 767px) 100vw, 33vw\"}]}],[\"$\",\"div\",null,{\"className\":\"product-card-copy\",\"children\":[[\"$\",\"p\",null,{\"className\":\"eyebrow\",\"children\":\"iPhone \u0026 iPad\"}],[\"$\",\"h2\",null,{\"children\":[\"DokuDoku Large-Print Sudoku\",\" \",[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"children\":\"↗\"}]]}],[\"$\",\"p\",null,{\"children\":\"Play accessible, large-print Sudoku on iPhone and iPad with high contrast, spacious controls, notes, dark mode, and daily puzzles.\"}]]}]]}],[\"$\",\"$L13\",\"spoondo\",{\"className\":\"product-card\",\"href\":\"/spoondo\",\"children\":[[\"$\",\"div\",null,{\"className\":\"product-card-art\",\"children\":[\"$\",\"$L16\",null,{\"src\":\"/app-art/spoondo-v2.jpg\",\"alt\":\"\",\"fill\":true,\"sizes\":\"(max-width: 767px) 100vw, 33vw\"}]}],[\"$\",\"div\",null,{\"className\":\"product-card-copy\",\"children\":[[\"$\",\"p\",null,{\"className\":\"eyebrow\",\"children\":\"iPhone \u0026 iPad\"}],[\"$\",\"h2\",null,{\"children\":[\"SpoonDo\",\" \",[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"children\":\"↗\"}]]}],[\"$\",\"p\",null,{\"children\":\"An energy-aware task planner with spoon-based budgets and recurring routines for days when your capacity changes.\"}]]}]]}]]}]]}]\n"])</script>
2</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.