Skip to content

Commit b2f8814

Browse files
catomeanclaude
andauthored
feat(bots): restore the content for the remaining four bots (#147)
Follows #146, which proved the pattern on Imhotep: recover the copy from the components deleted in 4600019, express it with existing section types, add the nav entry, let the nav-integrity guard verify it. No new components. research-assistant 5 -> 8 sections 3,062 -> 4,366 chars (+43%) research-system the six ways Nerd organises an upload scraping the six sources it watches (ArXiv, Scholar, PubMed, Nature, Science Daily, MIT Tech Review) drafts abstract / literature review / methodology / discussion product-manager 5 -> 8 sections 2,539 -> 3,752 chars (+48%) benefits the four Trident actually delivers showcase feature planning, technical debt, cross-team coordination integration GitHub and Jira, with what each one does swiss-german-teacher 5 -> 8 sections 2,793 -> 3,900 chars (+40%) language-learning vocabulary, conversation, grammar communication email and texting, in the right register culture video, podcasts, articles artistic-advisor keeps 5 sections: it only ever had 217 lines, so unlike the others it lost almost nothing. It gains two nav entries for the sections it does have, instead of a two-item menu. Nav went from a low of two items per bot to five or six, and every entry points at a section that renders -- enforced by the guard added in #146. Copy was rewritten rather than pasted. The originals were written for a different page structure and carried filler; this keeps the substance and drops the padding. verify: format, lint, typecheck, 253 tests, build -- all green. Verified visually against a local production build. Claude-Session: https://claude.ai/code/session_01HVwg8DKHQktxJuHeLM3xpG Co-authored-by: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent b058a51 commit b2f8814

2 files changed

Lines changed: 282 additions & 0 deletions

File tree

data/bots.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ const bots: Bot[] = [
5252
menuItems: [
5353
{ id: 'demo', label: 'Demo', icon: '💬', section: 'demo' },
5454
{ id: 'features', label: 'Features', icon: '✨', section: 'features' },
55+
{ id: 'learning', label: 'Learning', icon: '📖', section: 'language-learning' },
56+
{ id: 'communication', label: 'Communication', icon: '✉️', section: 'communication' },
57+
{ id: 'culture', label: 'Culture', icon: '🏔️', section: 'culture' },
5558
],
5659
},
5760
display: {
@@ -94,6 +97,10 @@ const bots: Bot[] = [
9497
menuItems: [
9598
{ id: 'demo', label: 'Demo', icon: '💻', section: 'demo' },
9699
{ id: 'features', label: 'Features', icon: '✨', section: 'features' },
100+
{ id: 'system', label: 'Organise', icon: '🗂️', section: 'research-system' },
101+
{ id: 'scraping', label: 'Sources', icon: '🌐', section: 'scraping' },
102+
{ id: 'drafts', label: 'Drafts', icon: '✍️', section: 'drafts' },
103+
{ id: 'vision', label: 'Vision', icon: '🚀', section: 'vision' },
97104
],
98105
},
99106
display: {
@@ -218,6 +225,8 @@ const bots: Bot[] = [
218225
menuItems: [
219226
{ id: 'demo', label: 'Demo', icon: '🖼️', section: 'demo' },
220227
{ id: 'features', label: 'Features', icon: '✨', section: 'features' },
228+
{ id: 'how-it-works', label: 'How It Works', icon: '🎨', section: 'how-it-works' },
229+
{ id: 'get-started', label: 'Get Started', icon: '🚀', section: 'cta' },
221230
],
222231
},
223232
display: {
@@ -258,6 +267,9 @@ const bots: Bot[] = [
258267
menuItems: [
259268
{ id: 'demo', label: 'Demo', icon: '💻', section: 'demo' },
260269
{ id: 'features', label: 'Features', icon: '✨', section: 'features' },
270+
{ id: 'benefits', label: 'Benefits', icon: '⚡', section: 'benefits' },
271+
{ id: 'showcase', label: 'Showcase', icon: '🎯', section: 'showcase' },
272+
{ id: 'integration', label: 'Integrations', icon: '🔗', section: 'integration' },
261273
],
262274
},
263275
display: {

lib/config/bot-pages.ts

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -954,6 +954,87 @@ export const botPageConfigs: Record<string, BotPageConfig> = {
954954
],
955955
} as HowItWorksContent,
956956
},
957+
{
958+
id: 'language-learning',
959+
type: 'features',
960+
content: {
961+
badge: 'Language Learning',
962+
title: 'Learn to Speak Like a Local',
963+
subtitle:
964+
'Personalised Swiss German focused on real conversation, not textbook grammar drills.',
965+
columns: 3,
966+
features: [
967+
{
968+
icon: '📖',
969+
title: 'Vocabulary Builder',
970+
description:
971+
'Practical words and phrases in Zürich dialect, with pronunciation guides.',
972+
},
973+
{
974+
icon: '💬',
975+
title: 'Conversation Practice',
976+
description: 'Everyday exchanges shown in both Standard German and Swiss German.',
977+
},
978+
{
979+
icon: '📐',
980+
title: 'Grammar Explanations',
981+
description: 'Swiss German grammar explained by how it differs from Standard German.',
982+
},
983+
],
984+
} as FeaturesContent,
985+
},
986+
{
987+
id: 'communication',
988+
type: 'features',
989+
content: {
990+
badge: 'Communication',
991+
title: 'Write Like You Live Here',
992+
subtitle: 'The everyday writing that trips people up, handled in the right register.',
993+
columns: 2,
994+
features: [
995+
{
996+
icon: '✉️',
997+
title: 'Email Writing',
998+
description:
999+
'Formal and informal Swiss email conventions, with the phrasing locals actually use.',
1000+
},
1001+
{
1002+
icon: '📱',
1003+
title: 'Texting Help',
1004+
description:
1005+
'Casual Swiss German as it is really written — abbreviations, dialect spellings and all.',
1006+
},
1007+
],
1008+
} as FeaturesContent,
1009+
},
1010+
{
1011+
id: 'culture',
1012+
type: 'features',
1013+
content: {
1014+
badge: 'Swiss Content',
1015+
title: 'Immerse Yourself',
1016+
subtitle:
1017+
'Authentic Swiss German content, matched to your level so it stretches you without losing you.',
1018+
columns: 3,
1019+
features: [
1020+
{
1021+
icon: '🎬',
1022+
title: 'Video',
1023+
description: 'Short videos subtitled in both Standard and Swiss German.',
1024+
},
1025+
{
1026+
icon: '🎙️',
1027+
title: 'Podcasts',
1028+
description: 'Audio with transcripts, for listening practice you can follow along.',
1029+
},
1030+
{
1031+
icon: '📰',
1032+
title: 'Articles',
1033+
description: 'News and blog posts with vocabulary assistance built in.',
1034+
},
1035+
],
1036+
} as FeaturesContent,
1037+
},
9571038
{
9581039
id: 'cta',
9591040
type: 'cta',
@@ -1030,6 +1111,109 @@ export const botPageConfigs: Record<string, BotPageConfig> = {
10301111
],
10311112
} as FeaturesContent,
10321113
},
1114+
{
1115+
id: 'research-system',
1116+
type: 'features',
1117+
content: {
1118+
badge: 'Systematisation',
1119+
title: 'Upload Once, Organise Automatically',
1120+
subtitle:
1121+
'Drop in papers, notes and transcripts. Nerd sorts them into a system you can actually navigate.',
1122+
columns: 3,
1123+
features: [
1124+
{
1125+
icon: '🏷️',
1126+
title: 'By Theme',
1127+
description: 'Group research by topics and subtopics.',
1128+
},
1129+
{
1130+
icon: '⭐',
1131+
title: 'By Relevance',
1132+
description: 'Prioritise by importance to your core question.',
1133+
},
1134+
{
1135+
icon: '📅',
1136+
title: 'By Chronology',
1137+
description: 'Organise materials along a timeline.',
1138+
},
1139+
{
1140+
icon: '📚',
1141+
title: 'By Source Type',
1142+
description: 'Group by papers, books, interviews and more.',
1143+
},
1144+
{
1145+
icon: '🧪',
1146+
title: 'By Methodology',
1147+
description: 'Categorise by the research methods used.',
1148+
},
1149+
{ icon: '👩‍🔬', title: 'By Author', description: 'Group research by key contributors.' },
1150+
],
1151+
} as FeaturesContent,
1152+
},
1153+
{
1154+
id: 'scraping',
1155+
type: 'features',
1156+
content: {
1157+
badge: 'Real-Time Sources',
1158+
title: 'Never Miss Important Developments',
1159+
subtitle:
1160+
'Nerd watches the literature and the news, so a relevant paper does not sit unread for three months.',
1161+
columns: 3,
1162+
features: [
1163+
{ icon: '📑', title: 'ArXiv', description: 'Preprint server for scientific papers.' },
1164+
{
1165+
icon: '🎓',
1166+
title: 'Google Scholar',
1167+
description: 'Search across scholarly literature.',
1168+
},
1169+
{ icon: '🔬', title: 'PubMed', description: 'Biomedical literature and abstracts.' },
1170+
{
1171+
icon: '🌿',
1172+
title: 'Nature',
1173+
description: 'Leading multidisciplinary science journal.',
1174+
},
1175+
{
1176+
icon: '📰',
1177+
title: 'Science Daily',
1178+
description: 'Science news articles and summaries.',
1179+
},
1180+
{
1181+
icon: '💻',
1182+
title: 'MIT Technology Review',
1183+
description: 'Technology and innovation reporting.',
1184+
},
1185+
],
1186+
} as FeaturesContent,
1187+
},
1188+
{
1189+
id: 'drafts',
1190+
type: 'how-it-works',
1191+
content: {
1192+
title: 'Turn Unstructured Notes into Polished Research',
1193+
steps: [
1194+
{
1195+
icon: '📋',
1196+
title: 'Abstract',
1197+
description: 'A tight summary of the question, method and finding.',
1198+
},
1199+
{
1200+
icon: '📖',
1201+
title: 'Literature Review',
1202+
description: 'What the field already says, and where the gap is.',
1203+
},
1204+
{
1205+
icon: '📄',
1206+
title: 'Methodology',
1207+
description: 'How the work was done, in the form reviewers expect.',
1208+
},
1209+
{
1210+
icon: '✍️',
1211+
title: 'Discussion',
1212+
description: 'What the result means, and what it does not show.',
1213+
},
1214+
],
1215+
} as HowItWorksContent,
1216+
},
10331217
{
10341218
id: 'vision',
10351219
type: 'vision',
@@ -1171,6 +1355,92 @@ export const botPageConfigs: Record<string, BotPageConfig> = {
11711355
],
11721356
} as HowItWorksContent,
11731357
},
1358+
{
1359+
id: 'benefits',
1360+
type: 'benefits',
1361+
content: {
1362+
badge: 'Why Trident',
1363+
title: 'Why Use Trident?',
1364+
subtitle: 'Project management that understands the code, not just the ticket.',
1365+
columns: 2,
1366+
benefits: [
1367+
{
1368+
icon: '🚀',
1369+
title: 'Accelerated Development',
1370+
description:
1371+
'Speed up development with AI-powered project management and technical guidance.',
1372+
},
1373+
{
1374+
icon: '⚡',
1375+
title: 'Optimised Workflows',
1376+
description:
1377+
"Identify bottlenecks and streamline your team's processes for maximum productivity.",
1378+
},
1379+
{
1380+
icon: '🎯',
1381+
title: 'Technical Precision',
1382+
description:
1383+
'Expert development guidance with concrete best practices and implementation strategies.',
1384+
},
1385+
{
1386+
icon: '📊',
1387+
title: 'Better Planning',
1388+
description:
1389+
'Detailed roadmaps with realistic timelines, resource allocation and clear deliverables.',
1390+
},
1391+
],
1392+
} as BenefitsContent,
1393+
},
1394+
{
1395+
id: 'showcase',
1396+
type: 'how-it-works',
1397+
content: {
1398+
title: 'What Trident Is Actually For',
1399+
steps: [
1400+
{
1401+
icon: '🗺️',
1402+
title: 'Feature Planning & Development',
1403+
description:
1404+
'From a rough intent to a scoped plan, an implementation path, and a way to tell whether it worked.',
1405+
},
1406+
{
1407+
icon: '🧹',
1408+
title: 'Technical Debt Management',
1409+
description:
1410+
'Identify what is actually costing you, then sequence remediation so it fits around delivery.',
1411+
},
1412+
{
1413+
icon: '🤝',
1414+
title: 'Cross-Team Coordination',
1415+
description:
1416+
'One set of documentation everyone reads, kept current without a weekly meeting about it.',
1417+
},
1418+
],
1419+
} as HowItWorksContent,
1420+
},
1421+
{
1422+
id: 'integration',
1423+
type: 'features',
1424+
content: {
1425+
badge: 'Integrations',
1426+
title: 'Fits the Tools You Already Use',
1427+
columns: 2,
1428+
features: [
1429+
{
1430+
icon: '🐙',
1431+
title: 'GitHub',
1432+
description:
1433+
'Link tasks to pull requests, track milestones, and generate documentation from the code itself.',
1434+
},
1435+
{
1436+
icon: '📋',
1437+
title: 'Jira',
1438+
description:
1439+
'Sync tasks with tickets, import existing sprint structures, and generate sprint reports.',
1440+
},
1441+
],
1442+
} as FeaturesContent,
1443+
},
11741444
{
11751445
id: 'cta',
11761446
type: 'cta',

0 commit comments

Comments
 (0)