Skip to content

Step 5: Deploy Nova

Step 5: Deploy Nova

Let’s put Nova on the internet so you can access it from anywhere.

Push to GitHub

First, create a GitHub repository for your project. Go to https://github.com/new and create a repo (e.g., nova-assistant).

Then push your code:

Terminal window
git init
git add -A
git commit -m "Nova personal assistant"
git remote add origin https://github.com/YOUR_USERNAME/nova-assistant.git
git push -u origin main

Login to Kernova Cloud

If you haven’t already:

  1. Go to https://kernova-cloud.vercel.app
  2. Sign up / sign in
  3. Go to Settings β†’ Create Key
  4. Copy the key
Terminal window
kernova login --key kn_live_your_key_here

Add Environment Variables

Go to the Kernova Cloud dashboard:

  1. Settings β†’ Connect GitHub (if you haven’t)
  2. After your project is created, go to Projects β†’ your project β†’ Environment
  3. Add: OPENAI_API_KEY = your OpenAI key

This ensures the deployed service has access to OpenAI.

Deploy

Terminal window
kernova deploy

You’ll see:

βœ… Deployed successfully
URL: https://kn-nova-assistant.onrender.com
Status: QUEUED

Wait 2-3 minutes for the build to complete on Render.

Test the Live App

Visit your URL: https://kn-nova-assistant.onrender.com

You should see:

  • The landing page with Nova’s branding
  • Click β€œStart chatting” β†’ the chat interface
  • Send a message β†’ Nova responds

What’s Running in Production

Render Container:
β”œβ”€β”€ Next.js (port 10000) ← serves the frontend + proxies to agents
└── Agent Backend (port 4555) ← runs KernovaKernel, handles AI requests

Render exposes port 10000 to the internet. When someone visits your URL:

  • / β†’ Next.js serves the landing page
  • /chat β†’ Next.js serves the chat UI
  • /api/agents/assistant β†’ Next.js proxies to the agent backend

Making Changes

Want to update Nova? Just push to GitHub:

Terminal window
# Edit agents/assistant.agent.ts
git add -A
git commit -m "Updated Nova's personality"
git push origin main

Render auto-deploys when you push (it watches your main branch).

Congratulations! πŸŽ‰

You’ve built and deployed a personal AI assistant with:

  • βœ… Custom personality and behavioral rules
  • βœ… Persistent memory (remembers across sessions)
  • βœ… Web search capability
  • βœ… Streaming chat interface with Tailwind
  • βœ… Live on the internet

What to Do Next

  1. Add more tools β€” a to-do list tool, a calendar tool, a weather tool
  2. Add scheduling β€” β€œGive me a morning briefing every day at 8am”
  3. Add channels β€” Connect a Slack bot so you can talk to Nova from your phone
  4. Share it β€” Give the URL to friends or colleagues

Full Project Recap

nova-assistant/
β”œβ”€β”€ app/
β”‚ β”œβ”€β”€ layout.tsx # Root layout
β”‚ β”œβ”€β”€ providers.tsx # KernovaProvider
β”‚ β”œβ”€β”€ page.tsx # Landing page
β”‚ β”œβ”€β”€ globals.css # Custom colors
β”‚ └── chat/page.tsx # Chat UI
β”œβ”€β”€ agents/
β”‚ └── assistant.agent.ts # Nova's definition
β”œβ”€β”€ agents/tools/
β”‚ └── web-search.ts # Web search
β”œβ”€β”€ memory/
β”‚ └── conversations.ts # Memory schema
β”œβ”€β”€ kernova.config.ts # Config
└── .env.local # Secrets

Key commands:

Terminal window
kernova dev # Local development
kernova build # Production build
kernova deploy # Ship to cloud

Next tutorial: Research & Content Pipeline β†’ (intermediate)