{"version":1,"updatedAt":"2026-10-30","source":"https://gradygaugler.com/facts.json","person":{"name":"Grady Gaugler","headline":"I turn user problems into shipped products.","summary":"AI-native product builder. Experience across product, UX design, engineering, growth, and marketing.","location":"Phoenix, AZ","url":"https://gradygaugler.com","email":"gradygaugler@icloud.com","links":{"linkedin":"https://www.linkedin.com/in/gradygaugler","x":"https://x.com/gradygaugler","github":"https://github.com/gradygaugler"},"resume":"https://gradygaugler.com/resume.pdf"},"projects":[{"id":"well-said","name":"Well Said","kind":"AI quotes app","role":"Solo builder","period":"2026","ownership":"solo","ownershipNote":"Solo. Grady built everything with AI coding agents.","cardLine":"AI quotes app · built solo with AI agents","intro":"Well Said is an AI quotes app for iPhone and iPad. Describe what you need in your own words and it finds quotes that fit, picks a new one each day, and keeps everything in a library that syncs and works offline. I built all of it with AI coding agents: design, the SwiftUI app, a Convex backend, AI search with evals, subscriptions, and analytics.","url":"https://gradygaugler.com/work/well-said","links":[{"label":"well-said.app","href":"https://www.well-said.app"},{"label":"App Store","href":"https://apps.apple.com/us/app/well-said-daily-quotes/id6772630797"}],"sectionIds":["well-said.why","well-said.ai-search","well-said.stack","well-said.operations","well-said.users"]},{"id":"song-sweeper","name":"Song Sweeper","kind":"Apple Music cleanup app","role":"Solo builder","period":"2025–26","ownership":"solo","ownershipNote":"Solo. Grady built everything with Claude Code and other agentic workflows.","cardLine":"Apple Music cleanup · #1 on the App Store for duplicate songs","intro":"Song Sweeper cleans up messy Apple Music libraries. It finds duplicate songs across albums, unifies album editions, surfaces songs you no longer play, and helps you favorite your most-played tracks. I built it solo with Claude Code because nothing on the market did this. Revenue grew sixfold, and it reached #1 on the App Store for duplicate songs.","url":"https://gradygaugler.com/work/song-sweeper","links":[{"label":"songsweeper.com","href":"https://songsweeper.com"},{"label":"App Store","href":"https://apps.apple.com/us/app/song-sweeper-music-organizer/id6749875190"}],"sectionIds":["song-sweeper.problem","song-sweeper.cleanup-flow","song-sweeper.growth","song-sweeper.build"]},{"id":"gitkraken","name":"GitKraken","kind":"Product manager","role":"Product Manager (Accounts, Billing & Growth)","period":"2022–26","ownership":"team","ownershipNote":"Team. Grady was the product manager; results were achieved with engineering, design, marketing, and data teams, and credit is shared.","cardLine":"Product manager · accounts, billing, growth","intro":"At GitKraken I owned accounts, subscriptions, and billing across a suite of developer tools serving 100K subscriptions, and worked on growth and AI with other PMs. With engineering and design, we redesigned checkout, made billing reliable, and grew seat expansion. I also started the company's first AI evals.","url":"https://gradygaugler.com/work/gitkraken","links":[{"label":"gitkraken.dev","href":"https://gitkraken.dev"},{"label":"gitkraken.com","href":"https://www.gitkraken.com"}],"sectionIds":["gitkraken.checkout-redesign","gitkraken.purchase-before-sign-in","gitkraken.billing-reliability","gitkraken.accounts","gitkraken.international-tax","gitkraken.admin-platform","gitkraken.growth","gitkraken.pricing","gitkraken.ai-evals","gitkraken.ai-credits","gitkraken.ai-workflows"]},{"id":"apple-pay","name":"Apple Pay","kind":"Internal tools & automation","role":"Apple Pay Internal Tools & Automation Engineer","period":"2022","ownership":"team","ownershipNote":"Team. Grady built internal tools for the Apple Pay team during a six-month rotation, working with engineers and leadership.","cardLine":"Internal tools & automation · 2022","intro":"In 2022 Apple selected me for a six-month corporate rotation building internal tools for the Apple Pay team. I built a Slack app that gave leadership visibility into progress and blockers, a tool that parsed bug-report logs into actionable signals, and tested the Wallet driver's license before launch.","url":"https://gradygaugler.com/work/apple-pay","links":[],"sectionIds":["apple-pay.rotation","apple-pay.slack-app","apple-pay.log-parser","apple-pay.wallet-qa"]},{"id":"apple-retail","name":"Apple Retail","kind":"Technical Expert","role":"Technical Expert","period":"2019–22","ownership":"team","ownershipNote":"Team. Grady worked within an Apple Retail store team; the trade-in lift came from team discussions he started.","cardLine":"Technical Expert · Genius Bar · 2019–22","intro":"I worked Genius Bar appointments and sales at Apple Retail from 2019 to 2022. I reached the highest appointment volume with a 100% net promoter score within three months, built a training plan for a new team, and lifted trade-ins 40% in a month.","url":"https://gradygaugler.com/work/apple-retail","links":[],"sectionIds":["apple-retail.nps","apple-retail.training","apple-retail.trade-ins","apple-retail.customers"]}],"sections":[{"id":"well-said.why","projectId":"well-said","url":"https://gradygaugler.com/work/well-said#why","title":"Why I built it","summary":"Quote apps felt old-fashioned, so I built the one I wanted.","body":["Quotes have mattered to me for most of my life. When I needed inspiration, the right line helped. The apps I tried didn't: keyword-based suggestions, small catalogs, and no native sync across devices.","I got tired of waiting for a better one. Well Said lets you describe what you need in your own words, like \"a toast for my sister's wedding,\" and finds quotes that fit. It also picks a quote for you each day and keeps quotes, Bible verses, and your own words in one library."],"factIds":["f.well-said.why","f.well-said.what","f.well-said.launched"],"metricIds":[]},{"id":"well-said.ai-search","projectId":"well-said","url":"https://gradygaugler.com/work/well-said#ai-search","title":"AI search and Ask","summary":"Semantic search and Ask on a curated quote corpus, measured with eval sets.","body":["Find runs on a quote corpus I imported and filtered, with embeddings and semantic search on OpenAI. Ask answers questions about a quote's meaning and origin.","The hard part is taste. A quote can match the topic and still miss the meaning or impact that makes it worth saving. I use retrieval-augmented generation alongside web searches, and weigh result quality against what each request costs to run.","Evaluation sets tell me whether a change made results better or worse. Results are still imperfect, and I'm still iterating."],"factIds":["f.well-said.ai-search","f.well-said.ai-challenge","f.well-said.what"],"metricIds":[]},{"id":"well-said.stack","projectId":"well-said","url":"https://gradygaugler.com/work/well-said#stack","title":"The full stack, built solo","summary":"One person with AI agents: iPhone and iPad app, backend, accounts, subscriptions, sync.","body":["I built all of it with AI coding agents: product requirements, positioning, design, the app, the backend, and the marketing site.","A SwiftUI app for iPhone and iPad. A Convex backend with APIs. Sign in with Apple. App Store subscriptions with entitlement checks. Offline-first library sync. Push notifications and widgets.","It is free to try. A subscription unlocks the AI features, notifications, widgets, and sync. The site, well-said.app, runs on Next.js and Vercel."],"factIds":["f.well-said.solo","f.well-said.stack","f.well-said.launched","f.well-said.marketing-site"],"metricIds":[]},{"id":"well-said.operations","projectId":"well-said","url":"https://gradygaugler.com/work/well-said#operations","title":"Running it in production","summary":"Analytics, AI traces, error tracking, alerts, kill switches, and AI error loops.","body":["PostHog covers product analytics, AI traces, error tracking, and alerts.","Operational kill switches can turn off new AI use and push delivery.","I built automated AI error loops that fix errors automatically.","I keep a privacy data inventory for the app."],"factIds":["f.well-said.observability","f.well-said.error-loops","f.well-said.privacy-inventory"],"metricIds":[]},{"id":"well-said.users","projectId":"well-said","url":"https://gradygaugler.com/work/well-said#users","title":"What users surprised me with","summary":"Sharing quotes and daily notifications turned out to be favorites.","body":["Sharing quotes with people who need them turned out to be one of the most popular features. People also love the daily notifications.","Both surprised me. I don't publish user counts, so this is what I've observed, not a measured number."],"factIds":["f.well-said.users"],"metricIds":[]},{"id":"song-sweeper.problem","projectId":"song-sweeper","url":"https://gradygaugler.com/work/song-sweeper#problem","title":"The problem","summary":"My Apple Music library was a mess, and nothing on the market fixed it.","body":["My Apple Music library was a mess, and I couldn't find a product that helped me clean it up the way I needed.","So I built Song Sweeper. It started with a frustration I knew firsthand and became a tool other people use to clean up their libraries too."],"factIds":["f.song-sweeper.why","f.song-sweeper.what"],"metricIds":[]},{"id":"song-sweeper.cleanup-flow","projectId":"song-sweeper","url":"https://gradygaugler.com/work/song-sweeper#cleanup-flow","title":"A simple cleanup flow","summary":"Four focused cleanups for an Apple Music library.","body":["Duplicates: find the same song across different albums and keep one.","Split albums: unify album editions into one, without losing songs.","Least played: surface songs you no longer listen to so you can remove them.","Most played: favorite your top tracks to improve recommendations."],"factIds":["f.song-sweeper.what"],"metricIds":[]},{"id":"song-sweeper.growth","projectId":"song-sweeper","url":"https://gradygaugler.com/work/song-sweeper#growth","title":"Growth and monetization","summary":"6× revenue, #1 for duplicate songs, and strong App Store conversion.","body":["I grew revenue sixfold. Song Sweeper reached #1 on the App Store for duplicate songs, a niche search, not the overall chart.","10% of App Store search impressions turn into downloads, and 20% of downloads turn into a purchase.","The conversion rates came from product positioning, App Store optimization, and UX. I don't publish the revenue baseline or timeframe."],"factIds":["f.song-sweeper.revenue-6x","f.song-sweeper.rank-1","f.song-sweeper.search-to-download","f.song-sweeper.download-to-purchase","f.grady.marketing-lesson"],"metricIds":["song-sweeper.revenue-6x","song-sweeper.rank-1","song-sweeper.search-to-download","song-sweeper.download-to-purchase"]},{"id":"song-sweeper.build","projectId":"song-sweeper","url":"https://gradygaugler.com/work/song-sweeper#build","title":"How it’s built","summary":"Built solo with Claude Code. In-app purchases, alerts, and analytics; no AI features.","body":["I owned every part: product definition, UX, development, QA, analytics, the site at songsweeper.com, and the launch.","I built it with Claude Code and other agentic workflows, which let me prototype quickly and test decisions with working product.","It has App Store in-app purchases, alerts, and PostHog analytics. It has no AI features and no accounts."],"factIds":["f.song-sweeper.solo","f.song-sweeper.claude-code","f.song-sweeper.scope"],"metricIds":[]},{"id":"gitkraken.checkout-redesign","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#checkout-redesign","title":"Checkout redesign and a year of tests","summary":"A researched checkout redesign, then A/B tests, raised checkout conversion about 15%.","body":["Checkout confused people, created support tickets, and didn't inspire confidence at the moment of purchase. I collected checkout screens from popular products with similar business models and laid them out on one page to find the patterns.","I partnered with design on a new checkout. We built it, A/B tested it, saw a substantial lift, and rolled it out. Smaller tests across checkout, login, and onboarding followed for about a year.","Together they raised checkout conversion about 15%. That number covers the redesign and the year of tests, not the redesign alone.","I also moved GitKraken Desktop off an embedded checkout onto the central purchase flow. It keeps the right account and organization, matches the message to what prompted the purchase, and sends people back where they started."],"factIds":["f.gitkraken.checkout-redesign","f.gitkraken.checkout-15","f.gitkraken.account-redesign","f.gitkraken.unified-checkout"],"metricIds":["gitkraken.checkout-15"]},{"id":"gitkraken.purchase-before-sign-in","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#purchase-before-sign-in","title":"Purchase before sign-in, in under two weeks","summary":"A browser-based v0 covered about 90% of the flow for a fraction of the build.","body":["Leadership wanted people to buy before creating an account. Adjacent tests and market research suggested a full build would be expensive for little likely impact.","With engineering and product, I shipped a browser-based v0 in under two weeks that covered about 90% of the intended flow. That made the idea cheap to test before committing to the full build.","The 90% is flow coverage, not a conversion result."],"factIds":["f.gitkraken.purchase-before-sign-in"],"metricIds":["gitkraken.purchase-v0-90"]},{"id":"gitkraken.billing-reliability","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#billing-reliability","title":"Making billing reliable","summary":"A support-to-engineering loop and targeted fixes cut billing tickets about 80%.","body":["The billing system held about ten years of work by many people, and nobody understood all of it. I learned its behavior and limits with engineers until changes that had seemed impractical became possible.","I set up a direct line from support to engineering so issues stopped getting lost, tracked trends, and pushed the right bugs and architectural fixes up the list. Billing-related tickets fell about 80%, a result shared with engineering.","One fix: a scheduled downgrade blocked customers from any further plan or seat changes without support. Engineering had blocked edits on purpose, because tracking several pending changes risked calculation errors. I proposed recalculating the scheduled change whenever the customer edits their plan. The team adopted it.","I also worked on in-product warnings before access is lost: failed payments, expiring cards, and upcoming cancellations, shown to admins and to the developers affected."],"factIds":["f.gitkraken.billing-reliability","f.gitkraken.billing-tickets-80","f.gitkraken.pending-changes","f.gitkraken.renewal-risk"],"metricIds":["gitkraken.billing-tickets-80"]},{"id":"gitkraken.accounts","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#accounts","title":"Accounts, organizations, and SSO","summary":"Simplified account management for the majority and led SSO.","body":["The old account site was built for resellers managing many organizations, a minority of users. Most people had one organization and still had to dig into it to manage their subscription.","I redesigned billing, subscription, and account management from the ground up and moved it to gitkraken.dev to simplify the common path.","I led product design and implementation of single sign-on (SSO)."],"factIds":["f.gitkraken.account-simplification","f.gitkraken.account-redesign","f.gitkraken.sso"],"metricIds":[]},{"id":"gitkraken.international-tax","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#international-tax","title":"International tax","summary":"Extended tax support beyond the US to the EU, UK, Australia, and Canada.","body":["As sales grew abroad, I worked with finance, legal counsel, engineering, and our tax and billing vendors to support tax in the EU, the UK, Australia, and Canada.","I learned the requirements, coordinated the billing UX for each region, and reached out to customers for the tax details they needed to provide."],"factIds":["f.gitkraken.international-tax"],"metricIds":[]},{"id":"gitkraken.admin-platform","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#admin-platform","title":"Internal admin platform","summary":"Rebuilt the admin site so support and customer success could help customers without engineering.","body":["I owned the internal admin site and rebuilt it with engineering on a new stack. It gained many capabilities and became easier to extend.","Support and customer success could manage trials and product access themselves instead of waiting on engineering.","I also defined self-service workflows for reseller quotes and purchase-order purchasing, which had taken much of customer success's time."],"factIds":["f.gitkraken.admin-platform","f.gitkraken.reseller-workflows"],"metricIds":[]},{"id":"gitkraken.growth","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#growth","title":"Growth: plans, expansion, retention, referrals","summary":"A student plan, domain matching, a cancellation flow, and a referral system.","body":["Student plan: a new plan and packaging experience raised new-subscription conversions 15%.","Domain matching: matching people to their company's organization grew the organic seat-expansion rate 60% in one year.","Cancellation flow: a new flow, iterated on with performance data, lowered churn 10%.","Referrals: I led research, design, and implementation of a referral and affiliate system that brought a steady stream of new users.","These were team results with engineering, design, marketing, and data."],"factIds":["f.gitkraken.student-plan-15","f.gitkraken.domain-matching-60","f.gitkraken.cancellation-flow-10","f.gitkraken.referral","f.gitkraken.team"],"metricIds":["gitkraken.seat-expansion-60","gitkraken.student-plan-15","gitkraken.churn-10"]},{"id":"gitkraken.pricing","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#pricing","title":"Pricing and plan changes at scale","summary":"Pricing and plan changes across systems serving 100K subscriptions.","body":["I owned pricing and plan changes across account and subscription systems serving 100K customer subscriptions.","I worked closely with the CEO, CFO, CMO, CPO, and teams across the company. A mistake here means wrong charges or lost access, so each change was executed with the rigor needed to avoid both."],"factIds":["f.gitkraken.pricing-100k"],"metricIds":["gitkraken.subscriptions-100k"]},{"id":"gitkraken.ai-evals","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#ai-evals","title":"GitKraken's first AI evals","summary":"Human benchmarks and tuned LLM judges took commit-message upvotes from 55% to 75%.","body":["Commit-message generation was our most popular AI feature, and its ratings were poor. Waiting on user feedback was too slow, and every future AI feature would need a way to measure quality. So I started GitKraken's first eval framework.","I gathered hundreds of real commits with full context, defined four scores with developers, and had four developers hand-score 100 examples as the benchmark. I built one LLM judge per score and tuned each until all four were within 1–5% of the human ratings.","Calibration surfaced what the judges missed: they checked technical correctness, while developers penalized speculative claims the diff didn't support.","I iterated on the prompt with prior commit messages as context until every score rose, then chose a model on score, cost, and speed. After the change shipped with engineering, upvotes rose from 55% to 75%."],"factIds":["f.gitkraken.eval-why","f.gitkraken.eval-process","f.gitkraken.eval-finding","f.gitkraken.eval-iteration","f.gitkraken.eval-result"],"metricIds":["gitkraken.commit-upvotes"]},{"id":"gitkraken.ai-credits","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#ai-credits","title":"Simplifying AI credits","summary":"Turned a three-part credit proposal into one organization-level pool.","body":["GitKraken needed AI credits that turned model usage into dollar value. The first proposal combined individual increases, organization increases, and individual sharing.","I researched comparable systems and cut the requirements to two principles: support individual and organization features, and stay simple for users. I proposed one organization-level pool, citing Figma as a comparable approach.","I checked feasibility with engineers, wrote the proposal and PRD, and recorded a walkthrough of the options and my recommendation. Stakeholders agreed to the simpler design."],"factIds":["f.gitkraken.ai-credits"],"metricIds":[]},{"id":"gitkraken.ai-workflows","projectId":"gitkraken","url":"https://gradygaugler.com/work/gitkraken#ai-workflows","title":"AI-native product work","summary":"Agentic planning, working prototypes, and analysis that sped up the whole team.","body":["Planning: agentic workflows across research, PRDs, and issues, with rich context and reusable templates, cut draft-to-ready time about 4×.","Prototypes: working prototypes built with AI coding tools cut design back-and-forth about 4×. Draft implementations before handoff sped up development by up to 2×.","Analytics: an agentic workflow with direct access to our analytics platform turned hours of digging for causes and trends into minutes."],"factIds":["f.gitkraken.ai-planning","f.gitkraken.ai-prototypes","f.gitkraken.ai-analytics"],"metricIds":["gitkraken.planning-4x","gitkraken.prototypes-4x","gitkraken.development-2x","gitkraken.analytics-minutes"]},{"id":"apple-pay.rotation","projectId":"apple-pay","url":"https://gradygaugler.com/work/apple-pay#rotation","title":"A six-month rotation","summary":"Apple selected me to build internal tools for the Apple Pay team in 2022.","body":["In 2022 Apple selected me for a six-month corporate rotation onto the Apple Pay team. I owned the roadmap and development of its internal tools.","The work: turn the team's debugging and execution pain points into shipped tools."],"factIds":["f.apple-pay.rotation"],"metricIds":[]},{"id":"apple-pay.slack-app","projectId":"apple-pay","url":"https://gradygaugler.com/work/apple-pay#slack-app","title":"A Slack app for leadership visibility","summary":"Team progress and blockers, visible where leaders already worked.","body":["I worked with leadership to understand what they needed to see. Then I built a Slack app that visualized team progress and surfaced blockers.","Response times improved, and leaders could monitor project status more efficiently."],"factIds":["f.apple-pay.slack-app"],"metricIds":[]},{"id":"apple-pay.log-parser","projectId":"apple-pay","url":"https://gradygaugler.com/work/apple-pay#log-parser","title":"Bug logs into actionable signals","summary":"An automation that parsed bug-report logs to speed up diagnosis.","body":["I worked with engineers to understand their debugging pain points, then built an automation tool that parsed bug-report logs into actionable signals.","Diagnosis got faster and manual investigation dropped."],"factIds":["f.apple-pay.log-parser"],"metricIds":[]},{"id":"apple-pay.wallet-qa","projectId":"apple-pay","url":"https://gradygaugler.com/work/apple-pay#wallet-qa","title":"Testing the Wallet driver's license","summary":"Frontline testing before launch, with UI concerns raised.","body":["I was a frontline tester for the Apple Wallet driver's license before launch. I flagged several UI concerns to improve the experience."],"factIds":["f.apple-pay.wallet-qa"],"metricIds":[]},{"id":"apple-retail.nps","projectId":"apple-retail","url":"https://gradygaugler.com/work/apple-retail#nps","title":"100% NPS at the highest volume","summary":"The highest appointment volume with a 100% net promoter score within three months.","body":["I asked for feedback constantly and acted on it. Within three months I had the highest appointment volume with a 100% net promoter score."],"factIds":["f.apple-retail.nps-100"],"metricIds":["apple-retail.nps-100"]},{"id":"apple-retail.training","projectId":"apple-retail","url":"https://gradygaugler.com/work/apple-retail#training","title":"Training a new team","summary":"A training plan for a new team that improved customer satisfaction.","body":["I developed a training plan for a new team, built around mentorship and goal-setting. Customer satisfaction (NPS) improved."],"factIds":["f.apple-retail.training"],"metricIds":[]},{"id":"apple-retail.trade-ins","projectId":"apple-retail","url":"https://gradygaugler.com/work/apple-retail#trade-ins","title":"+40% trade-ins in a month","summary":"Cross-functional discussions clarified customer value and lifted trade-ins.","body":["I started cross-functional team discussions about why trading in a device is worth it for the customer. Once the team understood the value, trade-in rates rose 40% within a month."],"factIds":["f.apple-retail.trade-ins-40"],"metricIds":["apple-retail.trade-ins-40"]},{"id":"apple-retail.customers","projectId":"apple-retail","url":"https://gradygaugler.com/work/apple-retail#customers","title":"Customer empathy under pressure","summary":"Genius Bar and sales work: conflict, quick decisions, tight timelines.","body":["At the Genius Bar and on the sales floor, I repaired relationships with customers while solving their problems.","The work meant multitasking, managing conflict, making quick decisions on tight timelines, and mentoring teammates."],"factIds":["f.apple-retail.role"],"metricIds":[]}],"facts":[{"id":"f.grady.positioning","projectId":"grady","text":"Grady Gaugler is an AI-native product builder in Phoenix, AZ. He takes ideas from user problems to shipped products, combining product judgment, technical curiosity, and hands-on building with AI agents."},{"id":"f.grady.experience","projectId":"grady","text":"His experience spans product management at GitKraken (2022–2026), internal tools at Apple Pay (2022), Apple Retail (2019–2022), and two iOS apps he built and launched solo: Well Said and Song Sweeper."},{"id":"f.grady.education-ms","projectId":"grady","text":"M.S. in Innovation and Venture Development from the W. P. Carey School of Business, Arizona State University (2020–2021), a program where students build real ventures."},{"id":"f.grady.education-bs","projectId":"grady","text":"B.S. in Robotics Engineering from the Ira A. Fulton Schools of Engineering, Arizona State University (2016–2020), with Barrett, The Honors College."},{"id":"f.grady.ai-tools","projectId":"grady","text":"Grady uses T3 Code as one interface for several coding agents, mainly Claude Code and Codex.","caveat":"His current setup (2026), not a setup used at past employers."},{"id":"f.grady.ai-second-opinion","projectId":"grady","text":"Claude is usually his primary agent; a GPT model reviews changes and investigations to get a second perspective.","caveat":"Current practice (2026)."},{"id":"f.grady.ai-routing","projectId":"grady","text":"In his experience, Claude is stronger for coding, UI, and general decisions, and GPT for investigation, review, and architecture.","caveat":"His own observations, not benchmarks."},{"id":"f.grady.ai-guardrails","projectId":"grady","text":"He reduces low-quality agent output with a few focused skills and a strong AGENTS.md that spells out the stack's best practices and a bias toward simplicity.","caveat":"Current practice (2026)."},{"id":"f.grady.ai-testing","projectId":"grady","text":"Agents run manual end-to-end tests before each release and before his own testing. This adds to his review; it does not replace it.","caveat":"Current practice (2026)."},{"id":"f.grady.ai-ui-limits","projectId":"grady","text":"Where AI alone falls short for him is UI and UX design: smooth, consistent, trustworthy interfaces still need his direction and testing, because agents miss details and overdesign."},{"id":"f.grady.product-taste","projectId":"grady","text":"He cuts anything in a product that doesn't earn its place, such as helper lines and redundant sections. He admires Things 3 for its care in UI details and its restraint about features."},{"id":"f.grady.marketing-lesson","projectId":"grady","text":"Building and launching his own apps taught him that shipping is only part of success: people have to discover a product and understand its value for what they need."},{"id":"f.grady.wants-next","projectId":"grady","text":"He is looking for AI-native work on customer-facing products, with real ownership and teammates who trade candid feedback."},{"id":"f.grady.open-to-roles","projectId":"grady","text":"Grady is open to full-time roles as a product builder or product engineer, or as a technical product manager."},{"id":"f.grady.services","projectId":"grady","text":"He offers three services: a prototype sprint, a subscription and onboarding review, and an AI workflow workshop. Pricing is by quote.","caveat":"Offered services; this site does not claim a consulting track record."},{"id":"f.grady.site-build","projectId":"grady","text":"Grady built this site with Claude Code as the primary builder and a GPT model reviewing the plan. The review caught real issues, and Grady decided each one."},{"id":"f.grady.site-review-findings","projectId":"grady","text":"The plan review caught that an environment-variable kill switch would need a redeploy (moved to a runtime flag), that a valid citation id doesn't prove a claim is supported (added human-reviewed evals), that logging full questions and uploads was a privacy risk (moved to metadata plus short redacted questions with a notice), a wrong job title on the Apple Retail column, and a headline-number rule that would have forced an unverified Well Said metric."},{"id":"f.grady.site-chat","projectId":"grady","text":"This site's chat answers only from Grady's published work. The model returns typed blocks that cite content ids; the server checks every id and the site renders its own components."},{"id":"f.grady.site-privacy","projectId":"grady","text":"The chat logs only short, redacted typed questions, with a visible notice. Uploaded documents, filenames, pasted text, and answers are never stored or logged."},{"id":"f.well-said.what","projectId":"well-said","text":"Well Said is an AI quotes app for iPhone and iPad. Describe what you need in your own words, like \"a toast for my sister's wedding,\" and it finds quotes that fit. It also picks new quotes daily, answers questions about a quote's meaning and origin, and keeps quotes, Bible verses, and your own words in one library."},{"id":"f.well-said.launched","projectId":"well-said","text":"Well Said launched on the App Store in 2026 for iPhone and iPad. It is free to try; a subscription unlocks the AI features, notifications, widgets, and sync.","caveat":"No user, download, or revenue numbers are published."},{"id":"f.well-said.solo","projectId":"well-said","text":"Grady built all of Well Said himself with AI coding agents: product requirements, positioning, design, the app, the backend, AI features, analytics, and the marketing site."},{"id":"f.well-said.why","projectId":"well-said","text":"Quotes have mattered to Grady throughout his life. The quote apps he tried felt old-fashioned, with keyword-based suggestions, limited catalogs, and no native cloud sync, so he built the app he wanted."},{"id":"f.well-said.stack","projectId":"well-said","text":"The stack: a SwiftUI app for iPhone and iPad, a Convex backend with APIs, Sign in with Apple, App Store subscriptions with entitlement checks, offline-first library sync, push notifications, and widgets."},{"id":"f.well-said.marketing-site","projectId":"well-said","text":"He also built the marketing site, well-said.app, with Next.js on Vercel."},{"id":"f.well-said.ai-search","projectId":"well-said","text":"AI search and Ask run on an imported and filtered quote corpus with embeddings and semantic search, built on OpenAI, with evaluation sets to measure and improve result quality."},{"id":"f.well-said.ai-challenge","projectId":"well-said","text":"The hardest problem was getting the AI to suggest quotes people actually like: a quote can match a topic without the meaning or impact that makes it worth saving. He balances result quality against operating cost, using retrieval-augmented generation alongside web searches.","caveat":"Results are still imperfect. No measured cost savings or eval improvements are published for Well Said."},{"id":"f.well-said.observability","projectId":"well-said","text":"Well Said has PostHog product analytics, AI traces, error tracking, and alerts, plus operational kill switches that can turn off new AI use and push delivery."},{"id":"f.well-said.error-loops","projectId":"well-said","text":"Grady built automated AI error loops that fix errors automatically.","caveat":"Details of what triggers a loop and how fixes are reviewed and deployed aren't published."},{"id":"f.well-said.privacy-inventory","projectId":"well-said","text":"He keeps a privacy data inventory for the app."},{"id":"f.well-said.users","projectId":"well-said","text":"Sharing quotes with people who need them is among the most popular features, and people love the daily notifications. Both surprised him.","caveat":"Grady's qualitative observation; no counts or retention numbers."},{"id":"f.song-sweeper.what","projectId":"song-sweeper","text":"Song Sweeper is an iPhone app that cleans up messy Apple Music libraries. It finds duplicate songs across albums, unifies album editions, surfaces songs you no longer play so you can remove them, and helps you favorite your most-played tracks to improve recommendations."},{"id":"f.song-sweeper.why","projectId":"song-sweeper","text":"Grady's own Apple Music library was a mess, and no product on the market cleaned it up the way he needed, so he built one."},{"id":"f.song-sweeper.solo","projectId":"song-sweeper","text":"He owned Song Sweeper end to end: product definition, UX design, development, QA, analytics, the marketing site (songsweeper.com), and launch marketing."},{"id":"f.song-sweeper.claude-code","projectId":"song-sweeper","text":"He built it with Claude Code and other agentic workflows to prototype quickly, test decisions with working product, and ship more scope on his own."},{"id":"f.song-sweeper.scope","projectId":"song-sweeper","text":"Song Sweeper includes App Store in-app purchases, alerts, and PostHog analytics. It has no AI features and no user accounts."},{"id":"f.song-sweeper.revenue-6x","projectId":"song-sweeper","text":"Grady grew Song Sweeper revenue sixfold.","caveat":"Baseline and timeframe are not published."},{"id":"f.song-sweeper.rank-1","projectId":"song-sweeper","text":"Song Sweeper reached #1 on the App Store for duplicate songs.","caveat":"Ranked #1 in searches for duplicate songs and music, a niche, not the overall App Store chart."},{"id":"f.song-sweeper.search-to-download","projectId":"song-sweeper","text":"10% of App Store search impressions convert to downloads, through product positioning, App Store optimization (ASO), and UX."},{"id":"f.song-sweeper.download-to-purchase","projectId":"song-sweeper","text":"20% of downloads convert to a purchase."},{"id":"f.gitkraken.role","projectId":"gitkraken","text":"Grady was Product Manager (Accounts, Billing & Growth) at GitKraken from 2022 to 2026. He owned the monetization roadmap for accounts and subscriptions across GitKraken's products and the customer-facing experiences on gitkraken.dev, and contributed to growth and AI initiatives alongside other PMs."},{"id":"f.gitkraken.company","projectId":"gitkraken","text":"GitKraken makes developer tools, led by a Git client, for individual developers and for teams and enterprises."},{"id":"f.gitkraken.team","projectId":"gitkraken","text":"His GitKraken work was cross-functional, with engineering, design, marketing, and data teams across acquisition, activation, conversion, expansion, and retention.","caveat":"GitKraken results are team work."},{"id":"f.gitkraken.checkout-redesign","projectId":"gitkraken","text":"Checkout confused users, generated support tickets, and didn't inspire confidence. Grady collected checkout screens from popular products with similar business models, laid them side by side to find patterns, and partnered with design on a new checkout. The team built it, A/B tested it against the old one, then rolled it out.","caveat":"Team result; credit is shared with the GitKraken team."},{"id":"f.gitkraken.checkout-15","projectId":"gitkraken","text":"The checkout redesign plus about a year of follow-up A/B tests across checkout, login, and onboarding raised checkout conversion about 15%.","caveat":"Cumulative across the redesign and a year of tests, not the redesign alone. Team result."},{"id":"f.gitkraken.account-redesign","projectId":"gitkraken","text":"He redesigned the billing, checkout, subscription, and account-management interface from the ground up, starting from pain points in the old experience and comparable product patterns, with design and engineering.","caveat":"Team result; credit is shared with the GitKraken team."},{"id":"f.gitkraken.unified-checkout","projectId":"gitkraken","text":"GitKraken Desktop used an embedded checkout into the old website. Grady worked through the technical debt to move Desktop and other products onto the central purchase flow. It keeps the user's account and the right organization for people in several organizations, tailors the message to the feature that prompted the purchase, and returns people to where they started in as few clicks as possible.","caveat":"No separate measured conversion result for this migration."},{"id":"f.gitkraken.purchase-before-sign-in","projectId":"gitkraken","text":"Leadership wanted purchase before account creation, but research suggested a full build would be expensive for little likely impact. With engineering and product, Grady shipped a browser-based v0 in under two weeks that covered about 90% of the intended flow for a fraction of the work, so the idea could be tested before committing to the full build.","caveat":"\"About 90%\" is how much of the flow it covered, not a conversion result. Shared with engineering."},{"id":"f.gitkraken.billing-reliability","projectId":"gitkraken","text":"The billing system held about ten years of work by many people, and no one understood all of it. Grady became a domain expert in its behavior and limits with engineers, set up a direct workflow from support to engineering so issues were not lost, tracked trends, and weighed in on priorities."},{"id":"f.gitkraken.billing-tickets-80","projectId":"gitkraken","text":"Bug and architectural fixes prioritized through that work reduced billing-related customer tickets about 80%.","caveat":"Shared improvements with engineering; the exact period is not pinned down."},{"id":"f.gitkraken.pending-changes","projectId":"gitkraken","text":"A scheduled downgrade blocked customers from making any further seat or plan changes without support. Engineering had blocked edits on purpose, because tracking several pending changes risked calculation errors. Grady proposed recalculating the scheduled change whenever the customer edited their plan; the team adopted it, so customers could keep managing their own subscriptions.","caveat":"No separate measured result; not the source of the 80% ticket reduction."},{"id":"f.gitkraken.renewal-risk","projectId":"gitkraken","text":"He worked on in-product warnings before customers lost access: failed payments, expiring cards, and upcoming cancellations, with role-aware notices for admins and affected users. One key case was an organization canceling without telling its developers, who could then raise it before losing access.","caveat":"No measured churn reduction for this work alone."},{"id":"f.gitkraken.account-simplification","projectId":"gitkraken","text":"The old account site was built around resellers managing many organizations, a minority of users. Most users had one organization but still had to dig into it to manage their subscription. His redesign and the migration to gitkraken.dev simplified that path for the majority."},{"id":"f.gitkraken.sso","projectId":"gitkraken","text":"Grady led product design and implementation of single sign-on (SSO) at GitKraken."},{"id":"f.gitkraken.international-tax","projectId":"gitkraken","text":"As sales grew abroad, he worked with finance, legal counsel, engineering, and tax and billing vendors to extend tax support beyond the US to the EU, the UK, Australia, and Canada. He learned the requirements, coordinated the billing UX for each region, and contacted customers for the tax details they needed to provide.","caveat":"No quantified compliance or revenue outcome is claimed."},{"id":"f.gitkraken.admin-platform","projectId":"gitkraken","text":"Grady owned the internal admin site and rebuilt it with engineering on a new stack, adding capabilities and making new features easier to add. Support and customer success got tools to manage trials and product access themselves instead of asking engineering.","caveat":"No measured time savings are published."},{"id":"f.gitkraken.reseller-workflows","projectId":"gitkraken","text":"He defined self-service workflows for reseller quote generation and purchase-order purchasing, which had taken much of customer success's time."},{"id":"f.gitkraken.student-plan-15","projectId":"gitkraken","text":"A new student plan and packaging experience raised new-subscription conversions 15%.","caveat":"Team result; credit is shared with the GitKraken team."},{"id":"f.gitkraken.domain-matching-60","projectId":"gitkraken","text":"Launching and iterating on domain matching grew the organic seat-expansion rate 60% in one year.","caveat":"Team result; credit is shared with the GitKraken team."},{"id":"f.gitkraken.cancellation-flow-10","projectId":"gitkraken","text":"A new cancellation flow, iterated on with performance data, lowered churn 10%.","caveat":"Team result; credit is shared with the GitKraken team."},{"id":"f.gitkraken.referral","projectId":"gitkraken","text":"He led research, design, and implementation of a new referral and affiliate system that rewards promoters and brought a steady stream of new users.","caveat":"No acquisition number is published."},{"id":"f.gitkraken.pricing-100k","projectId":"gitkraken","text":"Grady owned pricing and plan changes across account and subscription systems serving 100K customer subscriptions, working closely with the CEO, CFO, CMO, CPO, and teams across the company to avoid billing and access failures.","caveat":"100K is the number of subscriptions the systems served, not a result."},{"id":"f.gitkraken.ai-credits","projectId":"gitkraken","text":"GitKraken needed AI credits that translated model usage into dollar value. The first proposal combined individual increases, organization increases, and individual sharing. Grady researched comparable systems, cut the requirements to two principles (support individual and organization features; stay simple for users), and proposed one organization-level pool, citing Figma as a comparable approach. He checked feasibility with engineers, wrote the proposal and PRD, and walked stakeholders through it in a recorded deck; they agreed to the simpler design."},{"id":"f.gitkraken.eval-why","projectId":"gitkraken","text":"Commit-message generation was GitKraken's most popular AI feature but had poor ratings. Grady initiated GitKraken's first AI evaluation framework so the team could measure and improve quality quickly instead of waiting on user feedback, and so future AI features could use the same process."},{"id":"f.gitkraken.eval-process","projectId":"gitkraken","text":"He gathered hundreds of real commits with full context (diff, branch name, prior messages) from GitKraken and public repositories, defined four scores on a three-point scale with developers, and had four developers hand-score 100 examples as a human benchmark. He built one LLM judge per score and tuned each on the examples where judge and humans disagreed most, until all four landed within 1–5% of the human ratings."},{"id":"f.gitkraken.eval-finding","projectId":"gitkraken","text":"Calibration showed the judges first checked only technical correctness, while developers penalized speculative claims about benefits or motives the diff didn't support."},{"id":"f.gitkraken.eval-iteration","projectId":"gitkraken","text":"On a 200-example set, he iterated on the prompt (adding prior commit messages as context, as competitors did) until every score improved, then compared models on score, cost, and run time and chose one with significantly better scores and run time that was still affordable."},{"id":"f.gitkraken.eval-result","projectId":"gitkraken","text":"After the new prompt and context shipped, the share of upvoted commit messages rose from 55% to 75%.","caveat":"User thumbs-up rate on generated commit messages. Shipped with engineering teams."},{"id":"f.gitkraken.ai-planning","projectId":"gitkraken","text":"Agentic workflows across research, PRDs, and issue creation, with rich context and reusable templates, cut draft-to-ready planning time about 4×.","caveat":"Approximate."},{"id":"f.gitkraken.ai-prototypes","projectId":"gitkraken","text":"Functional prototypes built with AI coding tools cut design back-and-forth about 4×, and draft implementations prepared before handoff sped up development by up to 2×.","caveat":"Approximate."},{"id":"f.gitkraken.ai-analytics","projectId":"gitkraken","text":"An agentic workflow with direct access to the analytics platform cut the time to find causes and trends in product analytics from hours to minutes."},{"id":"f.apple-pay.rotation","projectId":"apple-pay","text":"In 2022 Apple selected Grady for a six-month corporate rotation as Apple Pay Internal Tools & Automation Engineer. He owned the roadmap and development of internal tools for the Apple Pay team."},{"id":"f.apple-pay.slack-app","projectId":"apple-pay","text":"He worked with leadership to find their pain points, then built a Slack app that visualized team progress and surfaced blockers, improving response times and letting leaders follow project status more easily."},{"id":"f.apple-pay.log-parser","projectId":"apple-pay","text":"He worked with engineers on their debugging pain points, then built an automation tool that parsed bug-report logs into actionable signals, speeding diagnosis and reducing manual investigation."},{"id":"f.apple-pay.wallet-qa","projectId":"apple-pay","text":"He was a frontline tester for the Apple Wallet driver's license before launch and raised several UI concerns to improve the experience."},{"id":"f.apple-retail.role","projectId":"apple-retail","text":"Grady was a Technical Expert at Apple Retail in Chandler, AZ, from 2019 to 2022, working Genius Bar appointments and sales: multitasking, managing conflict, making quick decisions on tight timelines, and mentoring teammates."},{"id":"f.apple-retail.nps-100","projectId":"apple-retail","text":"By asking for constant feedback and acting on it, he reached the highest appointment volume with a 100% net promoter score (NPS) within three months."},{"id":"f.apple-retail.training","projectId":"apple-retail","text":"He developed a training plan for a new team, strengthening mentorship and goal-setting, which improved customer satisfaction (NPS).","caveat":"The size of the NPS improvement is not published."},{"id":"f.apple-retail.trade-ins-40","projectId":"apple-retail","text":"He raised trade-in rates 40% within one month by starting cross-functional team discussions that clarified the customer value of trading in."}],"metrics":[{"id":"song-sweeper.revenue-6x","projectId":"song-sweeper","value":"6×","label":"revenue growth","factId":"f.song-sweeper.revenue-6x"},{"id":"song-sweeper.rank-1","projectId":"song-sweeper","value":"#1","label":"on the App Store for duplicate songs","factId":"f.song-sweeper.rank-1"},{"id":"song-sweeper.search-to-download","projectId":"song-sweeper","value":"10%","label":"App Store search impressions → downloads","factId":"f.song-sweeper.search-to-download"},{"id":"song-sweeper.download-to-purchase","projectId":"song-sweeper","value":"20%","label":"downloads → purchases","factId":"f.song-sweeper.download-to-purchase"},{"id":"gitkraken.commit-upvotes","projectId":"gitkraken","value":"55→75%","label":"AI commit-message upvotes","bar":{"from":55,"to":75,"unit":"%"},"factId":"f.gitkraken.eval-result"},{"id":"gitkraken.seat-expansion-60","projectId":"gitkraken","value":"+60%","label":"organic seat expansion","factId":"f.gitkraken.domain-matching-60"},{"id":"gitkraken.billing-tickets-80","projectId":"gitkraken","value":"−80%","label":"billing support tickets","factId":"f.gitkraken.billing-tickets-80"},{"id":"gitkraken.subscriptions-100k","projectId":"gitkraken","value":"100K","label":"subscriptions","factId":"f.gitkraken.pricing-100k"},{"id":"gitkraken.checkout-15","projectId":"gitkraken","value":"+15%","label":"checkout conversion","factId":"f.gitkraken.checkout-15"},{"id":"gitkraken.student-plan-15","projectId":"gitkraken","value":"+15%","label":"new-subscription conversions","factId":"f.gitkraken.student-plan-15"},{"id":"gitkraken.churn-10","projectId":"gitkraken","value":"−10%","label":"churn","factId":"f.gitkraken.cancellation-flow-10"},{"id":"gitkraken.purchase-v0-90","projectId":"gitkraken","value":"~90%","label":"of the purchase-before-sign-in flow, in under two weeks","factId":"f.gitkraken.purchase-before-sign-in"},{"id":"gitkraken.planning-4x","projectId":"gitkraken","value":"~4×","label":"faster draft-to-ready planning","factId":"f.gitkraken.ai-planning"},{"id":"gitkraken.prototypes-4x","projectId":"gitkraken","value":"~4×","label":"less design back-and-forth","factId":"f.gitkraken.ai-prototypes"},{"id":"gitkraken.development-2x","projectId":"gitkraken","value":"Up to 2×","label":"faster development","factId":"f.gitkraken.ai-prototypes"},{"id":"gitkraken.analytics-minutes","projectId":"gitkraken","value":"Hours → minutes","label":"to find causes and trends in analytics","factId":"f.gitkraken.ai-analytics"},{"id":"apple-retail.nps-100","projectId":"apple-retail","value":"100%","label":"net promoter score","factId":"f.apple-retail.nps-100"},{"id":"apple-retail.trade-ins-40","projectId":"apple-retail","value":"+40%","label":"trade-ins in a month","factId":"f.apple-retail.trade-ins-40"}],"matrix":{"rows":[{"id":"ship","group":"Build","label":"Ship real software"},{"id":"ai-evals","group":"Build","label":"AI features & evals"},{"id":"ai-workflow","group":"Build","label":"AI-native workflow"},{"id":"discovery","group":"Product","label":"Discovery & strategy"},{"id":"ux","group":"Product","label":"UX & design"},{"id":"revenue","group":"Grow","label":"Revenue & monetization"},{"id":"growth","group":"Grow","label":"Growth & experiments"},{"id":"marketing","group":"Grow","label":"Marketing & launch"},{"id":"analytics","group":"Grow","label":"Analytics"},{"id":"billing","group":"Systems","label":"Accounts & billing"},{"id":"reliability","group":"Systems","label":"Reliability"},{"id":"internal-tools","group":"Systems","label":"Internal tools & ops"},{"id":"stakeholders","group":"People","label":"Stakeholders & teaching"}],"cells":[{"rowId":"ship","kind":"owned","label":"iOS, Convex backend, sync, Sign in with Apple","factIds":["f.well-said.stack"],"id":"well-said.ship","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"ai-evals","kind":"owned","label":"Semantic search, Ask, eval sets","factIds":["f.well-said.ai-search","f.well-said.ai-challenge"],"id":"well-said.ai-evals","projectId":"well-said","sectionId":"well-said.ai-search"},{"rowId":"ai-workflow","kind":"owned","label":"Built end to end with agents","factIds":["f.well-said.solo"],"id":"well-said.ai-workflow","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"discovery","kind":"owned","label":"A problem he lived; requirements and positioning","factIds":["f.well-said.why","f.well-said.solo"],"id":"well-said.discovery","projectId":"well-said","sectionId":"well-said.why"},{"rowId":"ux","kind":"owned","label":"All design, iPhone + iPad","factIds":["f.well-said.solo","f.well-said.stack"],"id":"well-said.ux","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"revenue","kind":"owned","label":"Subscriptions + entitlements","factIds":["f.well-said.stack","f.well-said.launched"],"id":"well-said.revenue","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"marketing","kind":"owned","label":"Next.js site, App Store launch","factIds":["f.well-said.marketing-site","f.well-said.launched"],"id":"well-said.marketing","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"analytics","kind":"owned","label":"PostHog, AI traces","factIds":["f.well-said.observability"],"id":"well-said.analytics","projectId":"well-said","sectionId":"well-said.operations"},{"rowId":"billing","kind":"owned","label":"Sign in with Apple, subscriptions","factIds":["f.well-said.stack"],"id":"well-said.billing","projectId":"well-said","sectionId":"well-said.stack"},{"rowId":"reliability","kind":"owned","label":"AI error loops that auto-fix; alerts, kill switches","factIds":["f.well-said.error-loops","f.well-said.observability"],"id":"well-said.reliability","projectId":"well-said","sectionId":"well-said.operations"},{"rowId":"ship","kind":"owned","label":"Swift iOS app, launched","factIds":["f.song-sweeper.solo"],"id":"song-sweeper.ship","projectId":"song-sweeper","sectionId":"song-sweeper.build"},{"rowId":"ai-workflow","kind":"owned","label":"Built with Claude Code","factIds":["f.song-sweeper.claude-code"],"id":"song-sweeper.ai-workflow","projectId":"song-sweeper","sectionId":"song-sweeper.build"},{"rowId":"discovery","kind":"owned","label":"No solution existed","factIds":["f.song-sweeper.why"],"id":"song-sweeper.discovery","projectId":"song-sweeper","sectionId":"song-sweeper.problem"},{"rowId":"ux","kind":"owned","label":"Messy cleanup → simple flow","factIds":["f.song-sweeper.what","f.song-sweeper.solo"],"id":"song-sweeper.ux","projectId":"song-sweeper","sectionId":"song-sweeper.cleanup-flow"},{"rowId":"revenue","kind":"result","value":"6×","label":"Revenue growth; 20% download→purchase","factIds":["f.song-sweeper.revenue-6x","f.song-sweeper.download-to-purchase"],"id":"song-sweeper.revenue","projectId":"song-sweeper","sectionId":"song-sweeper.growth"},{"rowId":"growth","kind":"result","value":"#1","label":"For duplicate songs; 10% search→download","factIds":["f.song-sweeper.rank-1","f.song-sweeper.search-to-download"],"id":"song-sweeper.growth","projectId":"song-sweeper","sectionId":"song-sweeper.growth"},{"rowId":"marketing","kind":"owned","label":"Site, ASO, launch","factIds":["f.song-sweeper.solo","f.song-sweeper.search-to-download"],"id":"song-sweeper.marketing","projectId":"song-sweeper","sectionId":"song-sweeper.growth"},{"rowId":"analytics","kind":"owned","label":"PostHog analytics","factIds":["f.song-sweeper.scope"],"id":"song-sweeper.analytics","projectId":"song-sweeper","sectionId":"song-sweeper.build"},{"rowId":"billing","kind":"owned","label":"In-app purchases","factIds":["f.song-sweeper.scope"],"id":"song-sweeper.billing","projectId":"song-sweeper","sectionId":"song-sweeper.build"},{"rowId":"reliability","kind":"owned","label":"Alerts","factIds":["f.song-sweeper.scope"],"id":"song-sweeper.reliability","projectId":"song-sweeper","sectionId":"song-sweeper.build"},{"rowId":"ship","kind":"contributed","label":"Working prototypes, draft code for handoff","factIds":["f.gitkraken.ai-prototypes"],"id":"gitkraken.ship","projectId":"gitkraken","sectionId":"gitkraken.ai-workflows"},{"rowId":"ai-evals","kind":"result","value":"55→75%","label":"Commit-message upvotes; LLM judges tuned to human ratings","factIds":["f.gitkraken.eval-result","f.gitkraken.eval-process"],"id":"gitkraken.ai-evals","projectId":"gitkraken","sectionId":"gitkraken.ai-evals"},{"rowId":"ai-workflow","kind":"result","value":"~4×","label":"Faster draft-to-ready planning","factIds":["f.gitkraken.ai-planning"],"id":"gitkraken.ai-workflow","projectId":"gitkraken","sectionId":"gitkraken.ai-workflows"},{"rowId":"discovery","kind":"owned","label":"AI credits: 3-part proposal → one org pool","factIds":["f.gitkraken.ai-credits"],"id":"gitkraken.discovery","projectId":"gitkraken","sectionId":"gitkraken.ai-credits"},{"rowId":"ux","kind":"owned","label":"Checkout + account redesign, unified cross-product checkout","factIds":["f.gitkraken.account-redesign","f.gitkraken.unified-checkout"],"id":"gitkraken.ux","projectId":"gitkraken","sectionId":"gitkraken.checkout-redesign"},{"rowId":"revenue","kind":"result","value":"100K","label":"Subscriptions; pricing & plan changes","factIds":["f.gitkraken.pricing-100k"],"id":"gitkraken.revenue","projectId":"gitkraken","sectionId":"gitkraken.pricing"},{"rowId":"growth","kind":"result","value":"+60%","label":"Seat expansion; churn −10%, checkout +15%","factIds":["f.gitkraken.domain-matching-60","f.gitkraken.cancellation-flow-10","f.gitkraken.checkout-15"],"id":"gitkraken.growth","projectId":"gitkraken","sectionId":"gitkraken.growth"},{"rowId":"marketing","kind":"owned","label":"Referral & affiliate system","factIds":["f.gitkraken.referral"],"id":"gitkraken.marketing","projectId":"gitkraken","sectionId":"gitkraken.growth"},{"rowId":"analytics","kind":"owned","label":"Agentic analysis: hours → minutes","factIds":["f.gitkraken.ai-analytics"],"id":"gitkraken.analytics","projectId":"gitkraken","sectionId":"gitkraken.ai-workflows"},{"rowId":"billing","kind":"owned","label":"SSO, organizations, subscription billing","factIds":["f.gitkraken.sso","f.gitkraken.account-simplification","f.gitkraken.role"],"id":"gitkraken.billing","projectId":"gitkraken","sectionId":"gitkraken.accounts"},{"rowId":"reliability","kind":"result","value":"−80%","label":"Billing support tickets","factIds":["f.gitkraken.billing-tickets-80"],"id":"gitkraken.reliability","projectId":"gitkraken","sectionId":"gitkraken.billing-reliability"},{"rowId":"internal-tools","kind":"owned","label":"Rebuilt admin platform; support self-serves trials & access","factIds":["f.gitkraken.admin-platform"],"id":"gitkraken.internal-tools","projectId":"gitkraken","sectionId":"gitkraken.admin-platform"},{"rowId":"stakeholders","kind":"owned","label":"CEO, CFO, CMO, CPO; finance & legal","factIds":["f.gitkraken.pricing-100k","f.gitkraken.international-tax"],"id":"gitkraken.stakeholders","projectId":"gitkraken","sectionId":"gitkraken.pricing"},{"rowId":"ship","kind":"owned","label":"Slack app, log-parsing tool","factIds":["f.apple-pay.slack-app","f.apple-pay.log-parser"],"id":"apple-pay.ship","projectId":"apple-pay","sectionId":"apple-pay.slack-app"},{"rowId":"discovery","kind":"owned","label":"Owned internal-tools roadmap","factIds":["f.apple-pay.rotation"],"id":"apple-pay.discovery","projectId":"apple-pay","sectionId":"apple-pay.rotation"},{"rowId":"ux","kind":"contributed","label":"Wallet driver's license QA","factIds":["f.apple-pay.wallet-qa"],"id":"apple-pay.ux","projectId":"apple-pay","sectionId":"apple-pay.wallet-qa"},{"rowId":"reliability","kind":"owned","label":"Bug logs → actionable signals","factIds":["f.apple-pay.log-parser"],"id":"apple-pay.reliability","projectId":"apple-pay","sectionId":"apple-pay.log-parser"},{"rowId":"internal-tools","kind":"owned","label":"Slack progress & blocker app","factIds":["f.apple-pay.slack-app"],"id":"apple-pay.internal-tools","projectId":"apple-pay","sectionId":"apple-pay.slack-app"},{"rowId":"stakeholders","kind":"contributed","label":"Leadership visibility","factIds":["f.apple-pay.slack-app"],"id":"apple-pay.stakeholders","projectId":"apple-pay","sectionId":"apple-pay.slack-app"},{"rowId":"growth","kind":"contributed","label":"Trade-ins +40% in a month","factIds":["f.apple-retail.trade-ins-40"],"id":"apple-retail.growth","projectId":"apple-retail","sectionId":"apple-retail.trade-ins"},{"rowId":"stakeholders","kind":"result","value":"100%","label":"NPS; built new-team training plan","factIds":["f.apple-retail.nps-100","f.apple-retail.training"],"id":"apple-retail.stakeholders","projectId":"apple-retail","sectionId":"apple-retail.nps"}]}}