← All blogs
Tips for Founders
·
January 13, 2025
·
5 min read

Generative AI using AWS Bedrock – Implementation for GoTo

Devika's implementation of AWS Bedrock AI in the GoTo project, showcasing advanced AI integration in job applications.

Generative AI using AWS Bedrock – Implementation for GoTo

Generative AI using AWS Bedrock – Implementation for GoTo

Ever filled out a job application? Tedious, right? 😴 What if technology could do it for you? 🤔

In today’s competitive digital landscape, Devika is constantly innovating new ways to enhance the user experience (UX) for the digital products we develop. Recently, we had the opportunity to leverage AI to improve the UX for our client GoTo, an app that connects international travelers with work opportunities, accommodation and essential information. GoTo’s case study is here.

After the initial MVP launch, user feedback highlighted demand for a more seamless user experience for posting and responding to job applications. In this article, we interviewed Devika Software Developer, Matt Brayne, about how he built this feature using artificial intelligence (AI)!

Matt, what was your role on this project?

Software Developer. I integrated our chosen AI tool, Bedrock, into the GoTo project from end to end.

Tell us a bit about GoTo and their business challenge?

GoTo’s main goal is to facilitate connections between the business users and job applicants in the most seamless way possible. The existing experience we built for the MVP was good, but could definitely be improved, and we identified using AI would make the most impact.

There were a few problems affecting the UX for each user:

  • Business users: Business users need to write job ads before posting them to the GoTo job board. GoTo wanted to improve the quality of the content being posted by providing suggestions of content that was customized to each individual business’ details.
  • Job applicants: applicants need to upload their resume information including prior role descriptions, however users had complained about writing long paragraphs on a mobile device. GoTo also wanted to improve the quality of resumes being submitted, and wanted to create a frictionless experience for users where English is their second language.

What was the technology challenge? Why did we look to AI to improve this feature?

From a tech perspective, providing customized content suggestions to business users is difficult without generative AI (without generative AI you’d need to parse the information yourself, maybe use weighted decision graphs, provide templates that may not be flexible enough, all of which adds unnecessary complexity to a project). AI was really the best tool for this.

How/why did we select Bedrock?

Bedrock is an AWS AI service that takes AI models from multiple leading AI startups and consolidates them into a single, easy to access service. Some of the models include Stable Diffusion, Llama 2 and Claude. We selected Bedrock due to a couple factors:

  • The pricing was one of the lowest we could find for our use case
  • We are an AWS partner so it made sense to use an AWS service.
  • We specifically chose Anthropic’s “Claude v1-Instant” model as it perfectly suited our use case: text content generation. It is also very fast and comparable in terms of quality/accuracy to other leading AI models such as GPT. The graph below shows the comparison.

What was the implementation process?

Using the Claude model was very simple once I worked through the documentation. AWS provides a basic “Prompt Engineering” guide that taught me some basic tips for improving the response quality/accuracy of the Claude model (documentation here).

Designing the prompts for our requests was really fun. Claude expects an input prompt containing XML tags, which helps it parse the input properly. Here you can see some examples of me treating Claude nicely in order to coax a better response:

const prompt = `\n\nHuman:

<context>You are a recruiter who is a master at writing job descriptions with an emphasis on appealing to backpackers and foreign nationals who come to Australia to look for a job.</context>

<data>

...

</data>

<tasks>

Write a job description that is customized for the business details and job details I have supplied above (make this description about 200 words).

</tasks>

<advice>Think step by step.</advice>

\n\nAssistant:`;

Funnily enough, the “think step by step” command has actually been proven to improve the quality of responses (documentation here).

What will this cost customers?

With our prompts and use case: each request should cost less than half a cent. So far the cost has been negligible, as this is a feature that each individual user uses relatively rarely. In the event that we decide to add more dependence on Bedrock in the future, we could easily implement a form of rate-limiting for each user that will keep costs under control. I have looked at the competition and Bedrock is definitely the cheapest option for the quality it provides.

How has the feature been going since implementation?

Really well, we haven’t had any issues with it and the cost remains low.

Will we use this technology on future projects? What would you change for next time?

We’ll definitely use Bedrock on future projects. Ideally by then we will have a dedicated Bedrock service in the AP-Southeast-2 (Sydney) region which should speed up response times for us. Next time I would like to try out some of the image-generation models, if it suits the business needs.

Contact Devika

Are you looking to launch an AI powered application? Contact Devika to discuss your ideas and how we can assist. devika.com/contact