Amazon Nova AI Hackathon — Devpost Submission

Submitter Type

Professional Developer (Individual)

Category

Agentic AI — Build solutions where agents use Amazon Nova reasoning capabilities to tackle complex, real-world problems.

Elevator Pitch

RosettaCloud: Three AI agents that teach cloud engineering through real lab environments in your browser — hints before answers, automated grading, all powered by Amazon Nova 2 Lite.


Built With

Amazon Nova 2 Lite, Amazon Bedrock, Bedrock AgentCore, Amazon Titan Embed v2, Strands Agents SDK, Amazon EKS, Amazon Cognito, API Gateway, CloudFront, Route 53, AWS Lambda, DynamoDB, S3, ECR, EventBridge, LanceDB, Angular, FastAPI, Python, TypeScript, Terraform, Kubernetes, Istio, Docker, Redis, GitHub Actions

Try It Out

Video Demo

https://youtu.be/EzsJ9wofGOo


Inspiration

Software engineering education — especially cloud computing and DevOps — is broken for most of the world. Platforms like A Cloud Guru charge $35/month. AWS Skill Builder costs $29/month. For students in developing countries across EMEA and beyond, that's not affordable.

I'm from Egypt. I watched talented engineering students struggle not because they lacked ability, but because they lacked access to real infrastructure to practice on. You can't learn Kubernetes from slides. You need a terminal, a cluster, and something that tells you when you're wrong.

So I built RosettaCloud — three AI agents that teach cloud engineering through real lab environments in the browser.

What it does

RosettaCloud provisions each student an isolated cloud environment (VS Code + Docker + Kubernetes) in ~10 seconds and pairs it with three specialized AI agents powered by Amazon Nova 2 Lite:

  • Tutor — answers questions using hint-first pedagogy. It never gives the answer on the first ask. It guides you to think, then explains.
  • Grader — runs automated scripts inside your live environment to check your work, then explains what went wrong using Nova's reasoning.
  • Planner — tracks your progress in DynamoDB and recommends what to learn next.

When a student sends a message, Nova 2 Lite classifies the intent and routes it to the right agent. The Tutor uses RAG (Titan embeddings + LanceDB) to stay grounded in the curriculum. Students can even screenshot their terminal and send it — Nova 2 Lite's vision capabilities analyze the image alongside the question.

How we built it

Agent framework: Strands Agents SDK (AWS open-source) with AgentCore Runtime for managed deployment. Each agent has its own system prompt, tools, and personality.

Tool dispatch: AgentCore Gateway using MCP (Model Context Protocol) — 6 tools backed by two Lambda functions (question lookup, knowledge base search, progress tracking, grading).

Memory: In-process session history (40 messages, 4h TTL) + AgentCore Memory with three LTM strategies (userPreference, semantic, summary) for cross-session persistence.

Infrastructure: EKS Auto Mode (k8s 1.33), ALB with target-type: ip, Istio service mesh, CloudFront CDN, Cognito + API Gateway JWT auth.

CI/CD: 6 GitHub Actions workflows using OIDC (zero static credentials) — agent deploy, Lambda deploy, questions sync, backend build, frontend build, interactive labs build.

17 AWS services in production: Amazon Bedrock (Nova 2 Lite), Bedrock AgentCore, Titan Embed v2, Cognito, API Gateway HTTP API, EKS, ALB, CloudFront, Route 53, Lambda (x2), DynamoDB, S3, ECR, EventBridge, IAM (IRSA), CloudWatch.

Challenges we ran into

  1. Nova 2 Lite leaking system context — The model would echo student metadata (user_id, module_uuid) in its responses. Moving context from user messages to system prompts fixed it.

  2. Hint-first vs. explain conflict — After hardening the Tutor to never give direct answers, the "explain" feature (which should give direct answers) also started giving hints. Had to add explicit override rules in the system prompt.

  3. AgentCore Memory flush — Session managers buffer messages and only persist on close(). Without a finally block, memory was silently lost on every request.

  4. Cross-region inference profiles — Nova 2 Lite's inference profile routes to multiple US regions, but our IAM policy only allowed us-east-1. Took hours to debug a single AccessDeniedException.

  5. Kind clusters on spot instances — Each lab runs a full Kubernetes cluster inside a container. Two concurrent labs starve a t3.xlarge. Had to limit Karpenter to one node and queue labs.

Accomplishments that we're proud of

  • Production-deployed at dev.rosettacloud.app with real users, not a hackathon prototype
  • Hint-first pedagogy that actually works — the AI teaches thinking, not just answers
  • 10-second lab provisioning — from click to VS Code + Docker + Kubernetes in the browser
  • Three specialized agents with distinct roles, tools, and personalities — not one generic chatbot
  • Zero static credentials across the entire stack — OIDC everywhere

What we learned

  • AgentCore Memory needs explicit LTM strategies (userPreference, semantic, summary) — STM alone doesn't persist across sessions
  • Nova 2 Lite is surprisingly capable for agent routing — classifies intent in under 200ms
  • System prompts are where instructions belong; user messages get echoed
  • Strands Agents SDK + AgentCore Gateway + MCP is a clean pattern for multi-tool agents
  • Educational AI is harder than general-purpose AI — you have to resist the model's instinct to be helpful and make it withhold answers

What's next for RosettaCloud

  • More courses — Docker deep dive, Terraform, CI/CD pipelines, Linux administration
  • Multimodal grading — let students screenshot their work instead of running scripts
  • Peer learning — agents that connect students working on similar problems
  • Mobile support — responsive lab interface for tablets
  • Open source the curriculum — let educators contribute courses and exercises

Built With

Share this project:

Updates