Skip to content

Shipping soon landing page#163

Open
mayagore wants to merge 29 commits intomainfrom
maya/web-v2
Open

Shipping soon landing page#163
mayagore wants to merge 29 commits intomainfrom
maya/web-v2

Conversation

@mayagore
Copy link
Copy Markdown
Collaborator

Summary

  • Replaces the full product landing page with a "shipping soon" page while the platform is still in development
  • Real logo mark + wordmark SVGs from branding assets
  • Buttondown email signup with custom validation
  • Ronald's README copy describing what ObjectiveAI is
  • Links to GitHub, Discord, and X (x.com/mkgores, x.com/ronald_obj_ai)
  • Shell header hidden on home route so the page stands alone
  • Responsive across all breakpoints (360px to 1440px+)
  • Landing.tsx preserved — swap one import in page.tsx to restore the full site

To deploy

This is ready to be the only thing on objective-ai.io until the full platform ships.

To revert when ready

Change objectiveai-web-2/app/page.tsx import from ComingSoon back to Landing and restore the Shell header.

Test plan

  • Visit / — should show shipping soon page, no header/nav
  • Visit /functions — should show full header/nav (existing pages unaffected)
  • Submit email form with valid email
  • Submit empty form — should show "enter a valid email"
  • Check at 375px, 768px, 1280px, 1440px viewports
  • Verify all links open correctly (GitHub, Discord, X)

🤖 Generated with Claude Code

mayagore and others added 29 commits March 9, 2026 05:43
Structural tree mode renders the function's task hierarchy from its
definition before execution, making the tree the page's focal point.
When execution starts, nodes transition smoothly to show live results.

Library changes (function-tree):
- Add InputFunctionDefinition/InputTaskDefinition types
- Add buildStructuralTree() with recursive sub-function expansion
- Extract shared nodeId() for consistent IDs across modes
- Engine: setDefinition() for structural mode, guards execution data
- Renderer: dashed borders, response counts, owner/repo labels
- React: definition + resolvedSubFunctions props

Web changes:
- Redesign function page: tree (70%) + input sidebar (30%) layout
- Add useResolvedSubFunctions hook (recursive fetch, depth 3)
- Collapsible detailed results section below main grid

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Procedural R3F hero with 5 thinker figures, score orb, and scroll-driven
voting animation. Includes static WebP fallback, reduced-motion support,
and IntersectionObserver for offscreen pausing. Also includes function
tree structural mode and function detail page layout updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace manual input form with ChatBar component (chat → LLM tool-use → function execution)
- Add useChatOrchestration hook wiring Chat.Completions + Functions.Executions
- Show task prompt previews in structural tree nodes (extracted from function definition)
- Transparent tree canvas background with borderless mode
- Root node shows prominent output display after execution
- Preserve prompt data across structural → execution transition
- Flex column page layout: tree viewport + chat bar at bottom
- Homepage hero section with thinker assets

WIP: dark mode node colors, tree zoom scaling, visual polish

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace procedural ThinkerFigure primitives with loaded .glb mesh
via useGLTF. Updates HeroScene and ThinkerCouncil for the new model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…apture

Replace the placeholder homepage with a developer-native landing page:
- Hero: "Live now" badge, descriptor line, "Sign up free" primary CTA
- Terminal block: `npm install objectiveai` (works today) + `objectiveai install-skill` (coming soon, dimmed)
- Proof point: "20+ scoring functions live and callable" linking to /functions
- Logprobs insight comparison, 3-step explainer, use cases grid, bottom CTA
- Buttondown email capture via server-side API route (/api/early-access)
- Nav: Functions / Docs / GitHub / Discord / Sign Up CTA
- Landing-only styles scoped via .landing CSS + body.is-landing class
- Non-landing pages (functions, docs, people, legal) visually unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…odes

Phase 1 — Design language shift from consumer to infrastructure:
- JetBrains Mono (monospace) for all labels and data
- 4px corner radius (down from 8px), muted fills, 1px borders
- Elbow connectors (V-H-V) replacing bezier curves
- Removed accent stripe from function nodes
- Purple accent reserved for selected/active states only

Phase 2 — Ensemble LLM nodes on canvas:
- New "ensemble-llm" node kind (140x36 compact rectangles)
- buildTree creates LLM child nodes from each task's votes
- Tighter layout spacing for LLM clusters (8px/32px gaps)
- DetailPanel shows full LLM details (model, weight, vote distribution)
- InputProfile types added for future profile data threading

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…romptBlock

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…s, trim to web scope

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eight viz

Landing page: complete copy overhaul (ensemble → swarm/agent, new headline
"Your agent doesn't have to decide alone", relevant PR-merge comparison
example, function invention use case). Warm carbon palette (#0d0b09) with
dusty copper accent (#c0a090) replacing cold black + green. Space Grotesk
+ JetBrains Mono typography loaded.

Site-wide: root CSS vars migrated to warm carbon. Border radius tightened
globally (max 8px). Browse pages, people page, skeleton loaders all updated.
Maya's title confirmed CPO. Ronald's bio updated to swarm language. Purple
accent references removed.

Function tree: Phase 3 (edge weight visualization, 1-2px proportional
thickness via edgeWeight 0-1) and Phase 4 (core subpath export at
@objectiveai/function-tree/core, 191B tree-shaken). 10 new tests (101 total).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eanup

- Landing page rewrite: split layout with live VotingTerminal cycling
  through 4 scenarios (agents vote, scores resolve in real-time)
- Copper spectrum CSS: all colors derive from copper hue ~20°, no
  arbitrary hex. Borders use box-shadow:inset, not border property.
- LoginModal: depilled (6px radius, no 50px/50%), copper palette
- AppShell: mono nav, 4px radius mobile menu, no decorative borders
- CLAUDE.md: documented copper spectrum design system
- Dead code removed: PromptBlock, HeroText, hero3d/ (4 components),
  BrowsePage, responsive-scale.ts, public/hero/ (3D assets)
- Planning assets: design-evolution.html, accent-exploration.html

All deleted files recoverable from git history (da6435b and earlier).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Clean start for the new web frontend. No design system, no legacy
CSS, no inherited patterns. SDK-only data fetching per CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Design system: warm carbon + copper spectrum CSS vars, Shell nav, responsive layout
- Function browse: sorted cards with type/depth/sub-function metadata, centered grid
- Function detail: recursive sub-function fetching, collapsible input schema, clickable
  tree nodes with task expression/vote prompt detail panel
- Function tree: Reingold-Tilford layout, SVG connectors, execution state visualization,
  agent voting panels with per-model distribution bars
- Swarms browse: fetches /ensembles API, shows agent configs with model/mode/logprobs
- Shared API client, TTL caching for lists, immutable caching for GitHub definitions
- Demo page with simulated execution playback
- Accessibility: ARIA roles, reduced-motion support, aria-hidden SVG

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Profiles browse: fetches /functions/profiles + /functions/profiles/pairs,
  shows auto vs tasks profiles with weight bars and agent chips
- Swarm detail page: /swarms/[id] with full agent configs, fallback chains,
  temperature variants, output modes, back-link to browse
- Swarm cards now link to detail page
- Function detail: paired profile indicator, "simulate execution" button
  that runs deterministic vote cascade through the real tree structure
- Generic tree simulation engine (simulateTree.ts) walks any TreeNode,
  generates plausible vote distributions per agent, propagates scores
- Shell nav: functions / swarms / profiles
- Shared apiFetch client used consistently across all data layers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tree: auto-collapse at depth 2, click-to-expand subtrees, expand/collapse
all controls. Layout engine skips collapsed children for dramatic width
reduction (6700px → ~800px for branch functions).

Profiles: fetch 5 default profiles directly by slug, classify agents into
frontier/mid/budget tiers by weight ratio, showcase grid with tier-grouped
agent chips and weight bar visualization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ackage

Swap HTML/SVG tree (~1100 lines across 12 files) for the function-tree
package which provides canvas 2D rendering with zoom, pan, fitToContent,
and level-of-detail — letting you view the entire tree at once regardless
of size. Thin data adapter + copper theme override are the only new code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	CLAUDE.md
#	package-lock.json
Landing page at / with hero tagline, install commands, execution example
panel showing 12 agent votes with score aggregation, and directory-style
browse sections for functions, swarms, and profiles.

Moved functions browse to /functions. Shell nav updated so no link is
active on the landing page. Extracted fetchRecursive to shared lib.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Landing page now shows single-agent vs swarm comparison with vote
breakdown. Added sdk.ts client wrapper and useExecution streaming
hook for wiring up real data when API is available. Merged 12 commits
from main (laboratory streaming, MCP transport, viewer middleware).
Updated gitignore for screenshots and build artifacts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix left panel alignment in side-by-side comparison, add empty state
messaging for directory sections when API is unreachable, improve
mobile agent name truncation. Add error boundary for /functions route,
replace raw error messages with friendly copy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add error.tsx boundaries for /swarms, /swarms/[id], /profiles routes.
Replace raw error messages with terse copy + retry buttons across all
browse/detail components. Add lorem ipsum bridging placeholder between
hero and execution demo on landing page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…amic heights

Redesign color system from purple/indigo to warm copper/amber earth tones.
Add showDetailBars LOD parameter for per-response bars and sparklines at
full zoom. Dynamic node heights based on data density. Reasoning badges,
execution ID display, enrichLlmNodesFromProfile for output mode metadata.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ty states

- ExecutionResult component: vote matrix with weight faders, contribution bars, heat cells
- Function detail: example execution from definition + profile, profile info card
- GitHub-direct fallback: profiles fetch from GitHub when API unreachable
- adaptProfile: bridges web ProfileMeta to function-tree InputProfile
- Landing page: bridging text, weight faders in swarm panel, evolving empty states
- NEXT_PUBLIC_API_BASE env var for local API development
- Demo page: prototype comparison layout with promoted ExecutionResult

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the full Landing page with a ComingSoon page while the platform
is still in progress. Real logo mark + wordmark SVGs, Buttondown email
signup, Ronald's README copy, and links to GitHub/Discord/X. Shell header
hidden on home route so the page stands alone. Landing.tsx preserved for
when we're ready to switch back.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@WiggidyW
Copy link
Copy Markdown
Collaborator

can you make it so there's only one objectiveai-web instead of web and web2

also can you revert the changes to objectiveai-js please

whichever one has the content to be deployed make that into objectiveai-web

don't worry about preserving any existing code, just get rid of it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants