Skip to content

UtkarsHMer05/vertex

Repository files navigation

Vertex

Vertex is an advanced AI-powered development environment that fundamentally redefines the software engineering workflow. Operating entirely within the browser, it combines the robust capabilities of traditional desktop IDEs with an autonomous AI agent capable of intelligent pair programming, project scaffolding, code manipulation, and real-time documentation ingestion. It operates as a comprehensive platform designed to streamline everything from writing initial boilerplate to complex refactoring and deployment workflows.

Table of Contents

  1. Architecture Overview
  2. What I Did (Accomplishments)
  3. Feature Breakdown
  4. What I Will Do (Milestones)
  5. What I Will Add (Future Features)
  6. Local Deployment

Architecture Overview

The platform leverages a highly modern, serverless architecture focusing on real-time data synchronization, secure background job processing, and seamless in-browser execution.

graph TD
    Client[Browser Client]
    NextJS[Next.js App Router]
    Convex[Convex Database & Real-time Sync]
    Clerk[Clerk Authentication]
    Inngest[Inngest Background Jobs]
    AI_Models[Generative AI Models]
    Firecrawl[Firecrawl Live Docs Scraping]
    WebContainer[WebContainers In-Browser Execution]
    CodeRabbit[CodeRabbit Code Reviews]
    Sentry[Sentry Error Tracking]

    Client <-->|Authenticates via| Clerk
    Client <-->|Real-time Data Sync| Convex
    Client <-->|Renders UI| NextJS
    Client <-->|Executes Code Locally| WebContainer

    NextJS <-->|Database Operations| Convex
    NextJS <-->|Dispatches Jobs| Inngest
    NextJS <-->|Tracks Errors & Metrics| Sentry
    
    Inngest <-->|LLM Inferences| AI_Models
    Inngest <-->|Ingests Docs| Firecrawl
    Inngest <-->|Automates PRs| CodeRabbit
Loading

What I Did (Accomplishments)

I successfully engineered and deployed a complete, production-ready cloud IDE featuring autonomous AI integration. Key achievements include:

  • Developing a highly responsive and aesthetically pleasing user interface using Next.js 16, TypeScript, Radix UI, and Tailwind CSS.
  • Implementing a complete file system storage solution within Convex, mapping complex folder hierarchies and binary file storage directly into a highly available database.
  • Integrating real-time state synchronization, enabling live updates for project settings, active chat conversations, and file modifications across multiple sessions and devices.
  • Building a robust background processing pipeline using Inngest, ensuring long-running AI tasks, web scraping, and file parsing do not block the main interaction thread.
  • Assembling a powerful browser-based editor using CodeMirror 6, complete with multi-language support (JavaScript, Python, Markdown, HTML, CSS), a navigational minimap, and terminal emulation via Xterm.js.
  • Integrating the @webcontainer/api to allow users to install dependencies and run Node.js development servers directly inside their browser securely.
  • Constructing an AI agent capable of using deterministic system tools, such as reading files, writing files, renaming folders, and fetching live documentation context.

Feature Breakdown

Autonomous AI Agent

The core component of Vertex. The AI agent connects to industry-leading models (via @ai-sdk) to interpret user intent. It possesses direct access to the project's virtual file system, enabling it to:

  • Generate complete project scaffolds from scratch.
  • Read existing file contents to grasp context and diagnose errors.
  • Propose code edits, write new files, rename directories, and safely delete deprecated modules.

Real-Time Convex Database

The backend relies entirely on Convex to store project metadata, the virtual file system, and conversation logs. Every change made by the user or the AI agent triggers an immediate re-render across the client interface, ensuring perfect synchronization without manual polling.

Abstracted In-Browser Execution (WebContainers)

Vertex runs a sophisticated WebAssembly-based operating system within the user's browser tab. This provides terminal access where users can install NPM packages, execute build scripts, and spin up local development servers directly from the web interface.

Advanced CodeMirror Editor

A customized instance of CodeMirror 6 provides essential IDE mechanics. This includes dynamic syntax highlighting aligned to the current file type, indentation markers, and a code minimap to rapidly navigate extensive source code documents.

Live Documentation Scraping (Firecrawl)

When developers encounter unfamiliar APIs or libraries without built-in context, Vertex routes requests to Firecrawl. This system visits external documentation URLs, sanitizes the HTML into clean Markdown, and injects it directly into the AI's context window, allowing intelligent, accurate code generation based on real-time internet data.

Secure File Processing and Storage

The file storage implementation safely distinguishes between raw text code files and binary assets. Binaries (such as images and compiled assets) are processed, uploaded directly to Convex specialized storage, and cleanly integrated into the logical file tree.

Background Job Orchestration (Inngest)

To prevent timeouts and ensure system stability, heavy background operations are handled by Inngest. This orchestrates reliable queueing and state management when the AI needs to analyze massive amounts of code, fetch documentation, or serialize the project state for export.

GitHub Integration

Vertex features automated code repository handling. Once a project reaches a satisfactory state, the system can serialize the virtual file structure and trigger background jobs to autonomously commit the files back into an external GitHub repository.

Performance and Reliability Tracking

Integrated Sentry monitoring provides immediate error tracking and performance profiling. This captures frontend crashes and logs detailed metrics concerning LLM response latency and success rates. CodeRabbit integrates with the repository pipeline to provide automated review comments for code pushed to external sources.


What I Will Do (Milestones)

The immediate milestones for the ongoing development of Vertex include:

  1. Finalizing the implementation of deterministic, visual code diffs, allowing users to clearly view precisely what the AI is proposing before accepting the edits.
  2. Building a comprehensive user dashboard to manage multiple projects, track storage usage, and oversee billing cycles managed via Clerk.
  3. Perfecting the deployment pipelines, establishing a seamless one-click export-to-deployment feature using integrations with Vercel or similar hosting providers.
  4. Expanding the file system parser to effectively interpret complex nested directories during initial GitHub imports.
  5. Implementing persistent, long-term memory for the AI agent, allowing it to remember specific user preferences, coding conventions, and architectural decisions across different chat sessions.

What I Will Add (Future Features)

As Vertex evolves, I plan to introduce several sophisticated capabilities designed to push the boundaries of cloud-based development:

  • Collaborative Multiplayer Editing: Synchronized cursors and live, conflict-free editing to allow multiple developers to work within the exact same file simultaneously.
  • Intelligent Visual Debugging: An interactive, visual step-through debugger hooked directly into the WebContainer runtime to inspect variable states and memory usage visually.
  • Granular Permission Control Workspaces: Establishing team environments where administrators can enforce branch protections, limit variable access, and restrict repository exports based on specific user roles.
  • WebHook Support: Native capability for external services (like Jira, Linear, or Slack) to trigger internal Vertex events, alerting developers or automatically opening files based on priority tickets.
  • Component Marketplace: A built-in repository where developers can publish and instantly integrate UI components directly into their active Vertex projects via simple plain text commands.
  • Offline Synchronization Mode: Utilizing Service Workers and IndexedDB to allow developers to edit their code while disconnected from the internet, automatically reconciling changes with Convex once connectivity is restored.

Local Deployment

To run Vertex on your local machine, ensure you have the appropriate .env.local keys configured for Convex, Clerk, Inngest, and your chosen AI providers.

First, install the project dependencies:

npm install

Second, initialize the development server:

npm run dev

Finally, open your browser and navigate to http://localhost:3000 to interact with your local instance of Vertex. You can modify the core application structure by editing the pages found within src/app/.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors