@tomako/tools-runtime 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/package.json +629 -0
- package/src/assets/icons/brands/social/bluesky-icon.tsx +9 -0
- package/src/assets/icons/brands/social/facebook-icon.tsx +9 -0
- package/src/assets/icons/brands/social/index.ts +8 -0
- package/src/assets/icons/brands/social/instagram-icon.tsx +9 -0
- package/src/assets/icons/brands/social/linkedin-icon.tsx +9 -0
- package/src/assets/icons/brands/social/threads-icon.tsx +9 -0
- package/src/assets/icons/brands/social/tiktok-icon.tsx +10 -0
- package/src/assets/icons/brands/social/x-icon.tsx +9 -0
- package/src/assets/icons/brands/social/youtube-icon.tsx +9 -0
- package/src/assets/icons/social-profile/facebook-icon.tsx +12 -0
- package/src/assets/icons/social-profile/index.ts +29 -0
- package/src/assets/icons/social-profile/instagram-icon.tsx +18 -0
- package/src/assets/icons/social-profile/linkedin-icon.tsx +12 -0
- package/src/assets/icons/social-profile/tiktok-icon.tsx +12 -0
- package/src/assets/icons/social-profile/x-icon.tsx +13 -0
- package/src/assets/icons/social-profile/youtube-icon.tsx +12 -0
- package/src/components/tools/engine/form-builder.tsx +219 -0
- package/src/components/tools/engine/package-widget-loader.tsx +38 -0
- package/src/components/tools/engine/package-widget-runtime.tsx +409 -0
- package/src/components/tools/engine/package-widget.tsx +77 -0
- package/src/components/tools/engine/result-view.tsx +596 -0
- package/src/components/tools/engine/use-legacy-llm-task.ts +64 -0
- package/src/components/tools/engine/use-tool-task.ts +195 -0
- package/src/components/tools/market-forecast-report.tsx +1150 -0
- package/src/components/tools/registry.ts +13 -0
- package/src/components/tools/workspace/index.ts +39 -0
- package/src/components/tools/workspace/tool-action-bar.tsx +99 -0
- package/src/components/tools/workspace/tool-empty-panel.tsx +32 -0
- package/src/components/tools/workspace/tool-error-panel.tsx +40 -0
- package/src/components/tools/workspace/tool-field.tsx +124 -0
- package/src/components/tools/workspace/tool-file-upload.tsx +112 -0
- package/src/components/tools/workspace/tool-form-section.tsx +21 -0
- package/src/components/tools/workspace/tool-form-shell.tsx +36 -0
- package/src/components/tools/workspace/tool-loading-panel.tsx +269 -0
- package/src/components/tools/workspace/tool-option-row.tsx +97 -0
- package/src/components/tools/workspace/tool-preview-panel.tsx +31 -0
- package/src/components/tools/workspace/tool-result-actions.tsx +67 -0
- package/src/components/tools/workspace/tool-result-file-actions.ts +31 -0
- package/src/components/tools/workspace/tool-result-header.tsx +39 -0
- package/src/components/tools/workspace/tool-status.tsx +13 -0
- package/src/components/tools/workspace/tool-workspace-layout.tsx +226 -0
- package/src/constants/LKS.ts +29 -0
- package/src/constants/related-tools.ts +18 -0
- package/src/constants/social-profile-kit.ts +284 -0
- package/src/constants/tool-assets.ts +7 -0
- package/src/env.d.ts +3 -0
- package/src/features/tools/_templates/standard-tool.container.tsx +90 -0
- package/src/features/tools/app-icon-resizer/app-icon-resizer.container.tsx +11 -0
- package/src/features/tools/app-icon-resizer/app-icon-resizer.spec.ts +15 -0
- package/src/features/tools/app-icon-resizer/widget/app-icon-resizer.tsx +444 -0
- package/src/features/tools/app-icon-resizer/widget/constants.ts +19 -0
- package/src/features/tools/app-icon-resizer/widget/helpers.ts +314 -0
- package/src/features/tools/app-icon-resizer/widget/index.ts +7 -0
- package/src/features/tools/app-icon-resizer/widget/platform-icons.tsx +59 -0
- package/src/features/tools/app-icon-resizer/widget/preview-dialogs.tsx +139 -0
- package/src/features/tools/app-icon-resizer/widget/result-shell.tsx +165 -0
- package/src/features/tools/app-icon-resizer/widget/types.ts +36 -0
- package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.container.tsx +108 -0
- package/src/features/tools/app-store-screenshot-generator/app-store-screenshot-generator.spec.ts +14 -0
- package/src/features/tools/app-store-screenshot-generator/config.ts +3 -0
- package/src/features/tools/app-store-screenshot-generator/widget/app-store-screenshot-generator.tsx +1250 -0
- package/src/features/tools/app-store-screenshot-generator/widget/asset-slots.ts +76 -0
- package/src/features/tools/app-store-screenshot-generator/widget/constants.ts +43 -0
- package/src/features/tools/app-store-screenshot-generator/widget/form-controls.tsx +214 -0
- package/src/features/tools/app-store-screenshot-generator/widget/generation.ts +528 -0
- package/src/features/tools/app-store-screenshot-generator/widget/index.ts +7 -0
- package/src/features/tools/app-store-screenshot-generator/widget/input-media.ts +175 -0
- package/src/features/tools/app-store-screenshot-generator/widget/types.ts +60 -0
- package/src/features/tools/app-store-screenshot-generator/widget/zip.ts +119 -0
- package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.container.tsx +135 -0
- package/src/features/tools/build-in-public-story-generator/build-in-public-story-generator.spec.ts +15 -0
- package/src/features/tools/build-in-public-story-generator/widget/build-in-public-story-generator.tsx +314 -0
- package/src/features/tools/build-in-public-story-generator/widget/constants.ts +3 -0
- package/src/features/tools/build-in-public-story-generator/widget/helpers.ts +25 -0
- package/src/features/tools/build-in-public-story-generator/widget/index.ts +7 -0
- package/src/features/tools/build-in-public-story-generator/widget/preview-panels.tsx +58 -0
- package/src/features/tools/build-in-public-story-generator/widget/result-shell.tsx +164 -0
- package/src/features/tools/build-in-public-story-generator/widget/types.ts +6 -0
- package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.container.tsx +30 -0
- package/src/features/tools/cold-start-channel-selector/cold-start-channel-selector.spec.ts +15 -0
- package/src/features/tools/cold-start-channel-selector/widget/cold-start-channel-selector.tsx +417 -0
- package/src/features/tools/cold-start-channel-selector/widget/constants.ts +46 -0
- package/src/features/tools/cold-start-channel-selector/widget/form-controls.tsx +41 -0
- package/src/features/tools/cold-start-channel-selector/widget/helpers.ts +75 -0
- package/src/features/tools/cold-start-channel-selector/widget/index.ts +7 -0
- package/src/features/tools/cold-start-channel-selector/widget/preview-panels.tsx +250 -0
- package/src/features/tools/cold-start-channel-selector/widget/result-shell.tsx +199 -0
- package/src/features/tools/cold-start-channel-selector/widget/types.ts +21 -0
- package/src/features/tools/commercial-bp-generator/commercial-bp-generator.container.tsx +102 -0
- package/src/features/tools/commercial-bp-generator/commercial-bp-generator.spec.ts +14 -0
- package/src/features/tools/commercial-bp-generator/widget/commercial-bp-generator.tsx +676 -0
- package/src/features/tools/commercial-bp-generator/widget/constants.ts +32 -0
- package/src/features/tools/commercial-bp-generator/widget/helpers.ts +147 -0
- package/src/features/tools/commercial-bp-generator/widget/index.ts +7 -0
- package/src/features/tools/commercial-bp-generator/widget/result-shell.tsx +271 -0
- package/src/features/tools/commercial-bp-generator/widget/style-option.tsx +54 -0
- package/src/features/tools/commercial-bp-generator/widget/types.ts +33 -0
- package/src/features/tools/community-feedback-inbox/community-feedback-inbox.container.tsx +126 -0
- package/src/features/tools/community-feedback-inbox/community-feedback-inbox.spec.ts +15 -0
- package/src/features/tools/community-feedback-inbox/widget/community-feedback-inbox.tsx +271 -0
- package/src/features/tools/community-feedback-inbox/widget/constants.ts +3 -0
- package/src/features/tools/community-feedback-inbox/widget/helpers.ts +28 -0
- package/src/features/tools/community-feedback-inbox/widget/index.ts +7 -0
- package/src/features/tools/community-feedback-inbox/widget/preview-panels.tsx +92 -0
- package/src/features/tools/community-feedback-inbox/widget/result-shell.tsx +266 -0
- package/src/features/tools/community-feedback-inbox/widget/types.ts +6 -0
- package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.container.tsx +124 -0
- package/src/features/tools/community-pain-point-extractor/community-pain-point-extractor.spec.ts +15 -0
- package/src/features/tools/community-pain-point-extractor/widget/community-pain-point-extractor.tsx +404 -0
- package/src/features/tools/community-pain-point-extractor/widget/constants.ts +41 -0
- package/src/features/tools/community-pain-point-extractor/widget/helpers.ts +76 -0
- package/src/features/tools/community-pain-point-extractor/widget/index.ts +8 -0
- package/src/features/tools/community-pain-point-extractor/widget/progress-panels.tsx +251 -0
- package/src/features/tools/community-pain-point-extractor/widget/result-shell.tsx +478 -0
- package/src/features/tools/community-pain-point-extractor/widget/types.ts +33 -0
- package/src/features/tools/community-post-risk-checker/community-post-risk-checker.package.ts +792 -0
- package/src/features/tools/competitor-analysis/competitor-analysis.container.tsx +136 -0
- package/src/features/tools/competitor-analysis/competitor-analysis.spec.ts +15 -0
- package/src/features/tools/competitor-analysis/widget/competitor-analysis.tsx +241 -0
- package/src/features/tools/competitor-analysis/widget/constants.ts +9 -0
- package/src/features/tools/competitor-analysis/widget/index.ts +7 -0
- package/src/features/tools/competitor-analysis/widget/preview-panels.tsx +60 -0
- package/src/features/tools/competitor-analysis/widget/result-shell.tsx +418 -0
- package/src/features/tools/competitor-analysis/widget/types.ts +13 -0
- package/src/features/tools/disclaimer-generator/disclaimer-generator.package.ts +339 -0
- package/src/features/tools/email-template-generator/email-template-generator.container.tsx +224 -0
- package/src/features/tools/email-template-generator/email-template-generator.spec.ts +14 -0
- package/src/features/tools/email-template-generator/widget/email-template-generator.tsx +358 -0
- package/src/features/tools/email-template-generator/widget/helpers.ts +39 -0
- package/src/features/tools/email-template-generator/widget/index.ts +7 -0
- package/src/features/tools/email-template-generator/widget/preview-panel.tsx +311 -0
- package/src/features/tools/email-template-generator/widget/result-text-block.tsx +7 -0
- package/src/features/tools/email-template-generator/widget/types.ts +24 -0
- package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.container.tsx +75 -0
- package/src/features/tools/gtm-readiness-checklist/gtm-readiness-checklist.spec.ts +15 -0
- package/src/features/tools/gtm-readiness-checklist/widget/gtm-readiness-checklist.tsx +122 -0
- package/src/features/tools/gtm-readiness-checklist/widget/index.ts +7 -0
- package/src/features/tools/investor-matching-planner/investor-matching-planner.package.ts +869 -0
- package/src/features/tools/koko-codex-assistant/koko-codex-assistant.container.tsx +151 -0
- package/src/features/tools/koko-codex-assistant/koko-codex-assistant.spec.ts +14 -0
- package/src/features/tools/koko-codex-assistant/widget/index.ts +7 -0
- package/src/features/tools/koko-codex-assistant/widget/koko-codex-assistant-download.tsx +192 -0
- package/src/features/tools/logo-generator/logo-generator.container.tsx +112 -0
- package/src/features/tools/logo-generator/logo-generator.spec.ts +15 -0
- package/src/features/tools/logo-generator/widget/index.ts +7 -0
- package/src/features/tools/logo-generator/widget/logo-generator.tsx +1244 -0
- package/src/features/tools/market-forecast-report/market-forecast-report.container.tsx +73 -0
- package/src/features/tools/market-forecast-report/market-forecast-report.spec.ts +15 -0
- package/src/features/tools/million-user-growth-test/million-user-growth-test.container.tsx +123 -0
- package/src/features/tools/million-user-growth-test/million-user-growth-test.spec.ts +14 -0
- package/src/features/tools/million-user-growth-test/widget/index.ts +7 -0
- package/src/features/tools/million-user-growth-test/widget/million-user-growth-test.tsx +433 -0
- package/src/features/tools/module-loader.ts +107 -0
- package/src/features/tools/og-image-generator/og-image-generator.container.tsx +86 -0
- package/src/features/tools/og-image-generator/og-image-generator.spec.ts +14 -0
- package/src/features/tools/og-image-generator/widget/constants.ts +38 -0
- package/src/features/tools/og-image-generator/widget/form-fields.tsx +240 -0
- package/src/features/tools/og-image-generator/widget/index.ts +7 -0
- package/src/features/tools/og-image-generator/widget/og-image-generator.tsx +742 -0
- package/src/features/tools/og-image-generator/widget/preview-panel.tsx +305 -0
- package/src/features/tools/og-image-generator/widget/types.ts +1 -0
- package/src/features/tools/package/direct-models.ts +20 -0
- package/src/features/tools/package/form.ts +38 -0
- package/src/features/tools/package/l10n.ts +22 -0
- package/src/features/tools/package/package-container.tsx +285 -0
- package/src/features/tools/package/package-loaders.ts +22 -0
- package/src/features/tools/package/package-registry.ts +36 -0
- package/src/features/tools/package/result-markdown.ts +142 -0
- package/src/features/tools/package/schema.ts +379 -0
- package/src/features/tools/package/to-tool-module.ts +20 -0
- package/src/features/tools/package/to-tool-spec.ts +52 -0
- package/src/features/tools/package/types.ts +381 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-generator.container.tsx +175 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-generator.spec.ts +14 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-library-data.ts +476 -0
- package/src/features/tools/pitch-deck-generator/pitch-deck-library.tsx +159 -0
- package/src/features/tools/pitch-deck-generator/widget/ceremony-line.tsx +27 -0
- package/src/features/tools/pitch-deck-generator/widget/constants.ts +27 -0
- package/src/features/tools/pitch-deck-generator/widget/index.ts +7 -0
- package/src/features/tools/pitch-deck-generator/widget/pitch-deck-generator.tsx +763 -0
- package/src/features/tools/pitch-deck-generator/widget/result-helpers.ts +102 -0
- package/src/features/tools/pitch-deck-generator/widget/result-shell.tsx +263 -0
- package/src/features/tools/pitch-deck-generator/widget/slide-frame.tsx +106 -0
- package/src/features/tools/pitch-deck-generator/widget/slide-lightbox.tsx +149 -0
- package/src/features/tools/pitch-deck-generator/widget/style-option.tsx +54 -0
- package/src/features/tools/pitch-deck-generator/widget/types.ts +44 -0
- package/src/features/tools/product-agreement-generator/product-agreement-generator.container.tsx +137 -0
- package/src/features/tools/product-agreement-generator/product-agreement-generator.spec.ts +14 -0
- package/src/features/tools/product-agreement-generator/widget/constants.ts +27 -0
- package/src/features/tools/product-agreement-generator/widget/form-controls.tsx +218 -0
- package/src/features/tools/product-agreement-generator/widget/helpers.ts +68 -0
- package/src/features/tools/product-agreement-generator/widget/index.ts +7 -0
- package/src/features/tools/product-agreement-generator/widget/product-agreement-generator.tsx +671 -0
- package/src/features/tools/product-agreement-generator/widget/result-shell.tsx +473 -0
- package/src/features/tools/product-agreement-generator/widget/types.ts +89 -0
- package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.container.tsx +122 -0
- package/src/features/tools/product-hunt-launch-planner/product-hunt-launch-planner.spec.ts +15 -0
- package/src/features/tools/product-hunt-launch-planner/widget/constants.ts +5 -0
- package/src/features/tools/product-hunt-launch-planner/widget/helpers.ts +44 -0
- package/src/features/tools/product-hunt-launch-planner/widget/index.ts +7 -0
- package/src/features/tools/product-hunt-launch-planner/widget/preview-panel.tsx +143 -0
- package/src/features/tools/product-hunt-launch-planner/widget/product-hunt-launch-planner.tsx +504 -0
- package/src/features/tools/product-hunt-launch-planner/widget/result-shell.tsx +176 -0
- package/src/features/tools/product-hunt-launch-planner/widget/types.ts +20 -0
- package/src/features/tools/product-name-generator/product-name-generator.container.tsx +14 -0
- package/src/features/tools/product-name-generator/product-name-generator.spec.ts +15 -0
- package/src/features/tools/product-name-generator/widget/candidate-card.tsx +273 -0
- package/src/features/tools/product-name-generator/widget/constants.ts +21 -0
- package/src/features/tools/product-name-generator/widget/form-controls.tsx +136 -0
- package/src/features/tools/product-name-generator/widget/helpers.ts +41 -0
- package/src/features/tools/product-name-generator/widget/index.ts +7 -0
- package/src/features/tools/product-name-generator/widget/product-name-generator.tsx +776 -0
- package/src/features/tools/product-name-generator/widget/types.ts +36 -0
- package/src/features/tools/product-positioning-analyzer/product-positioning-analyzer.package.ts +801 -0
- package/src/features/tools/product-poster-generator/product-poster-generator.container.tsx +14 -0
- package/src/features/tools/product-poster-generator/product-poster-generator.spec.ts +15 -0
- package/src/features/tools/product-poster-generator/widget/constants.ts +125 -0
- package/src/features/tools/product-poster-generator/widget/form-controls.tsx +204 -0
- package/src/features/tools/product-poster-generator/widget/helpers.ts +155 -0
- package/src/features/tools/product-poster-generator/widget/index.ts +7 -0
- package/src/features/tools/product-poster-generator/widget/product-poster-generator.tsx +663 -0
- package/src/features/tools/product-poster-generator/widget/result-shell.tsx +12 -0
- package/src/features/tools/product-poster-generator/widget/types.ts +83 -0
- package/src/features/tools/product-ui-generator/product-ui-generator.container.tsx +116 -0
- package/src/features/tools/product-ui-generator/product-ui-generator.spec.ts +14 -0
- package/src/features/tools/product-ui-generator/widget/constants.ts +18 -0
- package/src/features/tools/product-ui-generator/widget/helpers.ts +11 -0
- package/src/features/tools/product-ui-generator/widget/index.ts +7 -0
- package/src/features/tools/product-ui-generator/widget/preview-panels.tsx +73 -0
- package/src/features/tools/product-ui-generator/widget/product-ui-generator.tsx +304 -0
- package/src/features/tools/product-ui-generator/widget/result-shell.tsx +118 -0
- package/src/features/tools/product-ui-generator/widget/types.ts +9 -0
- package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.container.tsx +113 -0
- package/src/features/tools/reddit-pain-point-finder/reddit-pain-point-finder.spec.ts +15 -0
- package/src/features/tools/reddit-pain-point-finder/widget/constants.ts +5 -0
- package/src/features/tools/reddit-pain-point-finder/widget/index.ts +7 -0
- package/src/features/tools/reddit-pain-point-finder/widget/preview-panels.tsx +73 -0
- package/src/features/tools/reddit-pain-point-finder/widget/reddit-pain-point-finder.tsx +281 -0
- package/src/features/tools/reddit-pain-point-finder/widget/result-shell.tsx +203 -0
- package/src/features/tools/reddit-pain-point-finder/widget/types.ts +15 -0
- package/src/features/tools/registry.ts +288 -0
- package/src/features/tools/runtime-registry.ts +186 -0
- package/src/features/tools/shared/create-guide-stack-container.tsx +176 -0
- package/src/features/tools/shared/create-standard-landing-container.tsx +163 -0
- package/src/features/tools/shared/tool-content-sections.tsx +659 -0
- package/src/features/tools/shared/tool-cta.tsx +66 -0
- package/src/features/tools/shared/tool-draft-view.tsx +53 -0
- package/src/features/tools/shared/tool-guide-section.tsx +191 -0
- package/src/features/tools/shared/tool-handoff.tsx +38 -0
- package/src/features/tools/shared/tool-mcp-badge.tsx +23 -0
- package/src/features/tools/shared/tool-message-translator.ts +37 -0
- package/src/features/tools/shared/tool-page-shell.tsx +348 -0
- package/src/features/tools/shared/tool-standard-generation-steps.tsx +52 -0
- package/src/features/tools/shared/tool-standard-landing-sections.tsx +447 -0
- package/src/features/tools/shared/tool-ui-registry.ts +237 -0
- package/src/features/tools/shared/tool-widget-slot.tsx +29 -0
- package/src/features/tools/slogan-generator/slogan-generator.package.ts +641 -0
- package/src/features/tools/social-listening-research-report/social-listening-research-report.container.tsx +124 -0
- package/src/features/tools/social-listening-research-report/social-listening-research-report.spec.ts +15 -0
- package/src/features/tools/social-listening-research-report/widget/constants.ts +4 -0
- package/src/features/tools/social-listening-research-report/widget/index.ts +7 -0
- package/src/features/tools/social-listening-research-report/widget/preview-panels.tsx +73 -0
- package/src/features/tools/social-listening-research-report/widget/result-shell.tsx +216 -0
- package/src/features/tools/social-listening-research-report/widget/social-listening-research-report.tsx +303 -0
- package/src/features/tools/social-listening-research-report/widget/types.ts +15 -0
- package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.container.tsx +123 -0
- package/src/features/tools/social-platform-asset-adapter/social-platform-asset-adapter.spec.ts +15 -0
- package/src/features/tools/social-platform-asset-adapter/widget/constants.ts +43 -0
- package/src/features/tools/social-platform-asset-adapter/widget/helpers.ts +249 -0
- package/src/features/tools/social-platform-asset-adapter/widget/index.ts +7 -0
- package/src/features/tools/social-platform-asset-adapter/widget/result-shell.tsx +350 -0
- package/src/features/tools/social-platform-asset-adapter/widget/section-heading.tsx +18 -0
- package/src/features/tools/social-platform-asset-adapter/widget/social-platform-asset-adapter.tsx +641 -0
- package/src/features/tools/social-platform-asset-adapter/widget/types.ts +40 -0
- package/src/features/tools/social-profile-kit/social-profile-kit.container.tsx +177 -0
- package/src/features/tools/social-profile-kit/social-profile-kit.spec.ts +15 -0
- package/src/features/tools/social-profile-kit/widget/context-editor.tsx +171 -0
- package/src/features/tools/social-profile-kit/widget/generation-runtime.ts +281 -0
- package/src/features/tools/social-profile-kit/widget/index.ts +7 -0
- package/src/features/tools/social-profile-kit/widget/input-panel.tsx +294 -0
- package/src/features/tools/social-profile-kit/widget/platform-dock.tsx +115 -0
- package/src/features/tools/social-profile-kit/widget/profile-canvas.tsx +318 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/bluesky-preview.tsx +188 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/facebook-preview.tsx +168 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/index.ts +1 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/instagram-preview.tsx +278 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/linkedin-preview.tsx +358 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/profile-preview.tsx +348 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/shared.tsx +391 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/threads-preview.tsx +148 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/tiktok-preview.tsx +319 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/x-preview.tsx +341 -0
- package/src/features/tools/social-profile-kit/widget/profile-preview/youtube-preview.tsx +297 -0
- package/src/features/tools/social-profile-kit/widget/social-profile-kit-generator.tsx +1059 -0
- package/src/features/tools/social-profile-kit/widget/types.ts +104 -0
- package/src/features/tools/spec-registry.ts +158 -0
- package/src/features/tools/startup-idea-research/startup-idea-research.container.tsx +111 -0
- package/src/features/tools/startup-idea-research/startup-idea-research.spec.ts +15 -0
- package/src/features/tools/startup-idea-research/widget/constants.ts +11 -0
- package/src/features/tools/startup-idea-research/widget/index.ts +7 -0
- package/src/features/tools/startup-idea-research/widget/preview-panels.tsx +67 -0
- package/src/features/tools/startup-idea-research/widget/result-shell.tsx +323 -0
- package/src/features/tools/startup-idea-research/widget/startup-idea-research.tsx +272 -0
- package/src/features/tools/startup-idea-research/widget/types.ts +21 -0
- package/src/features/tools/tarot-reading/tarot-reading.container.tsx +412 -0
- package/src/features/tools/tarot-reading/tarot-reading.spec.ts +15 -0
- package/src/features/tools/tarot-reading/widget/cards.tsx +152 -0
- package/src/features/tools/tarot-reading/widget/constants.ts +69 -0
- package/src/features/tools/tarot-reading/widget/deck-view.tsx +86 -0
- package/src/features/tools/tarot-reading/widget/deck.ts +86 -0
- package/src/features/tools/tarot-reading/widget/index.ts +7 -0
- package/src/features/tools/tarot-reading/widget/landing-view.tsx +209 -0
- package/src/features/tools/tarot-reading/widget/reading-copy.tsx +138 -0
- package/src/features/tools/tarot-reading/widget/reading-view.tsx +189 -0
- package/src/features/tools/tarot-reading/widget/reveal-view.tsx +50 -0
- package/src/features/tools/tarot-reading/widget/ritual-view.tsx +276 -0
- package/src/features/tools/tarot-reading/widget/tarot-reading.tsx +262 -0
- package/src/features/tools/tarot-reading/widget/types.ts +22 -0
- package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.container.tsx +114 -0
- package/src/features/tools/twitter-gif-downloader/twitter-gif-downloader.spec.ts +14 -0
- package/src/features/tools/twitter-gif-downloader/widget/index.ts +7 -0
- package/src/features/tools/twitter-gif-downloader/widget/twitter-gif-downloader.tsx +351 -0
- package/src/features/tools/types.ts +68 -0
- package/src/features/tools/user-interview-guide-generator/user-interview-guide-generator.package.ts +774 -0
- package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.container.tsx +23 -0
- package/src/features/tools/user-interview-insight-report-generator/user-interview-insight-report-generator.spec.ts +14 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/constants.ts +8 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/helpers.ts +4 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/index.ts +7 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/preview-panels.tsx +55 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/result-shell.tsx +122 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/types.ts +16 -0
- package/src/features/tools/user-interview-insight-report-generator/widget/user-interview-insight-report-generator.tsx +293 -0
- package/src/features/tools/user-interview-record-generator/user-interview-record-generator.container.tsx +18 -0
- package/src/features/tools/user-interview-record-generator/user-interview-record-generator.spec.ts +14 -0
- package/src/features/tools/user-interview-record-generator/widget/constants.ts +9 -0
- package/src/features/tools/user-interview-record-generator/widget/helpers.ts +4 -0
- package/src/features/tools/user-interview-record-generator/widget/index.ts +7 -0
- package/src/features/tools/user-interview-record-generator/widget/preview-panels.tsx +48 -0
- package/src/features/tools/user-interview-record-generator/widget/result-shell.tsx +128 -0
- package/src/features/tools/user-interview-record-generator/widget/types.ts +16 -0
- package/src/features/tools/user-interview-record-generator/widget/user-interview-record-generator.tsx +305 -0
- package/src/features/tools/utm-builder/utm-builder.package.ts +846 -0
- package/src/features/tools/widget-registry.ts +73 -0
- package/src/generated/mcp-tools-registry.json +17 -0
- package/src/host/client-proxy.test.ts +33 -0
- package/src/host/client.ts +678 -0
- package/src/host/server.ts +119 -0
- package/src/i18n/client.ts +11 -0
- package/src/i18n/locale-fallback.ts +38 -0
- package/src/i18n/locale.ts +18 -0
- package/src/i18n/messages/en/page/tools.ts +124 -0
- package/src/i18n/messages/en/tools/app-icon-resizer.ts +244 -0
- package/src/i18n/messages/en/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/en/tools/build-in-public-story-generator.ts +229 -0
- package/src/i18n/messages/en/tools/cold-start-channel-selector.ts +423 -0
- package/src/i18n/messages/en/tools/commercial-bp-generator.ts +304 -0
- package/src/i18n/messages/en/tools/community-feedback-inbox.ts +218 -0
- package/src/i18n/messages/en/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/en/tools/community-post-risk-checker.ts +209 -0
- package/src/i18n/messages/en/tools/competitor-analysis.ts +197 -0
- package/src/i18n/messages/en/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/en/tools/engine.ts +69 -0
- package/src/i18n/messages/en/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/en/tools/index.ts +73 -0
- package/src/i18n/messages/en/tools/koko-codex-assistant.ts +171 -0
- package/src/i18n/messages/en/tools/logo-generator.ts +173 -0
- package/src/i18n/messages/en/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/en/tools/million-user-growth-test.ts +386 -0
- package/src/i18n/messages/en/tools/og-image-generator.ts +172 -0
- package/src/i18n/messages/en/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/en/tools/product-agreement-generator.ts +411 -0
- package/src/i18n/messages/en/tools/product-hunt-launch-planner.ts +272 -0
- package/src/i18n/messages/en/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/en/tools/product-poster-generator.ts +294 -0
- package/src/i18n/messages/en/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/en/tools/reddit-pain-point-finder.ts +163 -0
- package/src/i18n/messages/en/tools/shared.ts +24 -0
- package/src/i18n/messages/en/tools/social-listening-research-report.ts +185 -0
- package/src/i18n/messages/en/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/en/tools/social-platform-asset-adapter.ts +287 -0
- package/src/i18n/messages/en/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/en/tools/startup-idea-research.ts +170 -0
- package/src/i18n/messages/en/tools/tarot-reading.ts +230 -0
- package/src/i18n/messages/en/tools/twitter-gif-downloader.ts +145 -0
- package/src/i18n/messages/en/tools/user-interview-insight-report-generator.ts +242 -0
- package/src/i18n/messages/en/tools/user-interview-record-generator.ts +244 -0
- package/src/i18n/messages/en/tools-ui.ts +704 -0
- package/src/i18n/messages/zh/page/tools.ts +124 -0
- package/src/i18n/messages/zh/tools/app-icon-resizer.ts +242 -0
- package/src/i18n/messages/zh/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/zh/tools/build-in-public-story-generator.ts +230 -0
- package/src/i18n/messages/zh/tools/cold-start-channel-selector.ts +422 -0
- package/src/i18n/messages/zh/tools/commercial-bp-generator.ts +302 -0
- package/src/i18n/messages/zh/tools/community-feedback-inbox.ts +217 -0
- package/src/i18n/messages/zh/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/zh/tools/community-post-risk-checker.ts +200 -0
- package/src/i18n/messages/zh/tools/competitor-analysis.ts +192 -0
- package/src/i18n/messages/zh/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/zh/tools/engine.ts +68 -0
- package/src/i18n/messages/zh/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/zh/tools/index.ts +73 -0
- package/src/i18n/messages/zh/tools/koko-codex-assistant.ts +170 -0
- package/src/i18n/messages/zh/tools/logo-generator.ts +172 -0
- package/src/i18n/messages/zh/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/zh/tools/million-user-growth-test.ts +385 -0
- package/src/i18n/messages/zh/tools/og-image-generator.ts +173 -0
- package/src/i18n/messages/zh/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/zh/tools/product-agreement-generator.ts +401 -0
- package/src/i18n/messages/zh/tools/product-hunt-launch-planner.ts +267 -0
- package/src/i18n/messages/zh/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/zh/tools/product-poster-generator.ts +282 -0
- package/src/i18n/messages/zh/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/zh/tools/reddit-pain-point-finder.ts +162 -0
- package/src/i18n/messages/zh/tools/shared.ts +24 -0
- package/src/i18n/messages/zh/tools/social-listening-research-report.ts +181 -0
- package/src/i18n/messages/zh/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/zh/tools/social-platform-asset-adapter.ts +284 -0
- package/src/i18n/messages/zh/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/zh/tools/startup-idea-research.ts +165 -0
- package/src/i18n/messages/zh/tools/tarot-reading.ts +228 -0
- package/src/i18n/messages/zh/tools/twitter-gif-downloader.ts +138 -0
- package/src/i18n/messages/zh/tools/user-interview-insight-report-generator.ts +224 -0
- package/src/i18n/messages/zh/tools/user-interview-record-generator.ts +226 -0
- package/src/i18n/messages/zh/tools-ui.ts +684 -0
- package/src/i18n/messages/zh-tw/page/tools.ts +115 -0
- package/src/i18n/messages/zh-tw/tools/app-icon-resizer.ts +242 -0
- package/src/i18n/messages/zh-tw/tools/app-store-screenshot-generator.ts +145 -0
- package/src/i18n/messages/zh-tw/tools/build-in-public-story-generator.ts +230 -0
- package/src/i18n/messages/zh-tw/tools/cold-start-channel-selector.ts +440 -0
- package/src/i18n/messages/zh-tw/tools/commercial-bp-generator.ts +302 -0
- package/src/i18n/messages/zh-tw/tools/community-feedback-inbox.ts +217 -0
- package/src/i18n/messages/zh-tw/tools/community-pain-point-extractor.ts +230 -0
- package/src/i18n/messages/zh-tw/tools/community-post-risk-checker.ts +200 -0
- package/src/i18n/messages/zh-tw/tools/competitor-analysis.ts +192 -0
- package/src/i18n/messages/zh-tw/tools/email-template-generator.ts +302 -0
- package/src/i18n/messages/zh-tw/tools/engine.ts +68 -0
- package/src/i18n/messages/zh-tw/tools/gtm-readiness-checklist.ts +166 -0
- package/src/i18n/messages/zh-tw/tools/index.ts +73 -0
- package/src/i18n/messages/zh-tw/tools/koko-codex-assistant.ts +170 -0
- package/src/i18n/messages/zh-tw/tools/logo-generator.ts +71 -0
- package/src/i18n/messages/zh-tw/tools/market-forecast-report.ts +228 -0
- package/src/i18n/messages/zh-tw/tools/million-user-growth-test.ts +385 -0
- package/src/i18n/messages/zh-tw/tools/og-image-generator.ts +173 -0
- package/src/i18n/messages/zh-tw/tools/pitch-deck-generator.ts +358 -0
- package/src/i18n/messages/zh-tw/tools/product-agreement-generator.ts +401 -0
- package/src/i18n/messages/zh-tw/tools/product-hunt-launch-planner.ts +267 -0
- package/src/i18n/messages/zh-tw/tools/product-name-generator.ts +383 -0
- package/src/i18n/messages/zh-tw/tools/product-poster-generator.ts +282 -0
- package/src/i18n/messages/zh-tw/tools/product-ui-generator.ts +234 -0
- package/src/i18n/messages/zh-tw/tools/reddit-pain-point-finder.ts +162 -0
- package/src/i18n/messages/zh-tw/tools/shared.ts +24 -0
- package/src/i18n/messages/zh-tw/tools/social-listening-research-report.ts +181 -0
- package/src/i18n/messages/zh-tw/tools/social-media-profile-generator.ts +22 -0
- package/src/i18n/messages/zh-tw/tools/social-platform-asset-adapter.ts +284 -0
- package/src/i18n/messages/zh-tw/tools/social-profile-kit.ts +150 -0
- package/src/i18n/messages/zh-tw/tools/startup-idea-research.ts +165 -0
- package/src/i18n/messages/zh-tw/tools/tarot-reading.ts +228 -0
- package/src/i18n/messages/zh-tw/tools/twitter-gif-downloader.ts +138 -0
- package/src/i18n/messages/zh-tw/tools/user-interview-insight-report-generator.ts +224 -0
- package/src/i18n/messages/zh-tw/tools/user-interview-record-generator.ts +226 -0
- package/src/i18n/messages/zh-tw/tools-ui.ts +525 -0
- package/src/index.ts +15 -0
- package/src/lib/activity-task-handoff.ts +404 -0
- package/src/lib/api/errors.ts +39 -0
- package/src/lib/app-origin.ts +30 -0
- package/src/lib/fact-claim-contract.ts +68 -0
- package/src/lib/fake-delay.ts +3 -0
- package/src/lib/file/download.ts +10 -0
- package/src/lib/routing/locale-paths.ts +27 -0
- package/src/lib/seo-meta.ts +3 -0
- package/src/lib/tools/app-icon-resizer-schema.ts +191 -0
- package/src/lib/tools/app-store-screenshot-generator-schema.ts +185 -0
- package/src/lib/tools/build-in-public-story-generator-schema.ts +67 -0
- package/src/lib/tools/build-in-public-story-generator.format.ts +507 -0
- package/src/lib/tools/cold-start-channel-selector-schema.ts +147 -0
- package/src/lib/tools/commercial-bp-generator-schema.ts +222 -0
- package/src/lib/tools/community-feedback-inbox-schema.ts +125 -0
- package/src/lib/tools/community-feedback-inbox.format.ts +764 -0
- package/src/lib/tools/community-pain-point-extractor-schema.ts +166 -0
- package/src/lib/tools/community-post-risk-checker-schema.ts +99 -0
- package/src/lib/tools/community-post-risk-checker.format.ts +557 -0
- package/src/lib/tools/competitor-analysis-schema.ts +144 -0
- package/src/lib/tools/draft-preview-access.ts +3 -0
- package/src/lib/tools/draft-store.ts +69 -0
- package/src/lib/tools/email-template-generator-schema.ts +124 -0
- package/src/lib/tools/gtm-checklist-copy.ts +57 -0
- package/src/lib/tools/gtm-checklist-structure.ts +37 -0
- package/src/lib/tools/image-download.ts +68 -0
- package/src/lib/tools/input-quality.ts +97 -0
- package/src/lib/tools/logo-generator-schema.ts +224 -0
- package/src/lib/tools/market-forecast-report-schema.ts +299 -0
- package/src/lib/tools/mcp-registry.ts +16 -0
- package/src/lib/tools/mcp-types.ts +18 -0
- package/src/lib/tools/million-user-growth-test-schema.ts +49 -0
- package/src/lib/tools/million-user-growth-test.ts +181 -0
- package/src/lib/tools/og-image-generator-render.ts +448 -0
- package/src/lib/tools/og-image-generator-schema.ts +140 -0
- package/src/lib/tools/ops-catalog.ts +102 -0
- package/src/lib/tools/pitch-deck-generator-schema.ts +182 -0
- package/src/lib/tools/pitch-deck-package.ts +0 -0
- package/src/lib/tools/product-agreement-generator-schema.ts +168 -0
- package/src/lib/tools/product-hunt-launch-planner-schema.ts +136 -0
- package/src/lib/tools/product-hunt-launch-planner.format.ts +72 -0
- package/src/lib/tools/product-name-generator-schema.ts +563 -0
- package/src/lib/tools/product-poster-generator-schema.ts +215 -0
- package/src/lib/tools/product-ui-generator-schema.ts +157 -0
- package/src/lib/tools/reddit-pain-point-finder-schema.ts +88 -0
- package/src/lib/tools/resolve-tool-locale-copy.ts +75 -0
- package/src/lib/tools/slug.ts +60 -0
- package/src/lib/tools/social-listening-research-report-schema.ts +105 -0
- package/src/lib/tools/social-platform-asset-adapter-schema.ts +152 -0
- package/src/lib/tools/social-profile-kit.constants.ts +12 -0
- package/src/lib/tools/social-profile-kit.generation.ts +257 -0
- package/src/lib/tools/social-profile-kit.input.ts +290 -0
- package/src/lib/tools/social-profile-kit.manual.ts +481 -0
- package/src/lib/tools/social-profile-kit.package.ts +220 -0
- package/src/lib/tools/social-profile-kit.schema.ts +328 -0
- package/src/lib/tools/startup-idea-research-schema.ts +107 -0
- package/src/lib/tools/tarot-imagery.ts +89 -0
- package/src/lib/tools/tarot-reading.ts +1044 -0
- package/src/lib/tools/tool-message-keys.ts +18 -0
- package/src/lib/tools/types.ts +32 -0
- package/src/lib/tools/user-interview.format.ts +147 -0
- package/src/lib/tools/user-interview.generation.ts +670 -0
- package/src/lib/tools/user-interview.schema.ts +192 -0
- package/src/lib/zip.ts +106 -0
- package/src/services/tools/handlers/gtm-readiness-checklist.ts +71 -0
- package/src/services/tools/handlers/types.ts +7 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
const pitchDeckGenerator = {
|
|
2
|
+
meta: {
|
|
3
|
+
title: "AI Pitch Deck Generator",
|
|
4
|
+
description: "Enter a product website or manual product context, and let an online Agent build an investor narrative outline, then generate 16:9 image slides for your fundraising pitch deck with style directions, per-slide downloads, and a full package.",
|
|
5
|
+
intro: "Turn rough product context into an investor-ready fundraising narrative: problem, solution, market, traction, moat, team, and the ask, generated page by page as downloadable deck images.",
|
|
6
|
+
category: "Commercial tools",
|
|
7
|
+
keywords: [
|
|
8
|
+
"AI pitch deck generator",
|
|
9
|
+
"investor pitch deck",
|
|
10
|
+
"fundraising deck generator",
|
|
11
|
+
"startup pitch deck",
|
|
12
|
+
],
|
|
13
|
+
inputSignal: "Product URL or brief, funding stage, style direction",
|
|
14
|
+
outputSignal: "Investor outline, image slides, sources, QA, download package",
|
|
15
|
+
boundarySignal: "Funding numbers and in-image text need review",
|
|
16
|
+
},
|
|
17
|
+
guide: {
|
|
18
|
+
heroImageAlt: "Product context organized into an investor narrative outline and image-based pitch deck pages.",
|
|
19
|
+
workspaceHeading: "Tool workspace",
|
|
20
|
+
workspaceHint:
|
|
21
|
+
"Enter your product website or fill in the context manually. The Agent returns an investor narrative outline first, then generates deck images page by page in order.",
|
|
22
|
+
workspaceBadge: "Image pitch deck",
|
|
23
|
+
outputs: "What you get",
|
|
24
|
+
outputsIntro:
|
|
25
|
+
"The result is not a wall of business plan text. It is a pitch deck production package organized the way investors read, ready to download and iterate.",
|
|
26
|
+
outputItems: [
|
|
27
|
+
{
|
|
28
|
+
title: "Investor narrative outline",
|
|
29
|
+
body: "See the page list, one core message per page, and density levels before any image is drawn, so the story arc is right first.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
title: "Slides revealed as they finish",
|
|
33
|
+
body: "Each page appears in order as soon as it is generated, so you can check the cover, market, and ask pages without waiting for the full deck.",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: "Funding-stage aware emphasis",
|
|
37
|
+
body: "Pick pre-seed, seed, or Series A and the narrative shifts between vision depth and traction metrics accordingly.",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: "Sources and QA notes",
|
|
41
|
+
body: "Market data sources, in-image text risks, missing info, and any funding numbers that need review are listed separately.",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
title: "Per-slide downloads",
|
|
45
|
+
body: "Every slide has its own download link, so you can redraw a single page, share it for review, or reuse it elsewhere.",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: "Full package download",
|
|
49
|
+
body: "The final result supports a full deck download with predictable filenames based on your product name and page topics — no random hashes.",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
pipelineVisualAlt: "Production flow from investor outline and sources to QA and the final image package.",
|
|
53
|
+
narrative: "What investors look for in a deck",
|
|
54
|
+
narrativeIntro:
|
|
55
|
+
"Investors spend about three minutes on a first-pass deck. Every generated page answers a question they will actually ask, in the order they expect to read.",
|
|
56
|
+
narrativeSteps: [
|
|
57
|
+
{
|
|
58
|
+
index: "01 - 02",
|
|
59
|
+
title: "Problem and solution",
|
|
60
|
+
body: "How deep the pain really is and why your approach works — not a feature list.",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
index: "03 - 04",
|
|
64
|
+
title: "Why now and market",
|
|
65
|
+
body: "Timing evidence and citable market sizing. No big numbers without a source.",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
index: "05 - 07",
|
|
69
|
+
title: "Product and traction",
|
|
70
|
+
body: "Current capability, key milestones, and early signals, weighted by your funding stage.",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
index: "08 - 09",
|
|
74
|
+
title: "Business model and moat",
|
|
75
|
+
body: "Where the money comes from and why competitors cannot simply copy you.",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
index: "10",
|
|
79
|
+
title: "Team and the ask",
|
|
80
|
+
body: "Why you, how much you are raising, and where it goes. Without real numbers the ask page stays a structured placeholder.",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
library: "Famous startup pitch deck originals",
|
|
84
|
+
libraryIntro:
|
|
85
|
+
"The original fundraising decks of Airbnb, Uber, LinkedIn and more are now public — published by the founders themselves, archived by investor databases, or disclosed through legal proceedings. Before writing your own pitch deck, study the business plans that actually got funded.",
|
|
86
|
+
libraryOutro:
|
|
87
|
+
"Every deck here is a verifiable public original — no fan-made recreations. Amounts and rounds follow the cited sources. Original Chinese startup decks are rarely public; classic stories like Alibaba, JD, Xiaomi and DiDi will be added as written cases later.",
|
|
88
|
+
standards: "What a good pitch deck generator must do",
|
|
89
|
+
standardsIntro:
|
|
90
|
+
"A useful pitch deck tool does more than fill templates. It has to handle investor narrative, evidence, visual consistency, and delivery quality at the same time.",
|
|
91
|
+
standardsVisualAlt: "A complete fundraising deck package with evidence pages, QA notes, and export files.",
|
|
92
|
+
standardsItems: [
|
|
93
|
+
{
|
|
94
|
+
title: "Complete narrative",
|
|
95
|
+
body: "Problem, market, product, moat, team, and ask are all present, in the order investors expect.",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: "Credible data",
|
|
99
|
+
body: "Market and trend numbers must be traceable to sources; funding amounts and customer data are never invented.",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
title: "One message per page",
|
|
103
|
+
body: "When content does not fit, the page splits instead of shrinking text. Every page lands in five seconds.",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
title: "Consistent visuals",
|
|
107
|
+
body: "Colors, title hierarchy, and style direction stay coherent, so the deck reads as one set, not a poster collage.",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: "Progressive and visible",
|
|
111
|
+
body: "You see the outline and the current stage first, then images arrive in order. Waiting stays predictable.",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
title: "Ready to deliver",
|
|
115
|
+
body: "Per-slide downloads, a full package, and normalized filenames mean the deck is shareable the moment it finishes.",
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
boundary: "Scope, limits, and recovery",
|
|
119
|
+
boundaryIntro:
|
|
120
|
+
"Fundraising material shapes external commitments. Treat the output as a high-quality first draft and review it before sending it to investors.",
|
|
121
|
+
boundaryVisualAlt: "Market numbers, sources, and claims being reviewed on an investor deck page.",
|
|
122
|
+
boundaryGroups: [
|
|
123
|
+
{
|
|
124
|
+
title: "Works well for",
|
|
125
|
+
items: [
|
|
126
|
+
"Fundraising decks for internet products, SaaS, AI agents, developer tools, consumer apps, and early startups.",
|
|
127
|
+
"Angel, pre-seed, seed, and Series A pitch materials, including demo day presentations.",
|
|
128
|
+
"Teams with a website or a clear product brief who want a fast, iterable first version.",
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
title: "Needs human review",
|
|
133
|
+
items: [
|
|
134
|
+
"Funding amounts, valuation, financial forecasts, user metrics, customer claims, and market sizing numbers.",
|
|
135
|
+
"In-image text, numbers, logos, and brand elements — image models can rewrite or misspell them.",
|
|
136
|
+
"Disclosure boundaries for investors, such as unconfirmed partnerships or sensitive internal data.",
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
title: "If results miss",
|
|
141
|
+
items: [
|
|
142
|
+
"If the outline feels generic, add target users, current progress, differentiation, and real data, then regenerate.",
|
|
143
|
+
"If visuals drift, pick one style direction and specify brand rules and banned elements in advanced settings.",
|
|
144
|
+
"If one page is off, send a revision to redraw just that page — finished pages are preserved.",
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
useCases: "Use cases",
|
|
149
|
+
useCaseVisualAlt: "Rough product notes becoming an investor-ready image pitch deck package.",
|
|
150
|
+
useCaseItems: [
|
|
151
|
+
{
|
|
152
|
+
title: "Seed round preparation",
|
|
153
|
+
body: "Turn a product idea and early progress into a fundraising narrative investors can follow, as a first serious draft.",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
title: "Demo day decks",
|
|
157
|
+
body: "Produce a structurally complete, visually consistent deck before an accelerator or incubator demo day.",
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
title: "First investor outreach",
|
|
161
|
+
body: "Replace long text intros with a credible image deck when cold-emailing or first meeting investors.",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
title: "Portfolio coaching",
|
|
165
|
+
body: "Help teams with different starting points reach a solid baseline deck, then focus coaching on evidence and story.",
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
faq: "FAQ",
|
|
169
|
+
faqItems: [
|
|
170
|
+
{
|
|
171
|
+
question: "Will it invent funding amounts or valuation?",
|
|
172
|
+
answer:
|
|
173
|
+
"No. When you have not provided real numbers, the ask page keeps a structured placeholder and missingInfo flags what to add. The tool never fabricates amounts, valuation, or customer data.",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
question: "How is this different from the AI Business Plan Deck Generator?",
|
|
177
|
+
answer:
|
|
178
|
+
"This tool is fundraising-only: it locks the investor narrative arc and adapts emphasis to your funding stage. For hiring, launch, or combined business materials, use the AI Business Plan Deck Generator instead.",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
question: "Why generate an outline before images?",
|
|
182
|
+
answer:
|
|
183
|
+
"Investors read narrative before visuals. Confirming the page structure and one core message per page avoids decks that look great but explain nothing.",
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
question: "Is a product URL enough input?",
|
|
187
|
+
answer:
|
|
188
|
+
"Start with URL mode. If the site lacks key facts, missingInfo will ask for traction, team background, or the ask, and you can fill gaps through revision instructions.",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
question: "Can I use the in-image text as-is?",
|
|
192
|
+
answer:
|
|
193
|
+
"Review it first. Image models may rewrite words, numbers, or punctuation. Check market data and ask pages carefully before sending anything to investors.",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
question: "Does it export editable PPT files?",
|
|
197
|
+
answer:
|
|
198
|
+
"This version outputs an image pitch deck; HTML or editable PPT is not promised. Use per-page redraws to iterate, with export formats as a future extension.",
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
ctaTitle: "Need hiring or launch materials too?",
|
|
202
|
+
ctaPrimary: "Generate a full business deck",
|
|
203
|
+
ctaSecondary: "Back to all tools",
|
|
204
|
+
ctaHint:
|
|
205
|
+
"Beyond fundraising, the AI Business Plan Deck Generator covers hiring, launch, and partnership audiences.",
|
|
206
|
+
},
|
|
207
|
+
library: {
|
|
208
|
+
openDeck: "View the {company} pitch deck",
|
|
209
|
+
formerName: "then called {name}",
|
|
210
|
+
slideCount: "{count} slides",
|
|
211
|
+
pagesComingSoon: "Original pages coming soon",
|
|
212
|
+
attributionNote:
|
|
213
|
+
"This deck is a public original and remains the property of its company; shown here for learning reference. Visit the source link for the complete original.",
|
|
214
|
+
viewSource: "View public source",
|
|
215
|
+
download: "Download deck",
|
|
216
|
+
pageAlt: "{company} pitch deck, page {page}",
|
|
217
|
+
},
|
|
218
|
+
widget: {
|
|
219
|
+
urlMode: "Use URL",
|
|
220
|
+
manualMode: "Manual input",
|
|
221
|
+
productUrlLabel: "Product website URL",
|
|
222
|
+
productUrlPlaceholder: "https://your-product.com",
|
|
223
|
+
productNameLabel: "Product name",
|
|
224
|
+
productNamePlaceholder: "e.g. Tomako",
|
|
225
|
+
productContextLabel: "Product background",
|
|
226
|
+
productContextPlaceholder:
|
|
227
|
+
"Describe what the product does, who it serves, current progress, differentiation, real data, and what this round should unlock.",
|
|
228
|
+
fundingStageLabel: "Funding stage",
|
|
229
|
+
languageLabel: "Output language",
|
|
230
|
+
styleLabel: "Style direction",
|
|
231
|
+
styleHint: "Scroll sideways; picking one is optional",
|
|
232
|
+
advancedLabel: "Advanced: brand rules and banned items",
|
|
233
|
+
brandNotesLabel: "Brand, logo, and visual rules",
|
|
234
|
+
brandNotesPlaceholder:
|
|
235
|
+
"Brand colors, logo link, mascot rules, font preferences, visuals to avoid.",
|
|
236
|
+
mustAvoidLabel: "Must not appear",
|
|
237
|
+
mustAvoidPlaceholder:
|
|
238
|
+
"e.g. old product names, unconfirmed funding numbers, unsigned customers, hype claims.",
|
|
239
|
+
optional: "Optional",
|
|
240
|
+
generate: "Generate pitch deck",
|
|
241
|
+
submitting: "Submitting request...",
|
|
242
|
+
running: "Generating pitch deck...",
|
|
243
|
+
retry: "Retry",
|
|
244
|
+
emptyTitle: "Your investor outline and slides will appear here",
|
|
245
|
+
emptyHint:
|
|
246
|
+
"After generating, you will see the narrative outline and thinking steps first, then each slide arrives in order with per-slide and full-package downloads.",
|
|
247
|
+
resultReady: "Pitch deck ready",
|
|
248
|
+
resultRunning: "Agent is generating your pitch deck",
|
|
249
|
+
resultFallbackTitle: "Pitch deck in progress",
|
|
250
|
+
resultFallbackSummary:
|
|
251
|
+
"Organizing product context, investor narrative, style direction, and the image generation queue.",
|
|
252
|
+
progressFallback: "Preparing the next batch of pages",
|
|
253
|
+
slideProgress: "{ready} / {total} pages done",
|
|
254
|
+
ceremony: [
|
|
255
|
+
"Translating your product story into investor language...",
|
|
256
|
+
"One core message per page — overflow becomes a new page...",
|
|
257
|
+
"Only citable market numbers make it onto slides...",
|
|
258
|
+
"Investors give a deck three minutes; we are earning every second...",
|
|
259
|
+
"Slides queue up in narrative order — early arrivals keep their seats...",
|
|
260
|
+
],
|
|
261
|
+
outlineTitle: "Investor narrative outline",
|
|
262
|
+
deckGridHint: "Each page turns into its image once generated; click to zoom",
|
|
263
|
+
openSlide: "View {label}",
|
|
264
|
+
slideGenerating: "Generating...",
|
|
265
|
+
slideCountdown: "About {seconds}s left",
|
|
266
|
+
slideStillWorking: "Still working, hang tight...",
|
|
267
|
+
slideFailed: "Generation failed",
|
|
268
|
+
retrySlide: "Regenerate",
|
|
269
|
+
editButton: "Edit this slide",
|
|
270
|
+
editLabel: "Tell the Agent what to change",
|
|
271
|
+
editHint: "Regenerates based on the current image",
|
|
272
|
+
editDisabledHint: "Editable once all pages finish generating",
|
|
273
|
+
editPlaceholder: "e.g. Make the numbers more restrained, unify a dark background, remove the shape at bottom right.",
|
|
274
|
+
editError: "Describe the specific change you want.",
|
|
275
|
+
editSubmit: "Submit edit",
|
|
276
|
+
editCancel: "Cancel",
|
|
277
|
+
versionLabel: "Version {current} / {total}",
|
|
278
|
+
latestVersion: "latest",
|
|
279
|
+
prevVersion: "View previous version",
|
|
280
|
+
nextVersion: "View next version",
|
|
281
|
+
downloadAll: "Download all",
|
|
282
|
+
packing: "Packing {done}/{total}...",
|
|
283
|
+
packError: "Packaging failed — retry or use per-slide downloads.",
|
|
284
|
+
downloadManifest: "Download manifest",
|
|
285
|
+
downloadContactSheet: "Download contact sheet",
|
|
286
|
+
downloadSlide: "Download slide",
|
|
287
|
+
workspaceVisualAlt: "Simple product input turning into ordered pitch deck slides and a download package.",
|
|
288
|
+
revisionLabel: "Ask the Agent to revise",
|
|
289
|
+
revisionHint: "Be specific",
|
|
290
|
+
revisionPlaceholder:
|
|
291
|
+
"e.g. Redraw page 4, add a milestone timeline to the traction page, make the cover more restrained.",
|
|
292
|
+
sendRevision: "Send revision",
|
|
293
|
+
status: {
|
|
294
|
+
PENDING: "Queued",
|
|
295
|
+
STREAMING: "Generating",
|
|
296
|
+
AWAITING_INPUT: "Waiting for structured result",
|
|
297
|
+
AWAITING_FINAL: "Generating remaining slides",
|
|
298
|
+
SUCCEEDED: "Finalizing result",
|
|
299
|
+
default: "Processing",
|
|
300
|
+
},
|
|
301
|
+
slideStatus: {
|
|
302
|
+
queued: "Queued",
|
|
303
|
+
generating: "Generating",
|
|
304
|
+
ready: "Ready",
|
|
305
|
+
failed: "Failed",
|
|
306
|
+
},
|
|
307
|
+
fieldErrors: {
|
|
308
|
+
productUrl: "Enter a valid product website URL, e.g. https://your-product.com.",
|
|
309
|
+
productName: "Enter your real product name.",
|
|
310
|
+
productNamePlaceholder: "The product name looks like placeholder text. Use the real name.",
|
|
311
|
+
productContext: "Product background needs at least 24 characters covering product, users, and progress.",
|
|
312
|
+
productContextPlaceholder: "The product background looks like placeholder text. Add real details.",
|
|
313
|
+
},
|
|
314
|
+
errors: {
|
|
315
|
+
revision: "Write a specific revision request before sending it to the Agent.",
|
|
316
|
+
submit: "Request submission failed.",
|
|
317
|
+
task: "The generation task failed.",
|
|
318
|
+
timeout: "The structured result did not arrive in time.",
|
|
319
|
+
schema: "The Agent result does not match the pitch deck schema.",
|
|
320
|
+
invalid: "Fix the highlighted fields first.",
|
|
321
|
+
generic: "Pitch deck generation failed.",
|
|
322
|
+
recover:
|
|
323
|
+
"Check the product URL or add product background, funding stage, and brand rules, then retry.",
|
|
324
|
+
},
|
|
325
|
+
copy: {
|
|
326
|
+
fundingStages: {
|
|
327
|
+
preSeed: "Pre-seed / Angel",
|
|
328
|
+
seed: "Seed",
|
|
329
|
+
seriesA: "Series A",
|
|
330
|
+
notSure: "Not sure yet",
|
|
331
|
+
},
|
|
332
|
+
languages: {
|
|
333
|
+
zh: "Chinese",
|
|
334
|
+
en: "English",
|
|
335
|
+
},
|
|
336
|
+
styles: {
|
|
337
|
+
none: {
|
|
338
|
+
name: "No preference",
|
|
339
|
+
summary: "Let the Agent choose based on product, stage, and brand rules.",
|
|
340
|
+
},
|
|
341
|
+
boldNarrative: {
|
|
342
|
+
name: "Bold narrative",
|
|
343
|
+
summary: "Generous whitespace, strong statements, emotional momentum — for vision-led stories.",
|
|
344
|
+
},
|
|
345
|
+
metricGrid: {
|
|
346
|
+
name: "Metric grid",
|
|
347
|
+
summary: "Structured data cards, milestones, and growth curves — for traction-led narratives.",
|
|
348
|
+
},
|
|
349
|
+
visionField: {
|
|
350
|
+
name: "Vision field",
|
|
351
|
+
summary: "Market maps, ecosystem position, and growth headroom — for big-market stories.",
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
export default pitchDeckGenerator;
|