Inspiration

The inspiration for Terrier Career Agent came directly from the challenge posed by the HackBU event: to engage with our own student data in a meaningful way. We recognized a common anxiety among students: the difficulty of translating a transcript full of courses into a clear and viable career path. Many students graduate with a strong academic record but feel lost about what specific jobs they're qualified for, what skills they're missing, and who they should talk to. Our goal was to build a tool that bridges this gap, turning a student's personal data into a personalized, actionable career roadmap.

What it does

Terrier Career Agent acts as a personal AI career coach. Powered by the Google Gemini API, the application does the following: Analyzes a student's academic profile from their transcript data to understand their strengths.

Suggests tailored career paths that align with their specific major and coursework.

Performs a visual skill-gap analysis for a chosen career, clearly showing the skills the student has versus the skills they need to acquire.

Provides specific BU course recommendations to help the student fill those skill gaps.

Identifies a list of alumni working in that field, making it easier for students to build their professional network.

How we built it

We built this project as a full-stack Python application, prioritizing rapid development and a robust AI core.

Frontend: We used Streamlit to create a clean, interactive, and responsive web interface without needing to write extensive HTML, CSS, or JavaScript.

Backend & Data Handling: The core logic is written in Python. We used the Pandas library for efficiently loading and filtering data from our mock .csv and .json files (which represent the alumni network, course catalog, and job requirements).

AI Engine: The "brains" of our application is the Google Gemini API. We made direct REST API calls using the requests library. A significant part of our work was in prompt engineering—designing precise prompts that instruct the AI to return structured JSON, which our application can then parse and display.

Security: To protect our API key, we used a .env file and the python-dotenv library to load it securely, ensuring no secrets were exposed in the code.

Challenges we ran into

Of course. Here is a detailed write-up for each section of your project submission, based on the application we've built together.

Inspiration

The inspiration for Terrier Career Agent came directly from the challenge posed by the HackBU event: to engage with our own student data in a meaningful way. We recognized a common anxiety among students: the difficulty of translating a transcript full of courses into a clear and viable career path. Many students graduate with a strong academic record but feel lost about what specific jobs they're qualified for, what skills they're missing, and who they should talk to. Our goal was to build a tool that bridges this gap, turning a student's personal data into a personalized, actionable career roadmap.

What it does

Terrier Career Agent acts as a personal AI career coach. Powered by the Google Gemini API, the application does the following:

Analyzes a student's academic profile from their transcript data to understand their strengths.

Suggests tailored career paths that align with their specific major and coursework.

Performs a visual skill-gap analysis for a chosen career, clearly showing the skills the student has versus the skills they need to acquire.

Provides specific BU course recommendations to help the student fill those skill gaps.

Identifies a list of alumni working in that field, making it easier for students to build their professional network.

How we built it

We built this project as a full-stack Python application, prioritizing rapid development and a robust AI core.

Frontend: We used Streamlit to create a clean, interactive, and responsive web interface without needing to write extensive HTML, CSS, or JavaScript.

Backend & Data Handling: The core logic is written in Python. We used the Pandas library for efficiently loading and filtering data from our mock .csv and .json files (which represent the alumni network, course catalog, and job requirements).

AI Engine: The "brains" of our application is the Google Gemini API. We made direct REST API calls using the requests library. A significant part of our work was in prompt engineering—designing precise prompts that instruct the AI to return structured JSON, which our application can then parse and display.

Security: To protect our API key, we used a .env file and the python-dotenv library to load it securely, ensuring no secrets were exposed in the code.

Challenges we ran into

Our biggest challenge was dealing with the unpredictable nature of a Large Language Model.

Inconsistent AI Responses: Initially, the Gemini API would sometimes return incomplete data (e.g., providing strengths but not career paths) or add conversational text that broke our JSON parser. We solved this by implementing a resilient parsing function in our api_handler.py module. This function uses regular expressions to find and extract the JSON object from the AI's raw text output, making our app far more reliable.

Static Data vs. Dynamic AI: The AI would dynamically suggest new job titles (like "Machine Learning Engineer") that didn't exist in our static data files. This led to empty charts and recommendations. This taught us the importance of ensuring our application's knowledge base can keep pace with the AI's creative and relevant suggestions.

Accomplishments that we're proud of

We are incredibly proud of building a fully functional, end-to-end prototype that goes beyond a simple concept. Our key accomplishments include:

Successfully integrating the Gemini API to provide genuinely personalized and dynamic career advice.

Engineering a resilient system that can gracefully handle and clean up imperfect AI responses, a critical skill in modern AI development.

Creating a highly actionable user journey. The app doesn't just show data; it provides a clear, step-by-step path: "Here's a career -> here are the skills you need -> here are the courses to take -> here are the people to talk to."

What we learned

This project was a fantastic learning experience, particularly in the practical application of AI.

The Art of Prompt Engineering: We learned that getting reliable, structured JSON from an LLM is a skill in itself. It requires clear, explicit instructions, examples, and a well-defined format.

Defensive Programming for AI: You cannot blindly trust an AI's output. We learned to write "defensive" code that anticipates potential failures—like malformed or incomplete responses—and handles them elegantly without crashing.

The Power of Rapid Prototyping: Using Streamlit allowed us to build and iterate on a complex, data-driven UI incredibly quickly, letting us focus our energy on the core AI logic.

What's next for Terrier_Career_Agent

We see a bright future for the Terrier Career Agent and have several ideas for expansion:

Integration with Real BU Systems: The ultimate goal is to move beyond mock data and work with the university to securely connect to real, anonymized databases for transcripts, course catalogs, and alumni networks.

Enhanced AI Features: We plan to expand the AI's capabilities to help students draft networking outreach emails or even generate practice interview questions tailored to their profile and a specific job description.

User Accounts and Progress Tracking: We envision a version where students can create accounts, save their career analysis, and track their progress as they complete recommended courses and acquire new skills over their time at BU.

Built With

Share this project:

Updates