[{"id":"codevetter","name":"CodeVetter","description":"Execution-backed verification for AI-written software changes — local-first and inspectable.","makerNote":"I built CodeVetter to make reviewing AI-generated code rigorous without giving up a local-first workflow.","purposeContract":{"purpose":"CodeVetter verifies whether AI-written software changes actually satisfy their task, not merely whether the diff looks plausible.","audience":"Developers and teams shipping code produced with AI agents.","outcome":"Higher confidence that an agent completed the requested change correctly and safely.","mechanism":"Local-first review combines repository context, executable checks, targeted evaluation, and inspectable verification receipts.","proof":"Published macOS 1.16.0 is notarized: its DMG hash matches the release and the bundled app passes strict signature and Gatekeeper checks. An earlier bounded CLI fixture demonstrated real Codex review, pass/fail checks and persisted receipts.","nextAction":"Try the current Mac release on a small local repository. Use the documented manual update path until in-app installation is qualified."},"footerArt":{"src":"/footer-art/codevetter.webp","width":2172,"height":724,"alt":"Finely drawn dark verification bench with task and change folios, a central bounded execution chamber, and retained evidence to the right.","focalX":50,"focalY":50,"credit":"Original illustration for CodeVetter","sha256":"36588b9c1d0a02b0b04b0d8e9cbeb9661440b2927d7e9a12f7b6a0e176fae910"},"kind":"product","category":"utility","form":"Desktop app","platforms":["macOS"],"technologies":["Swift","SwiftUI","Rust","SQLite"],"group":"featured","lifecycle":"primary","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["codevetter.com"],"url":"https://codevetter.com","repositoryUrl":"https://github.com/Codevetter/codevetter","changelogUrl":"https://codevetter.com/changelog","roadmapUrl":"https://github.com/Codevetter/codevetter/issues","firstCommitAt":"2025-11-30","latestCommitAt":"2026-09-23"},{"id":"pace","name":"HeyPace","description":"An experimental macOS voice-agent preview; installation and permission-dependent workflows are still being qualified.","makerNote":"I wanted a fast, privacy-first Mac assistant that could understand what is on my screen while keeping the work local.","purposeContract":{"purpose":"HeyPace is a private Mac assistant for fast voice-driven help grounded in what is currently on screen.","audience":"A Mac user who wants contextual assistance without sending their desktop workflow to a hosted service.","outcome":"Get useful help in the moment with less typing and less context switching.","mechanism":"A local macOS agent combines voice interaction, screen context, and device-side tools.","proof":"The public 0.3.19 preview is downloadable and the native implementation includes voice, screen context, local planning, and macOS actions; signed-release hardware smoke and sustained daily use remain unproven.","nextAction":"Download the current Mac preview, test one recurring voice-and-screen workflow, and judge it against Pace's visible local and off-device trust boundary."},"footerArt":{"src":"/footer-art/pace.webp","width":2170,"height":725,"alt":"HeyPace: A quiet personal voice-assistance desk centers a microphone beside an unbranded monitor and empty chair. A short blue physical ribbon links voice to the visible workspace; a lamp, folded note and small local tools complete the wings.","focalX":50,"focalY":50,"credit":"Original illustration for HeyPace","sha256":"bd1345b1c0e70d17bfa143564ccd89b21781185664dc1b90f9be1727908a9b8d"},"kind":"product","category":"experimental","form":"macOS app","platforms":["macOS","Web"],"technologies":["Swift","SwiftUI","Astro","Cloudflare Pages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["heypace.app"],"url":"https://heypace.app","repositoryUrl":"https://github.com/HeyPace/pace","changelogUrl":"https://heypace.app/changelog","roadmapUrl":"https://github.com/HeyPace/pace/issues","firstCommitAt":"2026-07-13","latestCommitAt":"2026-09-18"},{"id":"posttrainllm","name":"PostTrainLLM","description":"An experimental browser model playground: run small language models locally with visible generation metrics.","makerNote":"I use PostTrainLLM to explore local model training and turn those experiments into repeatable recipes for specialist models.","purposeContract":{"purpose":"PostTrainLLM turns local model-training experiments into measured, reproducible recipes for useful specialist language models.","audience":"Practitioners learning or running post-training workflows on personal Apple hardware and in the browser.","outcome":"Train, evaluate, compare, and run specialist models with evidence about what worked and why.","mechanism":"A local factory joins datasets, training methods, evaluation, experiment tracking, and inference into repeatable recipes.","proof":"The project contains working browser and Mac-local experiments, evaluation infrastructure, and reproducible training paths.","nextAction":"Explore the measured recipes and follow new experiments as they produce reproducible proof rather than scale claims."},"footerArt":{"src":"/footer-art/posttrainllm.webp","width":2170,"height":725,"alt":"PostTrainLLM: A specialist-model recipe atelier centers a measured recipe tray and paired comparison samples. Sorted local material enters a modest experimental apparatus; a comparison notebook and source cabinet remain distinct at the wings.","focalX":50,"focalY":50,"credit":"Original illustration for PostTrainLLM","sha256":"63c2514f2a3e4e225277cda029a8cc990836ca91c53e213b418b0f4a12040f7c"},"kind":"product","category":"utility","form":"Research platform","platforms":["Web","Local"],"technologies":["Astro","Python","Rust","Cloudflare Pages"],"group":"featured","lifecycle":"primary","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["posttrainllm.com"],"url":"https://posttrainllm.com","repositoryUrl":"https://github.com/PostTrainLLM/posttrainllm","changelogUrl":"https://posttrainllm.com/changelog","roadmapUrl":"https://github.com/PostTrainLLM/posttrainllm/issues","firstCommitAt":"2026-05-21","latestCommitAt":"2026-09-23"},{"id":"live","name":"Live","description":"Explore hobbies and possibilities, build a personal bucket list, and save your progress on this device or in your account.","makerNote":"I wanted a product that helps people live more intentionally through goals, possibilities, and things worth anticipating.","purposeContract":{"purpose":"Live helps a person turn passive wanting into a life they can deliberately imagine, plan, and experience.","audience":"People who want meaningful goals, possibilities, and experiences to look forward to.","outcome":"Build a personal catalogue of things worth doing and keep moving from possibility toward lived experience.","mechanism":"The independent app combines a bucket list, goals, discovery, search, and suggestions around one private life catalogue.","proof":"The product is independently owned, in active dogfooding, and retains its established data and authentication boundary.","nextAction":"Open Live and use the catalogue, search, and suggestions to add or act on something you genuinely want to experience."},"footerArt":{"src":"/footer-art/live.webp","width":2170,"height":725,"alt":"Live: An inhabited life atlas centers a reachable path junction beside an open blank possibility list. One chosen gold footpath leads toward modest activities: a garden, workshop and distant lookout. The illustration invites a next move without depicting completed achievements.","focalX":50,"focalY":50,"credit":"Original illustration for Live","sha256":"3db0af1bc73641894adbaf7ca36fdd01c23a289abd70f31d9deddd024bbc95c0"},"kind":"product","category":"media","form":"Web app","platforms":["Web"],"technologies":["Next.js","TypeScript","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["live.significanthobbies.com"],"url":"https://live.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/live","changelogUrl":"https://live.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/live/issues","firstCommitAt":"2026-03-01","latestCommitAt":"2026-09-22"},{"id":"saas-maker","name":"SaaS Maker","description":"A public directory of working experiments, launch destinations, reference projects and reusable tooling.","makerNote":"I use SaaS Maker as the public home for Fleet and as a workshop for launch research, reusable feedback, workflow, and automation tools.","purposeContract":{"purpose":"SaaS Maker is the public product studio and reusable tooling workshop for the Fleet portfolio.","audience":"Visitors exploring Sarthak’s products and builders consuming the studio’s public packages, workflows, and evidence.","outcome":"Understand the body of work, research source-attributed launch destinations, and reuse the tools that have earned a stable place across its products.","mechanism":"A generated public directory and native launch-destination catalog sit beside shared feedback, UI, workflow, skill, and automation tooling maintained through real Fleet use.","proof":"It publishes the canonical privacy-safe project directory, serves the provenance-bearing /launchdesk catalog, and houses packages and tooling used by multiple independent repositories.","nextAction":"Explore the complete directory or open the public tooling catalogue; product-specific work continues in each owning repository."},"footerArt":{"src":"/footer-art/saas-maker.webp","width":2170,"height":725,"alt":"SaaS Maker: A product studio courtyard centers an active craft table where small software-inspired models are made and inspected. Varied finished and unfinished models occupy a quiet exhibition shelf; useful tools remain on the outer workbenches.","focalX":50,"focalY":50,"credit":"Original illustration for SaaS Maker","sha256":"f2a322b87d983ad130458cf2bb1117fd4caa91aca7686988265eaf5d605ed528"},"kind":"product","category":"media","form":"Web directory and service","platforms":["Web","API"],"technologies":["Astro","Cloudflare","D1","IssuePages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["sassmaker.com"],"url":"https://sassmaker.com","repositoryUrl":"https://github.com/sass-maker/saas-maker","changelogUrl":"https://sassmaker.com/changelog","roadmapUrl":"https://github.com/sass-maker/saas-maker/issues","firstCommitAt":"2026-02-26","latestCommitAt":"2026-09-22"},{"id":"email-manager","name":"Kinetic","description":"A private Gmail workspace for local semantic search, sender insights, and explicit unsubscribe workflows.","makerNote":"Gmail did not help me see who was filling my inbox, so I built a clearer way to understand volume and unsubscribe.","purposeContract":{"purpose":"Kinetic helps a person understand who fills their Gmail inbox and deliberately reduce unwanted volume.","audience":"A Gmail user who wants private search, sender-level insight, and explicit unsubscribe control.","outcome":"Find old mail, identify repeat senders, and unsubscribe with a clear understanding of what will change.","mechanism":"A private Gmail workspace combines local semantic search, sender aggregation, and user-confirmed unsubscribe workflows.","proof":"The maintained application performs its intended search, sender-insight, and unsubscribe jobs in regular use.","nextAction":"Open the private workspace and investigate a sender or search question; no speculative feature expansion is planned."},"footerArt":{"src":"/footer-art/email-manager.webp","width":2169,"height":725,"alt":"Kinetic: A deliberate inbox sorting desk centers one selected sealed envelope and a hand-operated review tray. Different sender-sized envelope groups occupy the wings; no sender identity or message content is visible.","focalX":50,"focalY":50,"credit":"Original illustration for Kinetic","sha256":"608d95ab7e52b1aa43650828a4f2032bdc5bef686a715ea573931595594aeaa9"},"kind":"product","category":"utility","form":"Web app","platforms":["Web","API"],"technologies":["React","Hono","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["mail.significanthobbies.com"],"url":"https://mail.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/email-manager","changelogUrl":"https://mail.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/email-manager/issues","firstCommitAt":"2026-02-24","latestCommitAt":"2026-09-10"},{"id":"chatgpt-memory-insights","name":"Memory Map","description":"A browser-local experiment for importing a ChatGPT export, exploring semantic themes and search, and optionally saving analysis on your device.","makerNote":"I wanted to learn what my exported AI conversations reveal about my themes, emotions, memory, and personal change.","purposeContract":{"purpose":"Memory Map turns an exported AI conversation history into a private map of recurring themes, facts, emotions, and change.","audience":"People curious about patterns across their own ChatGPT history who do not want to upload the archive to a service.","outcome":"Recognize recurring concerns and how interests, language, and personal themes changed over time.","mechanism":"The browser computes structured conversation analysis locally from an imported export and presents linked historical views.","proof":"A useful browser-local dashboard exists today; deeper shift analysis and additional export sources remain active work.","nextAction":"Import a ChatGPT export locally and explore the resulting private map; the source archive stays in the browser."},"footerArt":{"src":"/footer-art/chatgpt-memory-insights.webp","width":2171,"height":724,"alt":"Memory Map: A cool cartography workshop centers an open transit-like atlas and a source slip physically connected to one route. A boxed conversation archive and folded map margins occupy the wings. It is analytical mapping rather than warm nostalgia stationery.","focalX":50,"focalY":50,"credit":"Original illustration for Memory Map","sha256":"f546bcbf4be31048005badd75e8d9583df38a79dfcfab7c5c1d5f086808260b7"},"kind":"product","category":"utility","form":"Web app","platforms":["Web"],"technologies":["Astro","TypeScript","Cloudflare Pages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["chatgpt.significanthobbies.com"],"url":"https://chatgpt.significanthobbies.com","repositoryUrl":"https://github.com/sass-maker/saas-maker","changelogUrl":"https://chatgpt.significanthobbies.com/changelog","roadmapUrl":"https://github.com/sass-maker/saas-maker/issues","firstCommitAt":"2026-07-28","latestCommitAt":"2026-09-19"},{"id":"free-ai","name":"Free AI","description":"An OpenAI-compatible free-tier model gateway with operator-provisioned project access.","makerNote":"I built Free AI to make genuinely useful free model capacity easier to discover and use through one resilient interface.","purposeContract":{"purpose":"Free AI makes useful free-tier language-model capacity available through one resilient, OpenAI-compatible interface.","audience":"Fleet applications and developers who need low-cost model access without hard-coding one free provider.","outcome":"Keep AI-dependent workflows available as provider limits, models, and free capacity change.","mechanism":"A capability-aware gateway routes compatible requests across supported free-tier providers with fallback behavior.","proof":"The gateway works for internal consumers and is maintained as shared infrastructure rather than an independent feature product.","nextAction":"Use the compatible gateway from a named consumer; add providers only when they improve capability, reliability, or capacity."},"footerArt":{"src":"/footer-art/free-ai.webp","width":2172,"height":724,"alt":"Free AI: A small routing junction centers one request parcel and a manual track switch. Several bounded tracks lead to modest endpoints; an obvious alternative bypasses one closed gate without promising unlimited throughput.","focalX":50,"focalY":50,"credit":"Original illustration for Free AI","sha256":"26a88d2ef0d56bd1cd3a8f974faf4de0b73fc7a737242b22db53c45070f855a8"},"kind":"platform","category":"utility","form":"API gateway","platforms":["API","Web"],"technologies":["Hono","TypeScript","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["ai-gateway.sassmaker.com"],"url":"https://ai-gateway.sassmaker.com","repositoryUrl":"https://github.com/sass-maker/free-ai","changelogUrl":"https://ai-gateway.sassmaker.com/changelog","roadmapUrl":"https://github.com/sass-maker/free-ai/issues","firstCommitAt":"2026-02-15","latestCommitAt":"2026-09-20"},{"id":"high-signal","name":"High Signal","description":"Evidence-backed daily intelligence across technology, startups, finance, and public markets.","makerNote":"I built High Signal to combine scattered news and data sources and extract the signals that are actually useful.","purposeContract":{"purpose":"High Signal turns scattered technology, startup, finance, and market sources into an evidence-backed daily intelligence brief.","audience":"A curious operator who wants decision-relevant signals without reading every feed and article.","outcome":"Understand what changed, why it may matter, and which source supports each signal.","mechanism":"The product collects multiple sources, groups related events, and derives a concise brief with visible evidence.","proof":"The product focus and daily-brief surface exist, but regular owner use has not yet validated what deserves continued investment.","nextAction":"Read and dogfood the Daily Brief; resume feature work only when repeated use exposes a concrete deficiency."},"footerArt":{"src":"/footer-art/high-signal.webp","width":2171,"height":724,"alt":"High Signal: A signal-watch desk centers one daily sheet whose physical source ribbons remain visible. Scattered public-source slips pass through a narrow sorting aperture; a restrained tuning instrument and loose paper occupy the wings.","focalX":50,"focalY":50,"credit":"Original illustration for High Signal","sha256":"073b92cd7e9d6e90a77f21c46aad762544406b606019fc4c40ecb898ae528bf2"},"kind":"product","category":"media","form":"Intelligence web app","platforms":["Web","API"],"technologies":["Next.js","React","Hono","Cloudflare"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["highsignal.app"],"url":"https://highsignal.app","repositoryUrl":"https://github.com/High-Signal-App/high-signal","changelogUrl":"https://highsignal.app/changelog","roadmapUrl":"https://github.com/High-Signal-App/high-signal/issues","firstCommitAt":"2026-04-25","latestCommitAt":"2026-09-22"},{"id":"on-record","name":"High Signal Podcasts","description":"Search evidenced podcast claims and follow links back to the original episode or publication.","makerNote":"I’m building High Signal Podcasts to extract useful insights, recommendations, and emerging technology signals from top podcasts without listening to every episode.","purposeContract":{"purpose":"High Signal Podcasts indexes evidenced claims, recommendations, books, and tools mentioned by notable podcast guests.","audience":"People who want useful ideas from important podcasts without listening to every episode end to end.","outcome":"Find what a person actually said or recommended and trace it back to the source episode.","mechanism":"A source-backed corpus extracts attributable claims and organizes them into people, topics, books, tools, and emerging signals.","proof":"The public corpus is live with 11,624 published claims, 294 named references, and 1,190 episodes with evidence.","nextAction":"Explore the finished experiment; no ongoing roadmap or maintenance promise."},"footerArt":{"src":"/footer-art/on-record.webp","width":2171,"height":724,"alt":"High Signal Podcasts: An oral-history research room centers a claim card connected to its source reel. A microphone, attribution slips and referenced books remain distinct around it, emphasizing source-linked claims rather than a podcast directory.","focalX":50,"focalY":50,"credit":"Original illustration for High Signal Podcasts","sha256":"10ab36994c185216c85d76ed31664227ba1a6f49e65af28e82a7822cb5c82171"},"kind":"product","category":"media","form":"Podcast intelligence web app","platforms":["Web","API"],"technologies":["Astro","Hono","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["podcasts.highsignal.app"],"url":"https://podcasts.highsignal.app","repositoryUrl":"https://github.com/Significant-Hobbies/on-record","changelogUrl":"https://podcasts.highsignal.app/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/on-record/issues","firstCommitAt":"2026-08-24","latestCommitAt":"2026-09-22"},{"id":"research-papers","name":"Research Papers","description":"Search academic papers and follow original sources; account-based research chat is not yet qualified.","makerNote":"I wanted one large, searchable research library where retrieval could help me understand what already exists in a market.","purposeContract":{"purpose":"Research Papers is a structured, searchable library for discovering and interrogating academic and market research.","audience":"The Fleet owner investigating a concrete product, technical, or market question.","outcome":"Find relevant papers and retrieve grounded context from a large retained corpus.","mechanism":"A curated research dataset is indexed for search and retrieval-assisted analysis with source structure intact.","proof":"The corpus and discovery system are essentially complete and available when a real research question appears.","nextAction":"Explore the finished experiment; no ongoing roadmap or maintenance promise."},"footerArt":{"src":"/footer-art/research-papers.webp","width":2169,"height":725,"alt":"Research Papers: A research reading gallery centers one open paper under a study lamp, with a visible citation thread leading back to its scholarly shelf. Indexed volumes, a magnifier and restrained specimen trays frame the study area.","focalX":50,"focalY":50,"credit":"Original illustration for Research Papers","sha256":"709c788faeb58d1de55ec50b53e35eb1b57a05754eccc499334c2e577e0a7f6b"},"kind":"product","category":"media","form":"Research library","platforms":["Web"],"technologies":["Astro","Python","React","TypeScript"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["papers.highsignal.app"],"url":"https://papers.highsignal.app","repositoryUrl":"https://github.com/High-Signal-App/research-papers","changelogUrl":"https://papers.highsignal.app/changelog","roadmapUrl":"https://github.com/High-Signal-App/research-papers/issues","firstCommitAt":"2026-05-30","latestCommitAt":"2026-09-10"},{"id":"knowledge-base","name":"Knowledge Base","description":"Private agent search over specialized corpora with ranked citations, provenance, and schema-aware retrieval.","makerNote":"I built Knowledge Base as the private, cited retrieval layer that other Fleet applications can rely on.","purposeContract":{"purpose":"Knowledge Base supplies private, cited retrieval over specialized corpora to other Fleet applications and agents.","audience":"Named internal products and agents that need grounded answers from controlled source collections.","outcome":"Retrieve relevant context with ranked citations, provenance, and a schema the consuming product can trust.","mechanism":"A shared RAG service performs corpus-aware search, ranking, citation, and schema-constrained retrieval behind a private boundary.","proof":"The service has healthy Fleet consumers and already operates as the shared cited-retrieval layer.","nextAction":"Connect it only for a concrete consumer need; change the infrastructure when retrieval evidence shows a real failure."},"footerArt":{"src":"/footer-art/knowledge-base.webp","width":2169,"height":725,"alt":"Knowledge Base: A private reading vault centers an index drawer retrieving one page while its provenance ribbon stays attached to the source volume. Closed specialist books sit behind a modest privacy partition in the wings.","focalX":50,"focalY":50,"credit":"Original illustration for Knowledge Base","sha256":"418cd23e703c38e823c4f90fd48185ad7e87faeb8a512e9f0059085eaf4d39b2"},"kind":"platform","category":"utility","form":"Knowledge platform","platforms":["Web","API"],"technologies":["Astro","Hono","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["knowledgebase.sassmaker.com","search.sassmaker.com"],"url":"https://knowledgebase.sassmaker.com","repositoryUrl":"https://github.com/sass-maker/knowledge-base","changelogUrl":"https://knowledgebase.sassmaker.com/changelog","roadmapUrl":"https://github.com/sass-maker/knowledge-base/issues","firstCommitAt":"2026-05-27","latestCommitAt":"2026-09-19"},{"id":"significanthobbies","name":"Significant Hobbies","description":"The shared Hub for Live, Calorie, Setline, Kith, and Anchor, backed by one privacy-aware control plane.","makerNote":"I wanted one Hub for my maintained personal apps while letting every app keep ownership of its own data.","purposeContract":{"purpose":"Significant Hobbies is the shared home and privacy-aware control plane for five independently owned personal applications.","audience":"One person using Live, Calorie, Setline, Kith, and Anchor as a connected personal system.","outcome":"See and act across the five apps without collapsing their data ownership or product identities.","mechanism":"A Hub, backend, and typed sync contracts exchange privacy-safe summaries and semantic actions while each app keeps its own source and data.","proof":"The canonical Hub lists five maintained apps. Journal is removed from the product lineup; Journal and Habits source/data compatibility history remains retained. Private cross-app use still needs hosted qualification.","nextAction":"Open the Hub to reach the five apps; current work focuses on unified authentication and safe cross-app summaries."},"footerArt":{"src":"/footer-art/significanthobbies.webp","width":2159,"height":728,"alt":"Significant Hobbies: A shared courtyard centers a common path and table connecting five independent personal rooms. Each room retains a separate doorway and its own interior character; no room's contents flow into another.","focalX":50,"focalY":50,"credit":"Original illustration for Significant Hobbies","sha256":"793590b059e352e9a8a381f3d0074b5994b64e9596cfbc8dde0e1268fc161f3d"},"kind":"product","category":"utility","form":"Personal-app Hub","platforms":["Web","API","Swift package"],"technologies":["TypeScript","Cloudflare Workers","D1","Swift"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["significanthobbies.com"],"url":"https://significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/significanthobbies","changelogUrl":"https://significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/significanthobbies/issues","firstCommitAt":"2026-03-01","latestCommitAt":"2026-09-22"},{"id":"anime-list","name":"Anime List","description":"Anime and manga discovery with multi-axis filtering and personal watchlists.","makerNote":"I wanted better anime filtering and discovery than the standard catalog experience, with a watchlist that works for me.","purposeContract":{"purpose":"Anime List helps anime and manga fans filter a large catalogue, discover what fits, and maintain a personal watchlist.","audience":"Anime and manga fans who want more precise discovery than a standard catalogue provides.","outcome":"Find suitable titles quickly and keep personal viewing or reading plans organized.","mechanism":"Multi-field search, shareable filters, seasonal discovery, taste tools, schedules, and signed-in watchlists operate over a large synced catalogue.","proof":"The production app serves roughly 35,000 titles and is frequently used; broader community features are intentionally out of scope.","nextAction":"Search the catalogue or use the watchlist; maintenance focuses on data quality and core discovery reliability."},"footerArt":{"src":"/footer-art/anime-list.webp","width":2168,"height":725,"alt":"Anime List: An original animation-club room centers a personal watch shelf and one invented illustrated story card. A projector, original abstract story panels and a seasonal moon-cycle window frame the scene.","focalX":50,"focalY":50,"credit":"Original illustration for Anime List","sha256":"b2370994f1f05837bada8d4bd232dbdf8f809e06da6fa9bac3f5817c188c119e"},"kind":"product","category":"media","form":"Web app","platforms":["Web","API"],"technologies":["React","Vite","Hono","Cloudflare"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["anime.significanthobbies.com"],"url":"https://anime.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/anime-list","changelogUrl":"https://anime.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/anime-list/issues","firstCommitAt":"2025-02-16","latestCommitAt":"2026-09-22"},{"id":"looptv","name":"LoopTV","description":"An experimental lean-back queue of curated science and other videos.","makerNote":"I wanted a more controlled and curated way to watch YouTube, shaped like television rather than an endless feed.","purposeContract":{"purpose":"LoopTV turns curated YouTube channels into a calmer, lean-back television experience.","audience":"Viewers who want intentional channel selection without YouTube’s endless recommendation feed.","outcome":"Start watching something suitable quickly while retaining control over the available catalogue.","mechanism":"A TV-like random player uses curated channels, focused search, and resilient handling of unavailable videos.","proof":"The maintained product is complete for its intended viewing loop and already handles common catalogue failures.","nextAction":"Open a curated channel and watch; future changes are limited to catalogue health or a proven viewing need."},"footerArt":{"src":"/footer-art/looptv.webp","width":2169,"height":725,"alt":"LoopTV: A calm lean-back screening nook centers one comfortable chair facing a fictional abstract screen. A simple channel selector, unbranded reels and an empty alternate slot show deliberate simplicity and unavailable content without drama.","focalX":50,"focalY":50,"credit":"Original illustration for LoopTV","sha256":"647e371670bb62c6e39c8a843a714a9d2ff3f4001876719a9b63a7c380ba8cb5"},"kind":"product","category":"media","form":"Web app","platforms":["Web","TV"],"technologies":["Astro","React","Vite","Cloudflare Pages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["tv.significanthobbies.com"],"url":"https://tv.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/looptv","changelogUrl":"https://tv.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/looptv/issues","firstCommitAt":"2026-04-04","latestCommitAt":"2026-09-07"},{"id":"swe-interview-prep","name":"SWE Interview Prep","description":"A learning OS for software-engineering interview practice.","makerNote":"I built this as a learning-by-doing system that combines Pomodoro, Feynman, retrieval practice, and practical roadmaps.","purposeContract":{"purpose":"SWE Interview Prep is a personal learning OS that turns software-engineering study into retained, artifact-backed understanding.","audience":"Software engineers preparing for interviews or strengthening practical technical judgment through active study.","outcome":"Build causal understanding that survives recall and can be demonstrated through code, diagrams, explanations, or projects.","mechanism":"An evidence-gated Concept → Drill → Build → Review → Apply loop combines retrieval practice, Feynman explain-backs, roadmaps, and adaptive review.","proof":"A fresh guest can complete a graded TypeScript drill and return to saved code in the same browser. Account sync and AI-graded mastery require sign-in and remain separately unqualified.","nextAction":"Try a coding drill as a guest; progress stays in this browser. Use the issue tracker for account-sync qualification limits."},"footerArt":{"src":"/footer-art/swe-interview-prep.webp","width":2171,"height":724,"alt":"SWE Interview Prep: A practical learning workshop centers a small built artifact and review notebook. Concept sketches, a drill jig and an application folio form a physical sequence in the wings; the journey ends with evidence rather than a trophy.","focalX":50,"focalY":50,"credit":"Original illustration for SWE Interview Prep","sha256":"af4490398f221a4b2d06931416938f53b49195dfc755c9bd22fdd4719b8de795"},"kind":"product","category":"media","form":"Learning web app","platforms":["Web"],"technologies":["React","Vite","TypeScript","Cloudflare Pages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["learn.significanthobbies.com"],"url":"https://learn.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/swe-interview-prep","changelogUrl":"https://learn.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/swe-interview-prep/issues","firstCommitAt":"2026-02-08","latestCommitAt":"2026-09-20"},{"id":"calorie","name":"Calorie","description":"A private, local-first food, water, and weight journal with transparent timing guidance.","makerNote":"I wanted one personal system for weight loss that connects food logging, fasting, exercise timing, and daily performance.","logoUrl":"/images/project-icons/calorie.png","purposeContract":{"purpose":"Calorie is a private food and body journal that turns lightweight logging into transparent daily and timing guidance.","audience":"A person pursuing weight loss who logs food with one hand and checks progress in short daily moments.","outcome":"Track intake, hydration, weight, and routines quickly, then understand practical training, fasting, and sleep timing.","mechanism":"A local-first iPhone journal records food and four core nutrients, applies visible formulas, and offers optional private sync.","proof":"The maintained app is functionally complete, connected to the Hub family, and designed so recommendations trace to visible rules.","nextAction":"Log a meal or daily measurement in the app; change the product only when repeated use reveals a concrete gap."},"footerArt":{"src":"/footer-art/calorie.webp","width":2169,"height":725,"alt":"Calorie: A modest food-journal table centers a fictional meal, transparent measuring vessel and blank daily notebook. Ordinary ingredients and a loose optional marker sit aside, making the journal useful without mandatory targets.","focalX":50,"focalY":50,"credit":"Original illustration for Calorie","sha256":"4ecabb617faef59d62c87543ef02acce505f937eb8b6bf513c5b51b9e00ead74"},"kind":"product","category":"utility","form":"iOS app","platforms":["iOS","API"],"technologies":["SwiftUI","Hono","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers","Apple App Store Connect"],"domains":["calorie.significanthobbies.com"],"url":"https://calorie.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/calorie","changelogUrl":"https://calorie.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/calorie/issues","firstCommitAt":"2026-07-25","latestCommitAt":"2026-09-22"},{"id":"setline","name":"Setline","description":"An iOS-native training tracker that runs a written strength, cardio and mobility programme one set at a time and measures each exercise against an authored target.","makerNote":"I built Setline to make workouts easier to execute one set at a time, with timing and performance kept accurate.","logoUrl":"/images/project-icons/setline.png","purposeContract":{"purpose":"Setline runs a written workout one set at a time and measures each exercise against its authored target.","audience":"A person following a structured strength, cardio, or mobility programme during real sessions.","outcome":"Stay focused on the current set, keep rest timing accurate, and understand performance against the plan.","mechanism":"A native iOS workout player sequences exercises, timers, targets, and completed performance without turning the session into data entry.","proof":"The focused workout loop is under active native development and is being validated through real sessions.","nextAction":"Run an authored workout in Setline and let actual session friction determine the next product change."},"footerArt":{"src":"/footer-art/setline.webp","width":2172,"height":724,"alt":"Setline: An empty training station centers an authored set card, dumbbell and simple rest timer. A second blank actual-result card remains separate on the bench; the space suggests one set at a time.","focalX":50,"focalY":50,"credit":"Original illustration for Setline","sha256":"75f737ad788ed05fbfde4f0193096f358d959a07130fcab6025639f7fcb0bd64"},"kind":"product","category":"utility","form":"iOS app","platforms":["iOS"],"technologies":["SwiftUI","CloudKit","PersonalSyncKit"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Apple App Store Connect"],"domains":["setline.significanthobbies.com"],"url":"https://setline.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/setline","changelogUrl":"https://setline.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/setline/issues","firstCommitAt":"2026-07-27","latestCommitAt":"2026-09-22"},{"id":"kith","name":"Kith","description":"A private iPhone app for the people you actually want to stay close to — closeness-weighted constellation home, standing notes, and a chronological log per person.","makerNote":"I wanted a beautiful personal relationship-memory app that helps me stay more thoughtful about the people in my life.","logoUrl":"/images/project-icons/kith.png","purposeContract":{"purpose":"Kith helps a person remember the people they genuinely want to stay close to and act with more thoughtfulness.","audience":"An iPhone user who values a small set of relationships and dislikes treating them like a sales CRM.","outcome":"Retain meaningful context, notice who needs attention, and show up better in important relationships.","mechanism":"A private constellation home organizes closeness, standing notes, and a chronological memory log for each person.","proof":"The device-first native product is built around a distinctive constellation model and is in active personal use validation.","nextAction":"Use Kith with real relationships and let recurring memory and follow-through needs guide improvements."},"footerArt":{"src":"/footer-art/kith.webp","width":2170,"height":725,"alt":"Kith: A warm relationship courtyard centers a blank note and the nearest pair of chairs. Additional chosen chairs sit at different comfortable distances; discreet keepsake boxes suggest remembered moments without a social feed.","focalX":50,"focalY":50,"credit":"Original illustration for Kith","sha256":"c765483ebe2957edea7c90b5abd7e3db585433e3b7895be8c983070474fd905f"},"kind":"product","category":"utility","form":"iOS app","platforms":["iOS"],"technologies":["SwiftUI","CloudKit","PersonalSyncKit"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Apple App Store Connect"],"domains":["kith.significanthobbies.com"],"url":"https://kith.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/kith","changelogUrl":"https://kith.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/kith/issues","firstCommitAt":"2026-08-16","latestCommitAt":"2026-09-19"},{"id":"rolepatch","name":"RolePatch","description":"A guest resume-tailoring experiment with a reviewable diff and browser-local document exports.","makerNote":"I wanted a focused way to tailor a resume and its supporting material to the actual job description.","purposeContract":{"purpose":"RolePatch tailors a resume and supporting application material to the evidence and language of a specific job.","audience":"A job seeker preparing a serious application for a particular role.","outcome":"Present relevant experience more clearly and prepare for the role without inventing qualifications.","mechanism":"Paste a resume and job description, review the generated changes, save in the browser, and export the current document.","proof":"The guest resume, tailoring, review, save/reload and local document-export path has been verified with synthetic examples. Account sync and broader application tools remain unqualified.","nextAction":"Try the guest workflow for one job, review every proposed claim, and export the version you want to use."},"footerArt":{"src":"/footer-art/rolepatch.webp","width":2170,"height":725,"alt":"RolePatch: A careful application-tailoring desk centers a plain resume sheet beside a job-description card, joined by removable revision strips. A source folder and separate review tray occupy the sides, making approval visible before action.","focalX":50,"focalY":50,"credit":"Original illustration for RolePatch","sha256":"0992326235de3d6c14e9f881f1725020f693924d790fb25689aaf181c7093c8b"},"kind":"product","category":"utility","form":"Web app","platforms":["Web","API"],"technologies":["Next.js","React","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["rolepatch.com"],"url":"https://rolepatch.com","repositoryUrl":"https://github.com/Significant-Hobbies/rolepatch","changelogUrl":"https://rolepatch.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/rolepatch/issues","firstCommitAt":"2026-02-23","latestCommitAt":"2026-09-22"},{"id":"karte","name":"Karte","description":"A creator-owned public profile that answers visitor questions and preserves context for better inbound.","makerNote":"I wanted a link-in-bio surface that could grow into something more personal: a greeting card, profile, and small agent.","purposeContract":{"purpose":"Karte gives a creator or independent operator a public profile that answers visitor questions and preserves context for better inbound.","audience":"An individual or small company that wants visitors to understand and explore who they are through one compact page.","outcome":"Help a visitor find relevant links, context, and answers instead of scanning an undifferentiated list.","mechanism":"A designed profile combines greeting-card presentation, owner-published context, structured links, visitor questions, contact handoff, and a small grounded agent.","proof":"The individual profile and conversational foundation are strong; company positioning and repeated company use remain the next validation.","nextAction":"Explore the existing profile experience; company adoption should wait for a focused workflow and a real company test."},"footerArt":{"src":"/footer-art/karte.webp","width":2170,"height":725,"alt":"Karte: A creator-owned welcome alcove centers a portfolio folio and visitor-question envelope. A restrained gold doorway opens toward public work while a closed drawer keeps private notes separate.","focalX":50,"focalY":50,"credit":"Original illustration for Karte","sha256":"82a259b668d1e6507173483dd10368d0304b6923099a8afeb1b5d2850ca134fb"},"kind":"product","category":"utility","form":"Web app","platforms":["Web","API"],"technologies":["Next.js","React","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers","Cloudflare Email Workers"],"domains":["karte.cc"],"url":"https://karte.cc","repositoryUrl":"https://github.com/Significant-Hobbies/karte","changelogUrl":"https://karte.cc/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/karte/issues","firstCommitAt":"2026-03-05","latestCommitAt":"2026-09-22"},{"id":"starboard","name":"Starboard","description":"Explore public GitHub repositories and related projects through a searchable discovery experiment.","makerNote":"GitHub Stars stopped working for me at scale, so I built a better personal interface for exploring what I had saved.","purposeContract":{"purpose":"Starboard makes a large GitHub Stars collection useful for personal exploration and project-aware tool discovery.","audience":"Developers whose saved repositories have outgrown GitHub’s default starred-items interface.","outcome":"Rediscover relevant tools, understand why they were saved, and connect them to current project needs.","mechanism":"Synchronization, search, tags, lists, semantic retrieval, and project-aware recommendations operate over the user’s saved repositories.","proof":"Core sync, search, organization, and project-aware discovery are largely complete and under focused active improvement.","nextAction":"Connect or explore a Stars collection and use a current project question to drive discovery; avoid unrelated alert or reporting scope."},"footerArt":{"src":"/footer-art/starboard.webp","width":2169,"height":725,"alt":"Starboard: A project-aware charting bench centers an unfinished vessel model beside one deliberately selected tool. A star-chart folio and organized tool cabinet fill the wings; unused tools remain visibly optional.","focalX":50,"focalY":50,"credit":"Original illustration for Starboard","sha256":"69d07d109488dfbc3d3f589f9a880e0c6b4d5b337d895ce700e0b9dc6fccb9b9"},"kind":"product","category":"utility","form":"Web app","platforms":["Web","API"],"technologies":["Next.js","React","Cloudflare Workers","D1"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["starboard.codevetter.com"],"url":"https://starboard.codevetter.com","repositoryUrl":"https://github.com/Codevetter/starboard","changelogUrl":"https://starboard.codevetter.com/changelog","roadmapUrl":"https://github.com/Codevetter/starboard/issues","firstCommitAt":"2026-02-22","latestCommitAt":"2026-09-22"},{"id":"app-health","name":"App Health","description":"Web analytics, product events, logs, and endpoint health in one workspace.","makerNote":"I built App Health because checking Sentry, PostHog, Slack, and cloud consoles separately made basic product health too fragmented.","purposeContract":{"purpose":"App Health helps product teams understand web traffic, intentional user actions, and application health across their projects.","audience":"Product managers, founders, and product teams; developers connect the instrumentation.","outcome":"See who is active as browser-session counts, which pages and named events are used, and whether backend failures explain product friction.","mechanism":"A small browser tracker and explicit named events feed workspace-scoped analytics; service SDKs and OTLP add aggregate endpoint health in the same dashboard.","proof":"Production Google signup, returning login, sign-out and project creation verified; own signup/project milestone logs remain exactly one each. Known analytics traffic returned 3 sessions, 4 page views and 2 named events without duplicate-batch inflation, with correct 1h/24h boundaries and referral sources. Public live page and revocation verified. JavaScript SDK 0.4.0 published and artifact integrity checked. See app-health/docs/release-2026-09-12.md; broader analytics parity and remotely published Swift package remain follow-up work.","nextAction":"Sign in with Google, add a project and environment, then install only the analytics, endpoint, or logging capability you need."},"footerArt":{"src":"/footer-art/app-health.webp","width":2169,"height":725,"alt":"App Health: A request-and-event relay station centers a single parcel at an inspection desk. Separate request rails and closed diagnostic drawers remain bounded, distinct from Site Health's whole-portfolio project inventory scene.","focalX":50,"focalY":50,"credit":"Original illustration for App Health","sha256":"d89c904afcbb6b379ecdb0aeb394609af83c63f1703f637dec6df5e5fde08886"},"kind":"product","category":"utility","form":"Product analytics and monitoring service","platforms":["Web","API"],"technologies":["React","shadcn/ui","Cloudflare Workers","Swift"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["health.sassmaker.com","ingest.sassmaker.com"],"url":"https://health.sassmaker.com","repositoryUrl":"https://github.com/sass-maker/app-health","changelogUrl":"https://health.sassmaker.com/changelog","roadmapUrl":"https://github.com/sass-maker/app-health/issues","firstCommitAt":"2026-07-20","latestCommitAt":"2026-09-19"},{"id":"ph-catalog","name":"PH Catalog","description":"A resumable local Product Hunt catalogue and analytics experiment with a privacy-safe synthetic demo.","makerNote":"I keep the full catalogue and analytics data local; the public repository demonstrates the real pipeline using original fictional fixtures.","purposeContract":{"purpose":"Build one resumable, deduplicated local product catalogue with explicit provenance and bounded analytical enrichment.","audience":"Developers and product researchers exploring reproducible catalogue and market-analysis workflows.","outcome":"Import, verify, snapshot and explore a local catalogue without publishing third-party product data.","mechanism":"A Python pipeline normalizes public product records into DuckDB and Parquet, while a read-only local UI serves aggregate analytics.","proof":"All 88 tests pass. The three-record fictional offline demo exercises the real parser and database path, produces a verified Zstandard-compressed Parquet snapshot and refuses to overwrite an existing non-sample catalogue.","nextAction":"Finish the bounded experiment, document the repeatable local workflow and then mark the project inactive as a completed experiment."},"footerArt":{"src":"/footer-art/ph-catalog.webp","width":2172,"height":724,"alt":"Finely drawn research cabinet containing original product objects and separate source cards, with a central structured folio and separate annotation slip.","focalX":50,"focalY":50,"credit":"Original illustration for PH Catalog","sha256":"ca1786d2519cfafa52e2ff7ba5faecb41407f93c230b092b7c55a5febbceb945"},"kind":"experiment","category":"experimental","form":"Local catalogue and analytics toolkit","platforms":["CLI","Local","Web"],"technologies":["Python","DuckDB","Parquet"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["ph.significanthobbies.com"],"url":"https://ph.significanthobbies.com","repositoryUrl":"https://github.com/sarthakagrawal927/ph-catalog","roadmapUrl":"https://github.com/sarthakagrawal927/ph-catalog/issues","firstCommitAt":"2026-08-31","latestCommitAt":"2026-09-12"},{"id":"web-playables","name":"Web Playables","description":"Small browser-playable game experiments.","makerNote":"I built this laboratory to understand how idle and HTML-based games are designed, shipped, and distributed.","purposeContract":{"purpose":"Web Playables is a small laboratory for learning how browser and YouTube-ready games are designed, packaged, and distributed.","audience":"A builder studying reusable HTML5 game mechanics and portable distribution constraints.","outcome":"Prototype a mechanic once and ship it as a normal web game and a submission-ready playable package.","mechanism":"A reusable gamekit supplies loops, saves, offline progress, platform adapters, and builds for a small games hub.","proof":"The research goal produced a working gamekit, a live idle game, and YouTube-compatible packaging; the project is now parked.","nextAction":"Preserved experiment; no current work or obligation to resume."},"footerArt":{"src":"/footer-art/web-playables.webp","width":2169,"height":725,"alt":"Web Playables: A browser-game packaging workshop centers an original miniature level and save capsule. Distinct playable-world props sit in open frames beside an offline travel case and modest packaging tools.","focalX":50,"focalY":50,"credit":"Original illustration for Web Playables","sha256":"75ee5d1549bebbc3507e5e945c3a93ad88befbdce46982bbee0c35d592ac9bc8"},"kind":"experiment","category":"experimental","form":"Game collection","platforms":["Web","YouTube Playables"],"technologies":["TypeScript","Vite","Cloudflare Pages","Cloudflare Workers"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["idle.aliveville.com","historia.aliveville.com"],"url":"https://idle.aliveville.com","repositoryUrl":"https://github.com/sarthakagrawal927/web-playables","changelogUrl":"https://idle.aliveville.com/changelog","roadmapUrl":"https://github.com/sarthakagrawal927/web-playables/issues","firstCommitAt":"2026-07-10","latestCommitAt":"2026-09-07"},{"id":"what-it-takes-to-win","name":"Paths","description":"Explore sourced career turning points with explicit survivorship and forecasting limits.","makerNote":"I wanted to study the real advantages behind success and replace unhelpful comparison with evidence-based understanding.","purposeContract":{"purpose":"Look Sideways shows why visible success cannot be reduced to a simple formula or a fair comparison with your own path.","audience":"Readers who turn another person’s visible outcome into a judgment about their own pace, ability, or worth.","outcome":"Replace flattened comparison with a more humane, evidence-bounded understanding of conditions, sequence, perseverance, and luck.","mechanism":"A guided research exhibit connects source-linked life events and early-breakthrough paths through what people brought, were handed, and were surrounded by.","proof":"The publication contains thousands of documented early-breakthrough paths, visible methodology, and ongoing source-linked profile coverage.","nextAction":"Explore the finished experiment; no ongoing roadmap or maintenance promise."},"footerArt":{"src":"/footer-art/what-it-takes-to-win.webp","width":2170,"height":725,"alt":"Paths: A landscape of unequal starting conditions centers a route fork and comparison folio. Paths from varied shelters meet obstacles and reach different ordinary vantage points; there is no crowned winner.","focalX":50,"focalY":50,"credit":"Original illustration for Paths","sha256":"7d3ad09814045ad9fc23bec710750cbad0591721ee31d4ed1439d89ed965cff6"},"kind":"product","category":"media","form":"Research publication","platforms":["Web"],"technologies":["Astro","TypeScript","Cloudflare Pages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["paths.significanthobbies.com"],"url":"https://paths.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/what-it-takes-to-win","changelogUrl":"https://paths.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/what-it-takes-to-win/issues","firstCommitAt":"2026-07-21","latestCommitAt":"2026-09-22"},{"id":"sarthakagrawal-personal","name":"Sarthak Agrawal","description":"Selected engineering case studies, technical writing and working project demonstrations.","makerNote":"I maintain a personal website because I need one durable, accurate public record of my work and professional identity.","purposeContract":{"purpose":"Sarthak Agrawal’s personal site is the durable public record of his work, writing, résumé, and professional identity.","audience":"People evaluating Sarthak as an AI infrastructure and product engineer, collaborator, or builder.","outcome":"Understand what he works on, what he has built, and how to verify or contact him.","mechanism":"A maintained portfolio connects current positioning to selected projects, writing, résumé evidence, and public profiles.","proof":"The public site is complete and satisfactory as the canonical professional record; updates follow changes in the underlying work.","nextAction":"Explore the current work and résumé or use the listed contact paths; do not infer stale focus areas from older copy."},"footerArt":{"src":"/footer-art/sarthakagrawal-personal.webp","width":2171,"height":724,"alt":"Sarthak Agrawal: A personal maker's workroom centers a selected-work folio and writing notebook. A few original project studies, a restrained bookshelf and useful craft tools show work without inventing a portrait or biography.","focalX":50,"focalY":50,"credit":"Original illustration for Sarthak Agrawal","sha256":"cfb1f34a025880332ad02bbbb617ce8ccd427073391e203ac92bcb56d6d72462"},"kind":"product","category":"media","form":"Portfolio website","platforms":["Web"],"technologies":["Astro","React","Cloudflare Pages","IssuePages"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["sarthakagrawal.dev"],"url":"https://sarthakagrawal.dev","repositoryUrl":"https://github.com/sarthakagrawal927/portfolio","changelogUrl":"https://sarthakagrawal.dev/changelog","roadmapUrl":"https://github.com/sarthakagrawal927/portfolio/issues","firstCommitAt":"2026-05-22","latestCommitAt":"2026-09-19"},{"id":"reddit-insights","name":"Reddit Insights","description":"Search a dated snapshot of 93 Reddit communities in your browser, with links to original posts and explicit provenance limits.","makerNote":"I wanted to understand how the signals and emotions inside a subreddit change over time, even though historical data is difficult to obtain.","purposeContract":{"purpose":"Reddit Insights studies how topics, signals, and emotional tone inside a subreddit change over time.","audience":"A researcher or product operator following a specific community longitudinally.","outcome":"Recognize recurring shifts and emerging concerns from a retained body of subreddit evidence.","mechanism":"A bounded collector stores attributable snapshots and derives recurring insight views without claiming unavailable history.","proof":"The collector and snapshot model exist, but reliable lawful access to historical Reddit data remains the central blocker.","nextAction":"Explore the finished experiment; no ongoing roadmap or maintenance promise."},"footerArt":{"src":"/footer-art/reddit-insights.webp","width":2172,"height":724,"alt":"Reddit Insights: A community research bulletin board centers one unlettered day folder with a source-linked discussion card inside its boundary. Separate community drawers and empty unobserved-day slots make captured scope visible.","focalX":50,"focalY":50,"credit":"Original illustration for Reddit Insights","sha256":"bf2ac20dedbae952868f879468c851773f0dc40291a43376990f3608fe1f950b"},"kind":"experiment","category":"experimental","form":"Research collector","platforms":["Web","API"],"technologies":["TypeScript","Cloudflare Workers","R2"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["reddit-insights.highsignal.app"],"url":"https://reddit-insights.highsignal.app","repositoryUrl":"https://github.com/High-Signal-App/research-subreddit","changelogUrl":"https://reddit-insights.highsignal.app/changelog","roadmapUrl":"https://github.com/High-Signal-App/research-subreddit/issues","firstCommitAt":"2026-08-07","latestCommitAt":"2026-09-18"},{"id":"anchor","name":"Anchor","description":"A local-first day planner and focus timer for Mac, iPhone, and Apple Watch that explains the gap between the schedule you planned and the day you lived.","makerNote":"I wanted a realistic daily planner that could help me follow the day and explain why the lived plan diverged from the intended one.","logoUrl":"/images/project-icons/anchor.png","purposeContract":{"purpose":"Anchor helps a person plan a realistic day, follow the current intention, and learn why the day lived differed from the day planned.","audience":"A person moving between Mac, iPhone, and Apple Watch who wants a deliberate day rather than another task list.","outcome":"Make more realistic plans, recover from interruptions, and protect activities that genuinely matter without moralizing imperfect adherence.","mechanism":"Native apps combine schedule blocks, recurring routines, wall-clock focus sessions, interruption evidence, and an end-of-day divergence review.","proof":"Public notarized Mac build 20 remains available; local build 25 has passed a bounded personal workflow but Gatekeeper rejects it as unnotarized, so it is not a public update.","nextAction":"Use Anchor through a real day and review the divergence evidence; let repeated lived patterns decide the next change."},"footerArt":{"src":"/footer-art/anchor.webp","width":2171,"height":724,"alt":"Anchor: A day-planning terrace centers the crossing between a planned stepping-stone path and a real-life detour. A pause bench, simple clock, task tokens and end-of-day notebook make interruptions ordinary.","focalX":50,"focalY":50,"credit":"Original illustration for Anchor","sha256":"efcbdc055f2e6aa2fd4822868019c132a5bb27125ce90641cae8919954ef9926"},"kind":"product","category":"utility","form":"Apple app","platforms":["macOS","iOS","watchOS","Web"],"technologies":["SwiftUI","SwiftData","CloudKit","Foundation Models"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Apple App Store Connect"],"domains":["anchor.significanthobbies.com"],"url":"https://anchor.significanthobbies.com","repositoryUrl":"https://github.com/Significant-Hobbies/anchor","changelogUrl":"https://anchor.significanthobbies.com/changelog","roadmapUrl":"https://github.com/Significant-Hobbies/anchor/issues","firstCommitAt":"2026-08-16","latestCommitAt":"2026-09-18"},{"id":"nomad-data-adventure","name":"Nomad Data Adventure","description":"Nomad Atlas explores 1,374 terrestrial places with living-cost profiles, lifestyle filters, city comparisons and downloadable source data credited to Nomads.com.","makerNote":"I keep this as a completed, shareable city-data experiment for exploring the saved dataset, comparing places and downloading a shortlist.","purposeContract":{"purpose":"Help people explore and compare places to live using a saved city dataset.","audience":"People comparing destinations by budget, connectivity and everyday life.","outcome":"Filter 1,374 terrestrial places, compare up to three across 22 metrics, and export matching records.","mechanism":"Static HTML, CSS, JavaScript and JSON served by Cloudflare Pages; all filtering and comparisons run in the browser.","proof":"Completed experiment verified at https://nomad.significanthobbies.com/ on September 13, commit e763b02. Six data tests, exact-commit CI and six release gates passed. Live search, comparison and downloads verified; 390px mobile layout checked. GitHub Pages disabled.","nextAction":"Share and use the completed explorer at nomad.significanthobbies.com; no active expansion or collection roadmap."},"footerArt":{"src":"/footer-art/nomad-data-adventure.webp","width":2170,"height":725,"alt":"Nomad Data Adventure: A saved-place comparison table centers two original miniature city landscapes and a comparison foldout. Fictional coast and hill, closed dataset folders and a travel bag show tradeoffs rather than an ideal destination.","focalX":50,"focalY":50,"credit":"Original illustration for Nomad Data Adventure","sha256":"487f4de10060e4594f602009c0fe54e8569fa0753a7d5fde94a648e618f78d30"},"kind":"experiment","category":"experimental","form":"Static city explorer","platforms":["Web"],"technologies":["Cloudflare Pages","JavaScript","HTML","CSS"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages"],"domains":["nomad.significanthobbies.com","nomad-data-adventure.pages.dev"],"url":"https://nomad.significanthobbies.com/","repositoryUrl":"https://github.com/sarthakagrawal927/nomad-data-adventure","roadmapUrl":"https://github.com/sarthakagrawal927/nomad-data-adventure/issues","firstCommitAt":"2026-09-12","latestCommitAt":"2026-09-22"},{"id":"storagedaddy","name":"storagedaddy","description":"An open-source native Mac storage analyzer for developer caches, builds, dependencies and AI session archives, with reviewed cleanup. Free during early access.","makerNote":"I am building a native Mac storage analyzer that makes disk usage clear and cleanup easy to review.","purposeContract":{"purpose":"storagedaddy helps developers understand and review local storage through a native visual scanner, developer classifications and verified, deliberate cleanup.","audience":"Developers whose Mac builds, dependencies, caches and AI session histories consume storage.","outcome":"Find large storage consumers and review what to archive or move to Trash.","mechanism":"A local SwiftUI and AppKit scanner provides visual exploration, developer insights, reviewed cache cleanup and compact AI conversation exports. Sparkle provides signed macOS update checks.","proof":"The public signed Sparkle feed and download serve notarized 0.1.3 build110 with matching DMG bytes. An isolated build106-to-108 Sparkle update and native scan were observed; build110 has not been installed for a new journey.","nextAction":"Download during free early access at storage.daddyrad.com, scan a folder, and review what to archive or move to Trash."},"footerArt":{"src":"/footer-art/storagedaddy.webp","width":2171,"height":724,"alt":"storagedaddy: A storage cartographer's attic centers a spatial map and magnifier. Developer project crates, ordinary storage parcels and generic build-artifact packages occupy the wings; a separate review basket remains untouched.","focalX":50,"focalY":50,"credit":"Original illustration for storagedaddy","sha256":"9164eb6b49796a5263e6741ca85d51ceec01b42fac68aeb5647f90eb3d3fa8c5"},"kind":"experiment","category":"utility","form":"macOS app","platforms":["macOS","Web"],"technologies":["SwiftUI","Rust","Cloudflare Workers","Sparkle","Astro"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Workers"],"domains":["storage.daddyrad.com","storagedaddy.significanthobbies.com"],"url":"https://storage.daddyrad.com/","repositoryUrl":"https://github.com/Significant-Hobbies/storagedaddy","roadmapUrl":"https://github.com/Significant-Hobbies/storagedaddy/issues","firstCommitAt":"2026-09-13","latestCommitAt":"2026-09-20"},{"id":"browserdaddy","name":"BrowserDaddy","description":"A local-first Mac browsing intelligence app for a unified history archive and real attention tracking.","makerNote":"I am building a local-first Mac browsing intelligence app that turns browser history and attention into an inspectable archive.","purposeContract":{"purpose":"BrowserDaddy helps people understand their browsing history and attention locally across browsers.","audience":"Mac users who want a unified, inspectable record of browsing and attention.","outcome":"Review browsing history and attention without sending the archive to a hosted service.","mechanism":"A native local Mac app extracts browser archives, watches focus and classifies topics only after explicit opt-in.","proof":"The public signed Sparkle feed and download serve notarized 0.3.1 build9 with matching DMG bytes. An isolated build4-to-6 Sparkle update and native journey were observed; build9 has not been installed for a new journey.","nextAction":"Download the current public Mac build or use the signed update feed from an older public installation; private-window filtering remains unqualified."},"footerArt":{"src":"/footer-art/browserdaddy.webp","width":2170,"height":725,"alt":"BrowserDaddy: An original tab-carrying guide centers a local archive folio along a history path. A distinct clock alcove represents measured attention separately, framed by quiet forest materials rather than another product's storage boxes.","focalX":50,"focalY":50,"credit":"Original illustration for BrowserDaddy","sha256":"78388a8f3fd4e4e92bc0860de3ce7d03fd231ef9527322912cfe14fa91edbf80"},"kind":"experiment","category":"utility","form":"macOS app","platforms":["macOS","Web"],"technologies":["SwiftUI","SQLite","Astro","Cloudflare Workers","Sparkle"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["browser.daddyrad.com","browserdaddy.significanthobbies.com"],"url":"https://browser.daddyrad.com/","repositoryUrl":"https://github.com/Significant-Hobbies/browserdaddy","roadmapUrl":"https://github.com/Significant-Hobbies/browserdaddy/issues","firstCommitAt":"2026-09-19","latestCommitAt":"2026-09-22"},{"id":"performancedaddy","name":"PerformanceDaddy","description":"A local Mac performance investigator for background apps, helpers and developer workloads, with measured evidence and reviewed actions.","makerNote":"I am building a local Mac performance investigator that makes process, port and slowdown evidence easier to review.","purposeContract":{"purpose":"PerformanceDaddy helps developers inspect local processes, ports and measured slowdown signals before taking action.","audience":"Developers running local servers, coding agents and other moving parts on a Mac.","outcome":"Find the process or port evidence behind a slowdown and choose the next check deliberately.","mechanism":"A native local Mac app records bounded CPU, memory, thermal, process and socket observations with reviewed stop controls.","proof":"Public 0.2.16 build21 is signed, universal and notarized. The download matches the release checksum; the Sparkle feed, staple and local launch were verified on 2026-10-02. Full live-window acceptance and a 10x whole-app memory reduction remain unverified.","nextAction":"Read the public landing and use the current GitHub release for a Mac install; review measured evidence before acting on a diagnosis."},"footerArt":{"src":"/footer-art/performancedaddy.webp","width":2170,"height":725,"alt":"PerformanceDaddy: A calm local diagnostic bench centers one mechanical symptom specimen and an observation lens. Modest measured instruments, process-like gears and port sockets surround a deliberately untouched review-only action handle.","focalX":50,"focalY":50,"credit":"Original illustration for PerformanceDaddy","sha256":"74af2c7952c555a8737187a46fbd6393c7f58bfd2fb9124cbea5fec82909a8d8"},"kind":"experiment","category":"utility","form":"macOS app","platforms":["macOS","Web"],"technologies":["SwiftUI","AppKit","Astro","Cloudflare Workers","Sparkle"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["performance.daddyrad.com","performancedaddy.significanthobbies.com"],"url":"https://performance.daddyrad.com/","repositoryUrl":"https://github.com/Significant-Hobbies/performancedaddy","roadmapUrl":"https://github.com/Significant-Hobbies/performancedaddy/issues","firstCommitAt":"2026-09-20","latestCommitAt":"2026-09-23"},{"id":"contextdaddy","name":"ContextDaddy","description":"A native Mac workspace for coding-agent skills, context, usage and telemetry, with a unified skill library, explicit local changes, and recovery history.","makerNote":"ContextDaddy is supposed to handle all things AI agents locally (context, skills, usage, otel etc) to help debug/speed up","purposeContract":{"purpose":"Help developers inspect coding-agent context, skill exposure, usage, and available local telemetry.","audience":"Developers using multiple coding agents on a Mac.","outcome":"Find actionable context and usage problems with evidence and explicit measurement limits.","mechanism":"A native Mac app combines bounded discovery, previewed local skill management with recovery, offline usage history, and local OpenTelemetry views.","proof":"Public 0.2.10 build 20 verified at https://context.daddyrad.com/download and GitHub release v0.2.10-20 (2026-10-09, source 95b88093e9f1f9786253bbdd6cbb3e66aa44fb6d). The live download SHA-256 51acdf9eb8a39f1b9555b702f4c9b498140dfd3f43445fd74bfa261e3d575bb2 matches the release asset and its live-publication receipt; the DMG and bundled ContextDaddy.app pass Gatekeeper as a notarized Developer ID build (notary status Accepted). Updates are delivered through the Sparkle appcast at https://context.daddyrad.com/updates/appcast.xml, which offers 0.2.10 build 20. Not installed or launched in this audit; in-app Sparkle installation remains unexercised. Discovery does not prove live prompt use and retains explicit entry/depth coverage limits.","nextAction":"Download the signed 0.2.10 beta; open Skills and follow Guide. Later builds arrive through the in-app Sparkle update feed."},"footerArt":{"src":"/footer-art/contextdaddy.webp","width":2171,"height":724,"alt":"ContextDaddy: An instruction-library workshop centers exposed skill cards in one rack and actual usage receipts in a separate ledger. A small window reveals incomplete observation; provenance tabs and a closed configuration drawer keep boundaries visible.","focalX":50,"focalY":50,"credit":"Original illustration for ContextDaddy","sha256":"81de7c1273d8b842a1456495296807b5310b3998d0f0be16d4a7616596365301"},"kind":"product","category":"utility","form":"macOS app","platforms":["macOS","Web"],"technologies":["SwiftUI","Astro","Cloudflare Workers"],"group":"current","lifecycle":"active","shareable":true,"deployed":true,"deploymentProviders":["Cloudflare Pages","Cloudflare Workers"],"domains":["context.daddyrad.com"],"url":"https://context.daddyrad.com/","repositoryUrl":"https://github.com/Significant-Hobbies/contextdaddy","roadmapUrl":"https://github.com/Significant-Hobbies/contextdaddy/issues","firstCommitAt":"2026-09-13","latestCommitAt":"2026-09-26"},{"id":"ai-badges","name":"AI Badges","description":"Embeddable README badges for declaring AI contribution and welcoming AI-assisted pull requests.","makerNote":"Finished experiment; the existing badge endpoints remain available to try.","purposeContract":{"purpose":"Embeddable README badges for declaring AI contribution and welcoming AI-assisted pull requests.","audience":"Maintainers who want visible AI-use declarations in repository READMEs.","outcome":"Embed a badge representing an explicit AI-use declaration.","mechanism":"Public HTTP endpoints render the requested declaration as SVG.","proof":"The public homepage and documented percentage and AI-PR SVG endpoints returned successful responses.","nextAction":"Copy a documented badge example into a README."},"kind":"experiment","category":"utility","form":"Badge service","platforms":["Web"],"technologies":["HTML","SVG"],"group":"past","lifecycle":"inactive","shareable":true,"deployed":false,"deploymentProviders":[],"domains":[],"url":"https://github.com/sarthakagrawal927/ai-badges","repositoryUrl":"https://github.com/sarthakagrawal927/ai-badges","roadmapUrl":"https://github.com/sarthakagrawal927/ai-badges/issues"},{"id":"pinpoint","name":"Pinpoint","description":"A local developer preview for selecting an app element, attaching a comment and handing context to a coding agent.","makerNote":"Finished experiment shared through its runnable local demo and source.","purposeContract":{"purpose":"A local developer preview for selecting an app element, attaching a comment and handing context to a coding agent.","audience":"Developers giving UI-specific feedback to coding agents.","outcome":"Attach feedback to a selected element in a running demo.","mechanism":"A browser feedback surface connects element context with a local development workflow.","proof":"16 tests pass and the documented local demo serves successfully; broad framework support is not claimed.","nextAction":"Install the repository dependencies and run the documented demo."},"kind":"experiment","category":"utility","form":"Developer tool","platforms":["Web","Local"],"technologies":["JavaScript","Node.js"],"group":"past","lifecycle":"inactive","shareable":true,"deployed":false,"deploymentProviders":[],"domains":[],"url":"https://github.com/sarthakagrawal927/pinpoint","repositoryUrl":"https://github.com/sarthakagrawal927/pinpoint","roadmapUrl":"https://github.com/sarthakagrawal927/pinpoint/issues"},{"id":"port-whisperer","name":"Port Whisperer","description":"A command-line port scanner with framework detection and structured output for local development.","makerNote":"Finished utility experiment shared through its source and reproducible CLI workflow.","purposeContract":{"purpose":"A command-line port scanner with framework detection and structured output for local development.","audience":"Developers identifying services listening on their own machine.","outcome":"Inspect listening ports and retrieve structured service information.","mechanism":"A Rust command-line scanner produces human-readable and JSON port data.","proof":"62 tests pass and the JSON command produced live local port data.","nextAction":"Follow the README installation instructions and run a local scan."},"kind":"experiment","category":"utility","form":"CLI tool","platforms":["CLI","Local"],"technologies":["Rust"],"group":"past","lifecycle":"inactive","shareable":true,"deployed":false,"deploymentProviders":[],"domains":[],"url":"https://github.com/sarthakagrawal927/port-whisperer","repositoryUrl":"https://github.com/sarthakagrawal927/port-whisperer","roadmapUrl":"https://github.com/sarthakagrawal927/port-whisperer/issues"},{"id":"society-relay","name":"Society Relay","description":"A fixture-driven community repair-planning experiment with human approval, work orders and calendar export.","makerNote":"Finished experiment shared as a reproducible demo; it is not a production resident-management service.","purposeContract":{"purpose":"A fixture-driven community repair-planning experiment with human approval, work orders and calendar export.","audience":"Builders exploring human-approved coordination for apartment communities.","outcome":"Walk a fixture repair request through approval, a work order and calendar export.","mechanism":"A Strands agent coordinates the workflow with explicit human approval steps.","proof":"55 tests and fixture-mode end-to-end approval, work-order and calendar export checks passed.","nextAction":"Run the documented fixture demo from the public repository."},"kind":"experiment","category":"experimental","form":"Agent demo","platforms":["Web","Local"],"technologies":["Python","Strands Agents"],"group":"past","lifecycle":"inactive","shareable":true,"deployed":false,"deploymentProviders":[],"domains":[],"url":"https://github.com/sarthakagrawal927/society-relay","repositoryUrl":"https://github.com/sarthakagrawal927/society-relay","roadmapUrl":"https://github.com/sarthakagrawal927/society-relay/issues"}]