Inspiration:

The Hackathon-Stack-Generator originated from a desire to streamline architecture decisions during the SCU AWS Hackathon. Rather than manually comparing service options and spending hours calculating costs, this tool allows users to generate, evaluate and justify technology stacks quickly. The process highlighted how many teams lack accessible infrastructure-cost tools when selecting cloud services, databases, or hosting solutions.

What We Learned:

  • Server-side rendering using Astro (configured with output: 'server').
  • Integrating AWS Bedrock as an AI-model endpoint for conversation generation.
  • Persisting data in DynamoDB, managing conversation threads via a table composed of id, userId, messages[], createdAt, updatedAt.
  • Modular SCSS architecture for styling front-end components effectively.

How We Built It:

  • Frontend Built using Astro with file-based routing in src/pages/ and component reuse in src/components/. Styling through SCSS with shared variables in src/styles/.
  • Backend/API Serverless API routes (e.g., src/pages/api/message/generate.ts) handle interactions with AWS Bedrock and DynamoDB.
  • Data layer DynamoDB table for user conversation threads. Helper functions (createThread, getThread, updateThread) in src/lib/dynamodb.ts.
  • AI integration The Bedrock model meta.llama3-1-70b-instruct-v1:0 (region us-east-1) is used via the @aws-sdk/client-bedrock-runtime.
  • Deployment & configuration Environment variables define AWS credentials, region, DynamoDB table name, and model config. Astro configured for SSR and production build commands specified. Here’s a cleanly reformatted version of your “Test it out” section:

Test it out

Suggested Prompts:

  • “Generate a cloud-based tech stack for a small e-commerce startup with minimal budget.”
  • “Compare AWS vs Azure hosting for a web application with 10,000 monthly users. Show estimated costs and ROI.”
  • “Evaluate a stack with PostgreSQL, Vercel, and Auth0 for ROI and operational cost.”

Built With

Share this project:

Updates