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.