Inspiration

We wanted an AI assistant that’s like a quiet office and gives lots of “done” (email/summary/plan) responses with no prompt engineering required. DINOVA was designed to be super easy for judges to test: open a public URL, type a request, and receive an output.

What it does

DINOVA is a Nova web assistant powered by Nova (via AWS Bedrock) with 4 modes:

  • General: free-form chat for general assistance
  • Summary: summary + key takeaways + next steps
  • Plan: plans with steps, timeline, risks, and success metrics
  • Email: concise outreach/application emails with placeholders, proof bullets, and clear CTAs
  • Regenerate, copy, export to PDF, message reactions (like/dislike), TTS, and persistent chat

How we built it

  • Frontend: React (Vite) + Tailwind CSS, chat-first UI with tool sidebar
  • Backend: Node.js + Express
  • AI: Amazon Nova via Amazon Bedrock Runtime using the AWS SDK v3
  • Defensive parsing for Bedrock response variations, input validation, CORS, healthcheck endpoint
  • LocalStorage persistence for chats and per-chat tool settings

Challenges we ran into

  • Bedrock SSO permissions/credentials in a sandbox environment (session and policy restrictions)
  • Keeping tool settings (mode/length/tone) per chat
  • Tightening up prompt “format contracts” so response outputs don’t stray into generic templates
  • UI polish (no scrolling issues, correct behaviors for sidebar/chat; mobile support)

Accomplishments that we're proud of

  • Real (not mocked) Amazon Nova implementation with public demo flow friendly to judges
  • Chat-style UX that works across long sessions (good input affordance; rendered messages are clear)
  • Useful features: regenerate, copy, export to PDF, reactions, text-to-speech
  • Sturdy persistence: chats survive refresh and tool settings are preserved per chat

What we learned

A good AI demo is more about reliability than “coolness”: strong prompt constraints, robust backend handling, and UX that makes the happy path seamless

What's next for DINOVA

  • Stronger planning mode with explicit time-budget calculations and better milestone tracking
  • Optional “templates” for common workflows (job outreach, meeting notes, project kickoff)
  • Better voice options and richer exports (Markdown/Doc)
  • Safer deployments with role-based auth (no long-lived keys) and usage monitoring

Built With

Share this project:

Updates

posted an update —

Deployment Update: DINOVA is now live

DINOVA is now publicly deployed and fully functional.

Live links

What’s now working in production

  • Amazon Nova integration through AWS Bedrock (real model responses)
  • Chat-style UI with tool modes: General, Summary, Plan, Email
  • Per-chat settings (mode/length/tone) consistency
  • Message actions: copy, PDF export, text-to-speech, like/dislike
  • Chat persistence on refresh (empty chats auto-close)

Major challenge solved I hit a few deployment blockers:

  • IAM/SCP restrictions in sandbox account
  • Lambda package/ESM parsing issues
  • CORS conflict (Access-Control-Allow-Origin returned twice)

Resolved by:

  • Deploying backend on AWS Lambda Function URL
  • Fixing Lambda package format and handler setup
  • Using a single CORS strategy with ALLOWED_ORIGIN=https://dinova.vercel.app

DINOVA is now stable enough for judges to test directly from the public URL.

Log in or sign up for Devpost to join the conversation.

posted an update —

Just shipped the first working version of DINOVA.

What’s working now

  • Chat-style UI (conversation-first)
  • Modes: General / Summary / Plan / Email
  • Per-chat settings (mode/length/tone) now actually stay consistent
  • Message actions: copy, PDF export, like/dislike, text-to-speech
  • Chats persist across refresh (empty chats auto-close)

Challenges I hit (real hackathon pain)

  • Bedrock access/credentials were the biggest blocker early on (SSO tokens expiring, account restrictions).
  • Tool settings were “leaking” across chats at first—fixed by saving settings per chat and tightening prompt contracts.
  • UI polish took time: scroll issues, long chat titles breaking layout, and making the sidebar behave like a real chat app.

Next step Deployment + public demo URL (and then the short demo video walkthrough).

If you try it, drop feedback in the comments—especially on output quality for Email/Plan mode.

Log in or sign up for Devpost to join the conversation.

Submission history