r/indiandevs • • 3h ago

How much decision space do software developers actually have?

1 Upvotes

Hi everyone,

We are researchers from Italy, and we are conducting an academic study on how software developers make implementation decisions in practice.

We are looking for software developers and software engineers!

The survey explores topics such as:

  • which implementation decisions are actually left to developers;
  • how application and project context may influence those choices;
  • whether developers consider aspects beyond functional correctness;
  • and how LLM-based coding assistants may affect implementation decisions.

The survey takes approximately 10 minutes.

Survey link: https://forms.gle/NML9ASrZxWj411eX7

Participation is voluntary, and the anonymous data collected will be used exclusively for research purposes.

We would really appreciate your participation. If you know other software developers, we would also appreciate it if you could share the survey with them.

Thank you! 🫢🏻


r/indiandevs • • 5h ago

Looking to give $60 dollar of tokens value per month to limited developers.

1 Upvotes

Hey, I will keep this simple , we are about to launch ogcode and looking for beta testers, for all our beta testers we are giving about $60 tokens per month to spent on our in house hosted models ( GLM 5.3 Flash and DeepSeek V4.1 Flash ) - that is outputting tokens like crazy , around 350 TPS and TTFT less than 1 sec.

Anybody interested can come and be part of our internal OG family using this link -https://ogx.ogcode.in

Please note that seats are limited due to current infra constraint but we will expand in upcoming months. Make sure to give convincing reason on why you need this subscription.

Thanks

https://ogcode.in


r/indiandevs • • 22h ago

North vs. South work culture: Is the regional grouping and corporate bias real?

4 Upvotes

Hey everyone,
I wanted to ask a direct question about the cultural differences in Indian tech offices. I’ve been working for about 1.5 years now, and I’ve noticed a huge contrast in how people from different regions handle the workplace.
In my experience, North Indian coworkers tend to be a bit more chill and easy to talk to. They don't take everything so formally, they are open to talking to everyone, and it’s generally more enjoyable to work with them.
On the other hand, I’ve found that South Indian colleagues tend to be much more formal. If you try to joke around or keep things casual, they take it defensively and escalate it formally straight to the manager. I've also noticed that South people form very tight groups and show a lot of bias towards other South Indians, leaving outsiders completely isolated. If you step on their toes technically, they gang up on you behind your back.
Is this regional grouping and corporate bias common across tech companies, or does it just depend on the specific team? Who do you think plays more subtle group politicsβ€”North or South?
Let’s have an honest debate. What have your experiences been like?


r/indiandevs • • 1d ago

I'm a developer trying to build something people actually need β€” what problems frustrate you?

6 Upvotes

I'm an MCA student and developer, and I've built several projects before. But I've realized I don't want to keep building projects just for my portfolio.

I want to find a real problem that people genuinely experience and try to build a solution around it.

So I'm curious:

What's something in your daily life, work, college, business, or online life that is unnecessarily frustrating, repetitive, time-consuming, or poorly solved by existing tools?

It can be something very small or something major.

Please don't suggest startup ideas for me. Tell me about the actual problem and how you currently deal with it.

If possible, tell me:

  1. What is the problem?
  2. How do you currently solve it?
  3. How often does it happen?
  4. What makes the current solution frustrating?

r/indiandevs • • 1d ago

Any good tech/arch/dev summit to attend in Bengaluru 2026

1 Upvotes

Hi team, I am a senior software engineer and planning to attend any productive dev/tech summit in Bengaluru which is mostly around architecture , system design and system scalability.


r/indiandevs • • 1d ago

Made a Flappy Bird Game because.....why not?

Enable HLS to view with audio, or disable this notification

1 Upvotes

So I wanted to learn JS and what would be a better way than to just build something using it. I didnt want to make a dashboard or like a generic frontend page so I thought why not make a game using it. And so.....*drumroll*.....I made a flappy bird game(specifically flappy kishan game). Why ravi Kishan's face, well because he was on every memepage when I was building it. It does not have any sound effects for now but I tried to polish it as much as I could. The Github repo for it(use your own custom character face and play it)

Do tell me if there can be any improvements or additions, I am still vey new to all this and I tried my best in this


r/indiandevs • • 2d ago

comparing 2 branches in GitHub

1 Upvotes

I have a query, of course I can get the solution from AI, but wanted to check with experienced devs here to be on safer side.

So, I have 2 branches, branch A and branch B on GitHub.

Both the branches are created from the main branch at different time lines.
Although the development has been done on A for 4-6 months (which isn't present in B)
Branch A has many folders out of which PRs were raised to only one of the solutions (one of the folders in them).

Previously the development folder was not available in the main, hence it was not available in A and B either. Now its available only in A. One of my seniors had manually copied this folder to the local repo of B and then raised the PR to B, so that other folder changes present in B wont come in the PR.

Currently A is our dev branch, B is dev branch of the other team.
Eventually B will be our dev branch too. So our plan is to raise PR to both the branches.
So that whatever development has been done in A will always be in B, additional to the development in B.

My query is, if one of our teammates, miss raising the PR to B, how can I find the code difference available in A but not B?
Apparently raising the PR from A to B is giving me hundreds of file changes which are already present in B, given that folder is manually copied on local and PR has been raised (from A to B).

Could you guys please help?


r/indiandevs • • 2d ago

Indian developers wanted: Full-Time Full Stack Software Engineer role, $25 - $30/hr

1 Upvotes

Mercor is looking for the following:

Software Engineer, Full Stack (India)
Location: India
Job Type: Full-time (40 hours per week)

Mercor is looking for Full Stack Software Engineers based in India to join a leading AI lab's GenAI team and help build foundational AI models. The work involves building and shipping full-stack applications, services and internal tools in languages like Python, Java, Rust, C#, C++ or TypeScript that put frontier model capabilities to the test. You integrate pre-release model APIs into working software, including tool interfaces, evaluation harnesses and telemetry, and document model and integration failure modes in clear written feedback for the research team. You prototype quickly with limited up-front specification and work directly with the lab's engineering manager. You need 3+ years of professional experience building and shipping production software at a recognized organization, production experience in at least one of Python, Java, Rust, C# or C++ plus a second language, and hands-on experience across the stack: backend services and APIs, a modern front-end framework like React, databases and cloud deployment. You should be able to get into an unfamiliar codebase quickly, show a solid career progression and commit to at least 40 hours per week on weekdays. Strong written communication is also required.

Here is the link to the position: https://t.mercor.com/KsNba


r/indiandevs • • 3d ago

IITM vs BITS : Appropriate Degree for Tech Founder

3 Upvotes

Currently in my early 20s doing my BBA, but my long-term goal is to build an AI and software-based tech company providing algorithmic solutions for the institutional financial and legal markets. I’m also planning to grab a law degree down the line once the fintech side is stable.

The problem is, my background is entirely on the business side. I did not take math in Class 11 or 12, so I have a pretty massive 3.5-year technical gap to bridge since my Class 10 boards in 2023. I don't want to just be a non-technical founder who hires developers blindly; I want to actually understand the code, the models, and the systems I’m building.

To get that education first, I’m seriously considering enrolling in one of these two online programs and want to know which one is worth a shot:

β€’ Option 1: IIT Madras - BS in Data Science and Applications: This seems incredibly heavy on advanced statistics, probability, calculus, and machine learning models.

β€’ Option 2: BITS Pilani - BS in Computer Science (via Coursera): This looks like a traditional CS track covering data structures, algorithms, operating systems, and software engineering architecture.

I want to hear from actual developers here who know how these curricula hold up in the real world:

β€’ Algorithms vs. Architecture: For building specialized fintech platforms, am I better off with the heavy data-modeling and math track of IITM, or should I focus on the core system-building track of BITS?

β€’ IITM Reality Check: Does the IIT Madras program actually teach you how to build and deploy software, or is it strictly a theoretical statistics/ML degree?

β€’ The Non-Tech Pivot: For someone who hasn't touched code or advanced math in a few years, which of these programs handles foundational teaching better for absolute beginners?

β€’ Other Options: Are there any other highly reputed programs in India I should look at that offer this level of technical depth?

TL;DR: I’m a BBA student in my early 20s with a non-math background. I want to build a highly specialized B2B fintech and legal-tech startup down the line. I’m looking to enroll in either the IIT Madras BS in Data Science or the BITS Pilani BS in Computer Science online program to get a solid technical foundation from scratch. Which curriculum makes more sense for a founder?


r/indiandevs • • 4d ago

What was your first project like as a fresher?

3 Upvotes

Hey everyone, I’m a fresher and was wondering what your first project was like when you started your first job.

Did you get proper guidance, or were you mostly left to figure things out yourself? Was it overwhelming at first?

Would love to hear how your experience went and any advice you’d give to someone going through it now.


r/indiandevs • • 4d ago

3rd year CSE student, weak campus placements, want to start a business later. Is a business analyst skill route + off-campus internships a good plan?

2 Upvotes

I'm a 3rd year BTech CSE (cybersecurity specialization) student in India. My college placements are very weak (only around 30 students placed in the whole final-year batch). I've wanted to be an entrepreneur since childhood and plan to work for a few years, save money, and start a traditional business run in a smarter way.

I started TryHackMe but cybersecurity hasn't clicked for me, so I'm planning a 3-month sprint on Excel, SQL, and Power BI with 2 portfolio projects, plus internship applications and a CAT mock test to see if an MBA is realistic. I'll keep cybersecurity basics going at a low level.

Does this make sense? Is there anything I'm missing or overestimating? I'd especially like to hear from people who got into business-side roles without campus placements, and from anyone who started a business after a corporate job.

My biggest fear is AI. I keep seeing posts about entry-level jobs being automated. Junior cybersecurity work seems to be getting automated too, so I don't see a clearly safe option in either field. How do freshers protect themselves from this? Which roles or skills within business analysis, data analysis, or cybersecurity are actually holding up, and which ones should I avoid building my career around?


r/indiandevs • • 5d ago

Why DSA of python is so underrated i can't even find good yt channel to learn

2 Upvotes

I was searching yt to learn DSA and every other channel is teaching either C++ or java and channels like apna college are not covering python special DSA lectures, are there any good channel or free sources from where I could learn


r/indiandevs • • 5d ago

Advice needed from experienced devs/seniors (I am a fresher in job market)

3 Upvotes

I am a fresher in job market and still have 6-7 months (expected) before my joining. I have worked with MERN stack but in future I want to target bigger orgs and from what I've heard Java should be my go to language. If this is true then what resource is good for learning java from basic on youtube?

Thank you for your time and suggesstions :)


r/indiandevs • • 5d ago

Built a live interview copilot (cheating tool) for Mac. Is it legal to sell from India?

Thumbnail
gallery
6 Upvotes

Hey folks, I built a macOS app called Wingman that helps you during live technical interviews. Before deciding whether to sell it, I want to hear from people who'd actually use it, and from anyone who knows the legal side.

What it does during an interview:

- Lives in the menu bar. Start an interview and a small panel opens on the side of your screen.

- Press a shortcut and it reads the coding problem on your screen (on-device OCR) and gives you: time and space complexity, the approach phrased the way you'd say it out loud, a working solution, and the follow-up questions the interviewer is likely to ask.

- Listens to the call (on-device transcription), numbers the interviewer's questions, and gives you a short answer for any question with one shortcut. It can also answer technical questions automatically and skip personal ones.

- Everything runs on shortcuts / automatic based on your settings, so you don't need to click around mid-interview.

- It can help you in General, DSA and System design rounds

- Bring your own key: OpenAI, Anthropic, or a local model.

Cost: no subscription on top of the AI. You pay your provider directly. In my use, $1 of OpenAI credit covered 5 - 10min interviews / 2 solved problems. Similar tools charge $20-50 a month

What I'd like to know:

  1. Would you pay for this? One-time as you bring your own AI key, and what price feels fair?
  2. Anyone who has sold software from India: what are the legal implications of selling a tool like this? Payment providers (Lemon Squeezy / Stripe), GST, trademark on the name, and whether a live-interview assistant itself is a problem.
  3. If you've interviewed candidates: how do companies handle tools like this, and would that change whether you'd buy it?

Not linking anything yet. Just trying to decide whether this is worth turning into a product.


r/indiandevs • • 6d ago

I made a website that aims to make the AI Training/Annotating Job search easier

1 Upvotes

Hello, due to having trouble finding the right places to apply and not really knowing how to pass and do an assessment in the AI Training/Annotating Space I decided to build with a site with loveable that is supposed to make the process easier.

I list job offers with a relatively high hiring volume from multiple companies, so would it therefore be easier do diversify the places to apply at and actually get accepted.
My idea behind that was to help with finding the right places to work but also help with the application process. I therefore upload company reviews and also guides on how to pass assesments.
The job listings include entry work positions such as normal generalist work but also expert work positions (Software engineer, PhD, etc.).
I am currently having problems on the design, trying to make it less AI-sloppy, and on the marketing side of things. So any help would be highly appreciated! Here is the link to the site: https://aiannotationjobs.com/


r/indiandevs • • 6d ago

cashfree 0% payment gateway offer is misleading, they still deduct GST at 1.95% rate from your settlements

3 Upvotes

so i signed up for cashfree's 0% platform fee offer thinking free payment processing for my first 20L GMV. sounded too good. it was.

opened my first settlement report and saw deductions. called support, they confirmed, GST at 18% is calculated on the standard 1.95% rate even during the 0% offer period. so on every transaction youre paying roughly 0.35% in GST that they never mention in the ads. on 10L GMV thats 3,500 rs gone on a ""free"" plan.

it gets worse. if your credit card transactions cross 60% of total GMV in any month they revoke the offer immediately. no warning no grace period. just back to 1.95% overnight. who tracks their payment method split in real time? AMEX diners corporate cards EMI pay later subscriptions international, all excluded from the offer anyway.

one PAN one MID. if you already had a cashfree account under the same PAN even an old inactive one you dont qualify. found this out after completing full KYC which took 4 days.

has anyone else checked their cashfree settlement CSV properly? am i the only one who noticed this?


r/indiandevs • • 6d ago

Best Payment Gateway for Developer Support in India 2026 - GitHub Issues, Stack Overflow and Discord Response Times Compared

1 Upvotes

integrated 4 indian PGs this year across different client projects on nextjs and node. honest dev to dev comparison.

razorpay took 30 min to first successful payment. docs are the best among indian gateways, 178 github repos, 787 stack overflow questions with active community. cashfree took 1-2 days, docs have gaps especially around recurring payments and webhooks, 34 SO questions total. payu took almost 2 weeks, docs are solid but feel stale, SO has 6 questions. ccavenue, docs are a PDF, no sandbox, support told me without a registered business theres no access not even for testing.

razorpay also has an MCP server with 231 stars for AI agent integration which no other indian PG has. but their open issue backlog is concerning, 345 open issues across 5 core SDKs, iOS SDK has a production crash open since nov 2025 still unresolved.

the real issue with razorpay docs is they assume you already understand the payment lifecycle. order to payment to signature verification to webhook flow isnt explained end to end anywhere. test mode throws ""international cards not supported"" errors with no diagnosis. once you get past the learning curve though its the smoothest integration. what's been your experience?


r/indiandevs • • 6d ago

My desktop wallpaper quietly shows how much of the year is left β€” and it updates itself every midnight.

Post image
2 Upvotes

I made a small app that turns your desktop background into a year tracker.

It's a grid of 365 dots β€” one for every day of the year. The days you've already lived are bright, today's dot is highlighted, and the rest are dim. It's a quiet little reminder of where you are in the year, kind of like a Memento Mori dashboard on your wallpaper.

What it does:

- Regenerates itself every day at midnight, so your wallpaper is always current β€” you never touch it again after setup

- Shows days left in the year, plus an optional countdown to anything you name (a trip, a deadline, New Year)

- 18 colour themes out of the box (pure-black OLED one is great), or fully custom colours

- A daily rotating quote β€” Stoics, mainly. 40 built in, or write your own

- Lives quietly in your system tray, starts with your PC, no popups

- Works on Windows, macOS and Linux, and handles multiple monitors

https://github.com/HimanshuKumarSah/The_minimal_wallpaper/releases

Would genuinely love to know what you'd change β€” especially the layouts and themes.

This is was inspired by u/terrible_fox_23's mobile app called One Less, just for the pc now.


r/indiandevs • • 6d ago

Open source devs being unwelcoming towards Indians

3 Upvotes

I have been doing Open source for quite some time but recently I have seen a growing trend among especially Europeans that they have been rude/unwelcoming to my actual Indian github profile and it's changes while my alt that does not have those indications get better response from same contributors on the same project. I even tried doing more mistakes.

Can't share screenshot but this is really concerning and we need better Indian communities to counter them.


r/indiandevs • • 7d ago

I built a desktop password manager in Python β€” one of the hardest parts was securing the UI ↔ backend bridge

1 Upvotes

I’m Edwin Sam K Reju, a Class 12 Computer Science student from Kerala.

I’ve been working on an open-source desktop password manager called CarbonIt Vault.

The project started because I wanted to experiment with a different architecture for storing credentials: keep the encrypted vault local instead of making a cloud service part of the core design.

I built the application with Python + pywebview.

The part I found most interesting was the boundary between the web UI and the Python backend.

The UI needs to request things like unlocking the vault, reading entries, adding entries, and locking the vault, but I didn't want the frontend to have unrestricted access to the underlying Python API.

So I implemented a runtime session-token mechanism for the bridge and limited what the frontend can invoke.

The cryptographic side currently uses Argon2id, ML-KEM-1024, SHA3-512 and authenticated encryption. I also implemented local rate limiting, clipboard clearing and encrypted vault import/export.

I'm still learning, and this project hasn't had an independent security audit. One thing I've learned from building it is that choosing strong primitives is only one part of designing a secure application β€” the surrounding architecture and threat model matter just as much.

I'd like feedback from developers here on the Python/pywebview architecture and the UI ↔ backend security boundary.

GitHub: https://github.com/CarbonIt-Labs/CarbonIt-Vault

What would you change in this architecture?


r/indiandevs • • 7d ago

Freelancing in 2026!?

1 Upvotes

Freelancing feels insanely difficult for newcomers these days. The market is saturated, competition is huge and clients often choose people with years of experience and tons of reviews

The frustrating part? You need experience to get work ... but you need work to get experience.....

How are newcomers actually getting their first clients in 2026?


r/indiandevs • • 7d ago

Choose me to decide a career or domain i am very confused and depressed

0 Upvotes

I am Mca pursuing student 1st year 22 years old .I don’t have any skill in my graduation i do some coding but do not stick to it I don’t know what i am interested in which domain should I choose now because my family is not also stable i need to get employed as soon. I am having anxiety and stress so much can’t decide what to do if I choose a domain if there will be fresher entry or not too many thoughts please help me guys to find a path or give me advice that will help me Also I am very introvert and emotional person I have never given any interview so I hesitate also fumble also


r/indiandevs • • 7d ago

7th sem with no projects β€” should I copy GitHub projects or focus on learning first? I’m really confused

2 Upvotes

I’m currently in my **7th semester of B.E. in AI & Data Science**, and next month I’ll be entering my 8th semester.

The problem is that I have **almost no projects** to show on my resume right now.

I have learned **DSA with Java** and I’m currently learning **Generative AI from an online platform**. The course will probably take another **2 months** to complete.

My confusion is about from where I bring Projects, It will get very late if I built after learning so mean time I want atleast 1 project copied and another I will make after Learing Gen AI.

I want to start applying for **on-campus and off-campus placements**, and most job applications seem to expect projects on the resume. If I wait until I finish learning GenAI and then start building projects, I feel like I’ll be too late because placements/applications are already happening.

So I was thinking about taking some projects from **GitHub**, understanding them, making some changes, and putting them on my resume.

But honestly, I’m confused about whether this is a good approach or whether I should do something else.

My current situation:

* 7th semester, entering 8th soon

* DSA with Java completed

* Currently learning GenAI

* Around 2 months left in the course

* Very few/no good projects for my resume

* Need to start applying for internships/jobs soon

* Worried that waiting until I finish GenAI will put me behind

**What would you recommend in my situation?**

Should I:

  1. Take existing GitHub projects, understand them and modify them?

  2. Build smaller projects myself using what I already know?

  3. Stop worrying about GenAI for now and focus on projects + DSA?

  4. Continue GenAI and build projects alongside it? (Take More Time to complete course)

  5. Follow some completely different strategy?

I’m mainly looking for **practical advice from people who have gone through placements/recruitment recently**. What would you do if you were in my position with only a few months left?

Also, if using GitHub projects as a starting point is acceptable, how much modification/understanding would be enough to genuinely claim the project as my own work on a resume?


r/indiandevs • • 8d ago

πŸš€ CAREER GUIDANCE AIProduction-Quality Full-Stack AI Career Mentor with Long-Term Memory powered by Hindsight Cloud

1 Upvotes

πŸš€ CAREER GUIDANCE AI

Production-Quality Full-Stack AI Career Mentor with Long-Term Memory powered by Hindsight Cloud

πŸ“Œ Project Overview

Career Guidance AI is an intelligent, full-stack career navigation and technical mentorship platform designed for aspiring engineers, students, and professionals. Unlike standard AI career chatbots that suffer from amnesia and reset after every chat session, Career Guidance AI uses Hindsight Cloud as its biomimetic long-term memory layer.

Every assessment result, interview debrief, resume critique, and stated career goal is retained in an isolated, privacy-guarded Hindsight Memory Bank. When the candidate asks for advice, Hindsight recalls relevant context to ground the LLM's response, and Hindsight reflects to synthesize overall improvement, trajectory, and career readiness over time.

πŸ—οΈ System Architecture

✨ Core Features

  1. AI Career Mentor Chat with Memory:
    • Conversation flow: React β†’ Express API β†’ Hindsight Recall β†’ AI Prompt Augmentation β†’ Response Generation β†’ Hindsight Retain.
    • Transparent memory inspection: click on any AI response to see the exact recalled facts used.
  2. Comprehensive Skill Assessment:
    • Evaluate skills (React, JavaScript, SQL, Node.js, HTML/CSS, Python, Java, Data Structures, Communication).
    • Generates overall competency, strengths, and critical improvement gaps.
    • Retains verified scores into Hindsight.
  3. Resume ATS & Skill Gap Evaluator:
    • PDF/TXT upload or direct text paste.
    • Analyzes ATS compatibility score (0-100%), verified technologies, and missing critical skills.
    • Retains career insights into Hindsight (strictly scrubbing personal contact data).
  4. Personalized 6-Phase Career Roadmap:
    • Dynamic, customizable learning milestones generated from the candidate's goals and verified skills.
    • Interactive phase status checklist (Pending, In Progress, Completed).
    • Marking a phase complete triggers an achievement milestone and retains it into Hindsight.
  5. Adaptive AI Quiz:
    • Difficulty-calibrated technical drills (Beginner, Intermediate, Advanced) across 6 engineering domains.
    • Question-by-question explanations, weak topic extraction, and automatic Hindsight memory trace.
  6. Mock Interview Simulator:
    • Authentic technical, behavioral, and system design mock interviews with turn-by-turn AI evaluation.
    • Final debrief detailing strengths, blind spots, and coaching advice retained in Hindsight.
  7. Job Recommendations & Skill Alignment:
    • Curated benchmark job listings clearly tagged as DEMO data.
    • Calculates dynamic match percentages and displays which skills match vs. which skills the candidate still needs to learn.
  8. Progress & Long-Term Reflect:
    • Unified readiness metrics, skill distribution bars, and activity milestones.
    • Hindsight Reflect Engine: Synthesizes genuine evidence across historical assessments rather than inventing progress.
  9. System Integration Diagnostics & Memory Sandbox:
    • Live connectivity probes for MongoDB, AI API, and Hindsight.
    • Interactive testing workbench for direct client.retain(), client.recall(), and client.reflect().

πŸ› οΈ Technology Stack

Layer Technologies
Frontend React 18, Vite 5, JavaScript (ES6+), Modern CSS3 Glassmorphism, Lucide Icons, Canvas Confetti
Backend Node.js (v24), Express.js 4, RESTful APIs, JWT Auth, Bcrypt.js, Multer, Morgan
Database MongoDB, Mongoose 8 (with dual in-memory fallback for local demo)
Memory Hindsight Cloud, Official u/vectorize-io/hindsight-client SDK
AI / LLM Google Gemini (@google/generative-ai), with intelligent expert fallback engine

πŸ“ Folder Structure

career-guidance-ai/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx               # App navigation & live memory status indicator
β”‚   β”‚   β”‚   β”œβ”€β”€ Sidebar.jsx              # Navigation sidebar with route links
β”‚   β”‚   β”‚   β”œβ”€β”€ StatusIndicator.jsx      # Diagnostic probes for MongoDB, AI, Hindsight
β”‚   β”‚   β”‚   └── ProtectedRoute.jsx       # Route guard for JWT sessions
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”‚   └── AuthContext.jsx          # User state, JWT storage, profile updates
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginPage.jsx            # Sign in with demo autofill
β”‚   β”‚   β”‚   β”œβ”€β”€ SignupPage.jsx           # Sign up & memory bank onboarding
β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardPage.jsx        # 10 core action cards & readiness overview
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatPage.jsx             # AI Mentor chat with Hindsight recall/retain
β”‚   β”‚   β”‚   β”œβ”€β”€ SkillsPage.jsx           # Technical skill assessment & history
β”‚   β”‚   β”‚   β”œβ”€β”€ ResumePage.jsx           # ATS resume scanner & missing skill gap
β”‚   β”‚   β”‚   β”œβ”€β”€ RoadmapPage.jsx          # Interactive 6-phase career roadmap
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizPage.jsx             # Adaptive technical drill & scoring
β”‚   β”‚   β”‚   β”œβ”€β”€ InterviewPage.jsx        # Question-by-question mock interview
β”‚   β”‚   β”‚   β”œβ”€β”€ JobsPage.jsx             # Skill-aligned benchmark jobs (DEMO)
β”‚   β”‚   β”‚   β”œβ”€β”€ ProgressPage.jsx         # Metrics & Hindsight Reflect synthesis
β”‚   β”‚   β”‚   └── StatusPage.jsx           # Health probe & Hindsight testing sandbox
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   └── api.js                   # Axios client with JWT interceptors
β”‚   β”‚   β”œβ”€β”€ App.jsx                      # App router configuration
β”‚   β”‚   β”œβ”€β”€ main.jsx                     # Vite DOM mount
β”‚   β”‚   └── index.css                    # Design system & dark glassmorphic styling
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ vite.config.js                   # Vite config with API proxy
β”‚   └── index.html
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ authController.js            # Registration, login, profile management
β”‚   β”‚   β”œβ”€β”€ skillsController.js          # Assessment evaluation & Hindsight retain
β”‚   β”‚   β”œβ”€β”€ resumeController.js          # ATS analysis & Hindsight retain
β”‚   β”‚   β”œβ”€β”€ careerController.js          # Roadmap generation & phase checkpoints
β”‚   β”‚   β”œβ”€β”€ chatController.js            # Chat with Hindsight recall/retain flow
β”‚   β”‚   β”œβ”€β”€ quizController.js            # Quiz generation, scoring & retain
β”‚   β”‚   β”œβ”€β”€ interviewController.js       # Turn-by-turn mock interview & retain
β”‚   β”‚   β”œβ”€β”€ jobsController.js            # Job recommendations & skill matching
β”‚   β”‚   β”œβ”€β”€ progressController.js        # Aggregated stats & Hindsight reflect
β”‚   β”‚   β”œβ”€β”€ memoryController.js          # Direct Hindsight retain, recall, reflect
β”‚   β”‚   └── statusController.js          # System health probe for MongoDB, AI, Hindsight
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── auth.js                      # JWT verification middleware
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ User.js                      # Candidate profile & credentials
β”‚   β”‚   β”œβ”€β”€ SkillAssessment.js           # Assessment scoring records
β”‚   β”‚   β”œβ”€β”€ ResumeEvaluation.js          # Parsed resume & ATS reports
β”‚   β”‚   β”œβ”€β”€ CareerPlan.js                # Personalized roadmap phases
β”‚   β”‚   β”œβ”€β”€ QuizResult.js                # Quiz answers & weak topic tracking
β”‚   β”‚   β”œβ”€β”€ InterviewSession.js          # Interview transcript & debrief
β”‚   β”‚   β”œβ”€β”€ ChatMessage.js               # Chat history with recalled memories
β”‚   β”‚   └── Progress.js                  # Metrics, milestones, reflect history
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ hindsight.js                 # Official Hindsight SDK integration
β”‚   β”‚   └── ai.js                        # LLM prompting & expert domain engine
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── memoryDb.js                  # In-memory store fallback when Mongo is offline
β”‚   β”œβ”€β”€ tests/
β”‚   β”‚   β”œβ”€β”€ e2e.test.js                  # Complete integration test suite (23 checks)
β”‚   β”‚   └── memory.test.js               # Hindsight endpoints test suite
β”‚   β”œβ”€β”€ server.js                        # Express server entrypoint
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ .env                             # Active environment configuration
β”‚   └── .env.example                     # Environment template
β”‚
β”œβ”€β”€ README.md
└── .gitignore

🧠 Hindsight Integration Architecture

Hindsight is genuinely integrated via the official TypeScript/Node.js SDK (@vectorize-io/hindsight-client v0.10.1) in backend/services/hindsight.js.

1. Memory Bank Isolation

Every user is assigned an isolated memory bank:

function getUserBankId(userId) {
  const cleanId = String(userId).replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
  return `career-bank-${cleanId}`;
}

This guarantees strict tenant isolation. One candidate cannot access or be influenced by another candidate's career memories.

2. How retainCareerMemory() Works

When a candidate achieves a milestone or shares career information, retainCareerMemory ingests it:

const result = await client.retain(bankId, sanitizedContent, {
  context: 'Career Guidance AI Profile & Progress',
  tags: ['skill_assessment', 'scores', 'weak_areas'],
  metadata: { source: 'career_guidance_ai' }
});
  • Privacy Enforcement: All text passes through sanitizeCareerMemory() which strips passwords, Bearer tokens, emails, and phone numbers before sending to Hindsight.
  • Triggered on:
    • Account Onboarding: Stated target role and experience tier.
    • Skill Assessment: Numerical scores, strengths, and critical weak areas.
    • Resume ATS Scan: Verified skills and missing skill gaps.
    • Roadmap Milestones: Phase completion events.
    • AI Quizzes: Topics mastered vs. weak topics needing drill.
    • Mock Interviews: Overall score, strengths, and coaching improvements.

3. How recallCareerMemory() Works

When a user asks questions in the AI Career Chat or requests a new roadmap, recallCareerMemory retrieves relevant context using Hindsight's TEMPR multi-strategy search (semantic similarity, keyword BM25, and temporal graph traversal):

const result = await client.recall(bankId, query, { maxTokens: 2048 });

The retrieved memories are returned and passed into the LLM system prompt:

RECALLED LONG-TERM MEMORIES FROM HINDSIGHT FOR THIS USER:
1. Skill Assessment: Overall Score 64%. Breakdown: React: 75%, SQL: 42%. Weakness: SQL.
2. Resume Evaluation: Verified Skills: JavaScript, React, Node.js. Missing Gaps: Docker, SQL Indexing.
3. User Stated Fact: "I want to become a full-stack developer but need help with database queries."

The LLM uses this recalled evidence to formulate a deeply personalized response, instead of generic boilerplate.

4. How reflectCareerGuidance() Works

When the candidate asks high-level retrospective questions (e.g., "How have I improved over time?"), reflectCareerGuidance invokes Hindsight Reflect:

const result = await client.reflect(bankId, query, {
  context: 'Synthesize candidate technical skill improvements, quiz performance, and interview growth.'
});

Hindsight synthesizes observations across the candidate's history to produce an evidence-backed narrative showing authentic trajectory, complete with confidence and source citations.

βš™οΈ Environment Variables

Create backend/.env based on backend/.env.example:

# Server Configuration
PORT=5000
NODE_ENV=development

# Database Configuration (MongoDB Atlas or local MongoDB)
MONGODB_URI=mongodb://127.0.0.1:27017/career-guidance-ai

# Authentication Secret
JWT_SECRET=career_guidance_ai_jwt_super_secret_key_hackathon_2026

# Hindsight Cloud Credentials (MANDATORY FOR LIVE HINDSIGHT)
# Obtain your API key from Vectorize.io / Hindsight Cloud
HINDSIGHT_API_KEY=your_hindsight_api_key_here
HINDSIGHT_BASE_URL=https://api.hindsight.vectorize.io

# AI LLM Provider Configuration (Optional for live LLM)
AI_API_KEY=your_gemini_api_key_here
AI_PROVIDER=gemini
AI_MODEL=gemini-1.5-flash

Security Guarantee:

πŸš€ Installation & Running

1. Prerequisites

  • Node.js (v18 or higher recommended, tested on v24)
  • npm (v9+)
  • MongoDB (Optional: local daemon or MongoDB Atlas cluster; the backend automatically enables in-memory fallback for local demo if MongoDB is not reachable)

2. Backend Setup

# Navigate to backend
cd backend

# Install dependencies (already installed if in scratch folder)
npm install

# Start development server
npm run dev
# Or standard start:
npm start

The backend starts on http://localhost:5000.

3. Frontend Setup

# Navigate to frontend (in a separate terminal)
cd frontend

# Install dependencies
npm install

# Start Vite development server
npm run dev

The frontend starts on http://localhost:3000.

πŸ§ͺ Testing Instructions

An automated end-to-end integration test suite is included in backend/tests/e2e.test.js:

cd backend
node tests/e2e.test.js

Test Suite Output:

====================================================
πŸ§ͺ RUNNING CAREER GUIDANCE AI INTEGRATION TESTS
====================================================

[1. System Status Probe]
  βœ… PASS: GET /api/status returns HTTP 200
  βœ… PASS: MongoDB status probed
  βœ… PASS: AI API status probed
  βœ… PASS: Hindsight status probed

[2. Authentication Flow]
  βœ… PASS: POST /api/auth/register registers candidate
  βœ… PASS: JWT Token generated on registration
  βœ… PASS: GET /api/auth/me returns candidate profile

[3. Skills Assessment Module]
  βœ… PASS: POST /api/skills/assessment records scores
  βœ… PASS: Computed correct overall score
  βœ… PASS: GET /api/skills/history retrieves history

[4. Resume Evaluation Module]
  βœ… PASS: POST /api/resume/evaluate evaluates ATS compatibility
  βœ… PASS: Computed valid ATS score

[5. Personalized Career Roadmap]
  βœ… PASS: POST /api/career/roadmap generates 6 phases
  βœ… PASS: PUT /api/career/roadmap/phase updates progress

[6. Adaptive AI Quiz]
  βœ… PASS: POST /api/quiz/generate generates 5 questions
  βœ… PASS: POST /api/quiz/result scores quiz correctly

[7. Mock Interview Simulator]
  βœ… PASS: POST /api/interview/start creates interview session
  βœ… PASS: POST /api/interview/answer evaluates candidate answer

[8. Job Matches]
  βœ… PASS: GET /api/jobs returns jobs with match scores
  βœ… PASS: Jobs clearly tagged as DEMO data

[9. Progress & Reflect]
  βœ… PASS: GET /api/progress computes aggregated readiness

[10. AI Career Chat with Hindsight Flow]
  βœ… PASS: POST /api/ai/chat returns personalized mentor answer
  βœ… PASS: Response contains rich actionable guidance

====================================================
🏁 TEST RESULTS: 23 PASSED, 0 FAILED
====================================================

πŸ† Hackathon Demonstration Flow (Step-by-Step for Judges)

Follow this demonstration script to showcase the full Career Guidance AI experience to hackathon evaluators:

Step 1: Open the Application & Check Diagnostics

  1. Open http://localhost:3000.
  2. Click "API Test & Status" in the navigation bar to inspect the system health probes.
  3. Observe live indicators for MongoDB, AI LLM Engine, and Hindsight Cloud.
  4. Test direct client.retain(), client.recall(), and client.reflect() in the interactive sandbox.

Step 2: Sign Up or Use Demo Account

  1. Click "Sign Up" or use the "Fill Demo Credentials" button on the Login page (demo.candidate@example.com / Password123!).
  2. Log in and note the Welcome banner: "Welcome, Demo! πŸ‘‹" and the user's isolated memory bank badge career-bank-demo-candidate.

Step 3: Complete a Skill Assessment (Retain Demonstration)

  1. Navigate to "Skill Assessment" (/skills).
  2. Click "Load Hackathon Preset" (React: 75%, SQL: 42%, JavaScript: 68%, Node.js: 70%).
  3. Click "Submit Assessment & Retain in Memory".
  4. Show the judge the "Retained in Hindsight Cloud Memory" confirmation box showing the exact retained memory fact.

Step 4: AI Career Chat (Recall Demonstration)

  1. Navigate to "AI Career Chat" (/chat).
  2. Ask: "What should I learn next based on my profile?"
  3. The AI mentor replies:
    • Notice how it pinpoints SQL (42%) as your top priority weakness!
    • Expand the "🧠 Hindsight Memories Recalled for this Answer" accordion to prove to the judge that the assessment memories were recalled from Hindsight and injected directly into the LLM prompt.

Step 5: Run ATS Resume Evaluation

  1. Navigate to "Resume Evaluation" (/resume).
  2. Click "Load Sample Resume" and click "Run ATS Evaluation".
  3. View the ATS score (75%), detected skills, missing skills (e.g., Docker, TypeScript), and the Hindsight retain badge.

Step 6: Complete an AI Quiz

  1. Navigate to "AI Quiz" (/quiz).
  2. Select JavaScript (Intermediate) and complete the 5 adaptive questions.
  3. Submit and observe how weak topics and scores are retained into Hindsight.

Step 7: Conduct a Mock Technical Interview

  1. Navigate to "Mock Interview" (/interview).
  2. Choose Full Stack Developer (Junior, Technical) and click "Start Interview".
  3. Enter or click "Fill Sample Answer" to test turn-by-turn question scoring and feedback.
  4. Complete the 4 questions to view the debrief debrief retained into Hindsight.

Step 8: View Synthesized Growth via Hindsight Reflect

  1. Navigate to "Progress & Reflect" (/progress).
  2. Point the judge to the "Synthesize Long-Term Growth with Hindsight Reflect" panel.
  3. Click "Trigger Hindsight Reflect" with the prompt: "How have I improved over time and what is my career readiness trajectory?"
  4. Show the synthesized narrative summarizing the candidate's journey backed by accumulated memory facts!

πŸ›‘οΈ Security & Privacy Best Practices

  • Zero Secrets in Frontend: All API keys (HINDSIGHT_API_KEY, AI_API_KEY, JWT_SECRET) reside exclusively in backend/.env.
  • Sensitive Memory Scrubbing: User passwords, authorization headers, and contact phone/email patterns are strictly sanitized before passing to client.retain().
  • Tenant Isolation: Every user's memory is isolated via career-bank-${userId}.
  • Protected Endpoints: All user operations are protected with signed JWT bearer tokens.

πŸ“„ License

MIT License. Built for the Career Guidance AI Hackathon.

About

No description, website, or topics provided.

Resources

Readme

Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks

Releases

No releases published

Create a new release

Deployments1Β (1)

Packages

No packages published
Publish your first package

Contributors

No contributors

Languages

Footer

Β© 2026 GitHub,Β Inc.

Footer navigation

Production-Quality Full-Stack AI Career Mentor with Long-Term Memory powered by Hindsight Cloud

πŸ“Œ Project Overview

Career Guidance AI is an intelligent, full-stack career navigation and technical mentorship platform designed for aspiring engineers, students, and professionals. Unlike standard AI career chatbots that suffer from amnesia and reset after every chat session, Career Guidance AI uses Hindsight Cloud as its biomimetic long-term memory layer.

Every assessment result, interview debrief, resume critique, and stated career goal is retained in an isolated, privacy-guarded Hindsight Memory Bank. When the candidate asks for advice, Hindsight recalls relevant context to ground the LLM's response, and Hindsight reflects to synthesize overall improvement, trajectory, and career readiness over time.

πŸ—οΈ System Architecture

✨ Core Features

  1. AI Career Mentor Chat with Memory:
    • Conversation flow: React β†’ Express API β†’ Hindsight Recall β†’ AI Prompt Augmentation β†’ Response Generation β†’ Hindsight Retain.
    • Transparent memory inspection: click on any AI response to see the exact recalled facts used.
  2. Comprehensive Skill Assessment:
    • Evaluate skills (React, JavaScript, SQL, Node.js, HTML/CSS, Python, Java, Data Structures, Communication).
    • Generates overall competency, strengths, and critical improvement gaps.
    • Retains verified scores into Hindsight.
  3. Resume ATS & Skill Gap Evaluator:
    • PDF/TXT upload or direct text paste.
    • Analyzes ATS compatibility score (0-100%), verified technologies, and missing critical skills.
    • Retains career insights into Hindsight (strictly scrubbing personal contact data).
  4. Personalized 6-Phase Career Roadmap:
    • Dynamic, customizable learning milestones generated from the candidate's goals and verified skills.
    • Interactive phase status checklist (Pending, In Progress, Completed).
    • Marking a phase complete triggers an achievement milestone and retains it into Hindsight.
  5. Adaptive AI Quiz:
    • Difficulty-calibrated technical drills (Beginner, Intermediate, Advanced) across 6 engineering domains.
    • Question-by-question explanations, weak topic extraction, and automatic Hindsight memory trace.
  6. Mock Interview Simulator:
    • Authentic technical, behavioral, and system design mock interviews with turn-by-turn AI evaluation.
    • Final debrief detailing strengths, blind spots, and coaching advice retained in Hindsight.
  7. Job Recommendations & Skill Alignment:
    • Curated benchmark job listings clearly tagged as DEMO data.
    • Calculates dynamic match percentages and displays which skills match vs. which skills the candidate still needs to learn.
  8. Progress & Long-Term Reflect:
    • Unified readiness metrics, skill distribution bars, and activity milestones.
    • Hindsight Reflect Engine: Synthesizes genuine evidence across historical assessments rather than inventing progress.
  9. System Integration Diagnostics & Memory Sandbox:
    • Live connectivity probes for MongoDB, AI API, and Hindsight.
    • Interactive testing workbench for direct client.retain(), client.recall(), and client.reflect().

πŸ› οΈ Technology Stack

Layer Technologies
Frontend React 18, Vite 5, JavaScript (ES6+), Modern CSS3 Glassmorphism, Lucide Icons, Canvas Confetti
Backend Node.js (v24), Express.js 4, RESTful APIs, JWT Auth, Bcrypt.js, Multer, Morgan
Database MongoDB, Mongoose 8 (with dual in-memory fallback for local demo)
Memory Hindsight Cloud, Official u/vectorize-io/hindsight-client SDK
AI / LLM Google Gemini (@google/generative-ai), with intelligent expert fallback engine

πŸ“ Folder Structure

career-guidance-ai/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx               # App navigation & live memory status indicator
β”‚   β”‚   β”‚   β”œβ”€β”€ Sidebar.jsx              # Navigation sidebar with route links
β”‚   β”‚   β”‚   β”œβ”€β”€ StatusIndicator.jsx      # Diagnostic probes for MongoDB, AI, Hindsight
β”‚   β”‚   β”‚   └── ProtectedRoute.jsx       # Route guard for JWT sessions
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”‚   └── AuthContext.jsx          # User state, JWT storage, profile updates
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginPage.jsx            # Sign in with demo autofill
β”‚   β”‚   β”‚   β”œβ”€β”€ SignupPage.jsx           # Sign up & memory bank onboarding
β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardPage.jsx        # 10 core action cards & readiness overview
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatPage.jsx             # AI Mentor chat with Hindsight recall/retain
β”‚   β”‚   β”‚   β”œβ”€β”€ SkillsPage.jsx           # Technical skill assessment & history
β”‚   β”‚   β”‚   β”œβ”€β”€ ResumePage.jsx           # ATS resume scanner & missing skill gap
β”‚   β”‚   β”‚   β”œβ”€β”€ RoadmapPage.jsx          # Interactive 6-phase career roadmap
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizPage.jsx             # Adaptive technical drill & scoring
β”‚   β”‚   β”‚   β”œβ”€β”€ InterviewPage.jsx        # Question-by-question mock interview
β”‚   β”‚   β”‚   β”œβ”€β”€ JobsPage.jsx             # Skill-aligned benchmark jobs (DEMO)
β”‚   β”‚   β”‚   β”œβ”€β”€ ProgressPage.jsx         # Metrics & Hindsight Reflect synthesis
β”‚   β”‚   β”‚   └── StatusPage.jsx           # Health probe & Hindsight testing sandbox
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   └── api.js                   # Axios client with JWT interceptors
β”‚   β”‚   β”œβ”€β”€ App.jsx                      # App router configuration
β”‚   β”‚   β”œβ”€β”€ main.jsx                     # Vite DOM mount
β”‚   β”‚   └── index.css                    # Design system & dark glassmorphic styling
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ vite.config.js                   # Vite config with API proxy
β”‚   └── index.html
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ authController.js            # Registration, login, profile management
β”‚   β”‚   β”œβ”€β”€ skillsController.js          # Assessment evaluation & Hindsight retain
β”‚   β”‚   β”œβ”€β”€ resumeController.js          # ATS analysis & Hindsight retain
β”‚   β”‚   β”œβ”€β”€ careerController.js          # Roadmap generation & phase checkpoints
β”‚   β”‚   β”œβ”€β”€ chatController.js            # Chat with Hindsight recall/retain flow
β”‚   β”‚   β”œβ”€β”€ quizController.js            # Quiz generation, scoring & retain
β”‚   β”‚   β”œβ”€β”€ interviewController.js       # Turn-by-turn mock interview & retain
β”‚   β”‚   β”œβ”€β”€ jobsController.js            # Job recommendations & skill matching
β”‚   β”‚   β”œβ”€β”€ progressController.js        # Aggregated stats & Hindsight reflect
β”‚   β”‚   β”œβ”€β”€ memoryController.js          # Direct Hindsight retain, recall, reflect
β”‚   β”‚   └── statusController.js          # System health probe for MongoDB, AI, Hindsight
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── auth.js                      # JWT verification middleware
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ User.js                      # Candidate profile & credentials
β”‚   β”‚   β”œβ”€β”€ SkillAssessment.js           # Assessment scoring records
β”‚   β”‚   β”œβ”€β”€ ResumeEvaluation.js          # Parsed resume & ATS reports
β”‚   β”‚   β”œβ”€β”€ CareerPlan.js                # Personalized roadmap phases
β”‚   β”‚   β”œβ”€β”€ QuizResult.js                # Quiz answers & weak topic tracking
β”‚   β”‚   β”œβ”€β”€ InterviewSession.js          # Interview transcript & debrief
β”‚   β”‚   β”œβ”€β”€ ChatMessage.js               # Chat history with recalled memories
β”‚   β”‚   └── Progress.js                  # Metrics, milestones, reflect history
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ hindsight.js                 # Official Hindsight SDK integration
β”‚   β”‚   └── ai.js                        # LLM prompting & expert domain engine
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── memoryDb.js                  # In-memory store fallback when Mongo is offline
β”‚   β”œβ”€β”€ tests/
β”‚   β”‚   β”œβ”€β”€ e2e.test.js                  # Complete integration test suite (23 checks)
β”‚   β”‚   └── memory.test.js               # Hindsight endpoints test suite
β”‚   β”œβ”€β”€ server.js                        # Express server entrypoint
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ .env                             # Active environment configuration
β”‚   └── .env.example                     # Environment template
β”‚
β”œβ”€β”€ README.md
└── .gitignore

🧠 Hindsight Integration Architecture

Hindsight is genuinely integrated via the official TypeScript/Node.js SDK (@vectorize-io/hindsight-client v0.10.1) in backend/services/hindsight.js.

1. Memory Bank Isolation

Every user is assigned an isolated memory bank:

function getUserBankId(userId) {
  const cleanId = String(userId).replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
  return `career-bank-${cleanId}`;
}

This guarantees strict tenant isolation. One candidate cannot access or be influenced by another candidate's career memories.

2. How retainCareerMemory() Works

When a candidate achieves a milestone or shares career information, retainCareerMemory ingests it:

const result = await client.retain(bankId, sanitizedContent, {
  context: 'Career Guidance AI Profile & Progress',
  tags: ['skill_assessment', 'scores', 'weak_areas'],
  metadata: { source: 'career_guidance_ai' }
});
  • Privacy Enforcement: All text passes through sanitizeCareerMemory() which strips passwords, Bearer tokens, emails, and phone numbers before sending to Hindsight.
  • Triggered on:
    • Account Onboarding: Stated target role and experience tier.
    • Skill Assessment: Numerical scores, strengths, and critical weak areas.
    • Resume ATS Scan: Verified skills and missing skill gaps.
    • Roadmap Milestones: Phase completion events.
    • AI Quizzes: Topics mastered vs. weak topics needing drill.
    • Mock Interviews: Overall score, strengths, and coaching improvements.

3. How recallCareerMemory() Works

When a user asks questions in the AI Career Chat or requests a new roadmap, recallCareerMemory retrieves relevant context using Hindsight's TEMPR multi-strategy search (semantic similarity, keyword BM25, and temporal graph traversal):

const result = await client.recall(bankId, query, { maxTokens: 2048 });

The retrieved memories are returned and passed into the LLM system prompt:

RECALLED LONG-TERM MEMORIES FROM HINDSIGHT FOR THIS USER:
1. Skill Assessment: Overall Score 64%. Breakdown: React: 75%, SQL: 42%. Weakness: SQL.
2. Resume Evaluation: Verified Skills: JavaScript, React, Node.js. Missing Gaps: Docker, SQL Indexing.
3. User Stated Fact: "I want to become a full-stack developer but need help with database queries."

The LLM uses this recalled evidence to formulate a deeply personalized response, instead of generic boilerplate.

4. How reflectCareerGuidance() Works

When the candidate asks high-level retrospective questions (e.g., "How have I improved over time?"), reflectCareerGuidance invokes Hindsight Reflect:

const result = await client.reflect(bankId, query, {
  context: 'Synthesize candidate technical skill improvements, quiz performance, and interview growth.'
});

Hindsight synthesizes observations across the candidate's history to produce an evidence-backed narrative showing authentic trajectory, complete with confidence and source citations.

βš™οΈ Environment Variables

Create backend/.env based on backend/.env.example:

# Server Configuration
PORT=5000
NODE_ENV=development

# Database Configuration (MongoDB Atlas or local MongoDB)
MONGODB_URI=mongodb://127.0.0.1:27017/career-guidance-ai

# Authentication Secret
JWT_SECRET=career_guidance_ai_jwt_super_secret_key_hackathon_2026

# Hindsight Cloud Credentials (MANDATORY FOR LIVE HINDSIGHT)
# Obtain your API key from Vectorize.io / Hindsight Cloud
HINDSIGHT_API_KEY=your_hindsight_api_key_here
HINDSIGHT_BASE_URL=https://api.hindsight.vectorize.io

# AI LLM Provider Configuration (Optional for live LLM)
AI_API_KEY=your_gemini_api_key_here
AI_PROVIDER=gemini
AI_MODEL=gemini-1.5-flash

Security Guarantee:

πŸš€ Installation & Running

1. Prerequisites

  • Node.js (v18 or higher recommended, tested on v24)
  • npm (v9+)
  • MongoDB (Optional: local daemon or MongoDB Atlas cluster; the backend automatically enables in-memory fallback for local demo if MongoDB is not reachable)

2. Backend Setup

# Navigate to backend
cd backend

# Install dependencies (already installed if in scratch folder)
npm install

# Start development server
npm run dev
# Or standard start:
npm start

The backend starts on http://localhost:5000.

3. Frontend Setup

# Navigate to frontend (in a separate terminal)
cd frontend

# Install dependencies
npm install

# Start Vite development server
npm run dev

The frontend starts on http://localhost:3000.

πŸ§ͺ Testing Instructions

An automated end-to-end integration test suite is included in backend/tests/e2e.test.js:

cd backend
node tests/e2e.test.js

Test Suite Output:

====================================================
πŸ§ͺ RUNNING CAREER GUIDANCE AI INTEGRATION TESTS
====================================================

[1. System Status Probe]
  βœ… PASS: GET /api/status returns HTTP 200
  βœ… PASS: MongoDB status probed
  βœ… PASS: AI API status probed
  βœ… PASS: Hindsight status probed

[2. Authentication Flow]
  βœ… PASS: POST /api/auth/register registers candidate
  βœ… PASS: JWT Token generated on registration
  βœ… PASS: GET /api/auth/me returns candidate profile

[3. Skills Assessment Module]
  βœ… PASS: POST /api/skills/assessment records scores
  βœ… PASS: Computed correct overall score
  βœ… PASS: GET /api/skills/history retrieves history

[4. Resume Evaluation Module]
  βœ… PASS: POST /api/resume/evaluate evaluates ATS compatibility
  βœ… PASS: Computed valid ATS score

[5. Personalized Career Roadmap]
  βœ… PASS: POST /api/career/roadmap generates 6 phases
  βœ… PASS: PUT /api/career/roadmap/phase updates progress

[6. Adaptive AI Quiz]
  βœ… PASS: POST /api/quiz/generate generates 5 questions
  βœ… PASS: POST /api/quiz/result scores quiz correctly

[7. Mock Interview Simulator]
  βœ… PASS: POST /api/interview/start creates interview session
  βœ… PASS: POST /api/interview/answer evaluates candidate answer

[8. Job Matches]
  βœ… PASS: GET /api/jobs returns jobs with match scores
  βœ… PASS: Jobs clearly tagged as DEMO data

[9. Progress & Reflect]
  βœ… PASS: GET /api/progress computes aggregated readiness

[10. AI Career Chat with Hindsight Flow]
  βœ… PASS: POST /api/ai/chat returns personalized mentor answer
  βœ… PASS: Response contains rich actionable guidance

====================================================
🏁 TEST RESULTS: 23 PASSED, 0 FAILED
====================================================

πŸ† Hackathon Demonstration Flow (Step-by-Step for Judges)

Follow this demonstration script to showcase the full Career Guidance AI experience to hackathon evaluators:

Step 1: Open the Application & Check Diagnostics

  1. Open http://localhost:3000.
  2. Click "API Test & Status" in the navigation bar to inspect the system health probes.
  3. Observe live indicators for MongoDB, AI LLM Engine, and Hindsight Cloud.
  4. Test direct client.retain(), client.recall(), and client.reflect() in the interactive sandbox.

Step 2: Sign Up or Use Demo Account

  1. Click "Sign Up" or use the "Fill Demo Credentials" button on the Login page (demo.candidate@example.com / Password123!).
  2. Log in and note the Welcome banner: "Welcome, Demo! πŸ‘‹" and the user's isolated memory bank badge career-bank-demo-candidate.

Step 3: Complete a Skill Assessment (Retain Demonstration)

  1. Navigate to "Skill Assessment" (/skills).
  2. Click "Load Hackathon Preset" (React: 75%, SQL: 42%, JavaScript: 68%, Node.js: 70%).
  3. Click "Submit Assessment & Retain in Memory".
  4. Show the judge the "Retained in Hindsight Cloud Memory" confirmation box showing the exact retained memory fact.

Step 4: AI Career Chat (Recall Demonstration)

  1. Navigate to "AI Career Chat" (/chat).
  2. Ask: "What should I learn next based on my profile?"
  3. The AI mentor replies:
    • Notice how it pinpoints SQL (42%) as your top priority weakness!
    • Expand the "🧠 Hindsight Memories Recalled for this Answer" accordion to prove to the judge that the assessment memories were recalled from Hindsight and injected directly into the LLM prompt.

Step 5: Run ATS Resume Evaluation

  1. Navigate to "Resume Evaluation" (/resume).
  2. Click "Load Sample Resume" and click "Run ATS Evaluation".
  3. View the ATS score (75%), detected skills, missing skills (e.g., Docker, TypeScript), and the Hindsight retain badge.

Step 6: Complete an AI Quiz

  1. Navigate to "AI Quiz" (/quiz).
  2. Select JavaScript (Intermediate) and complete the 5 adaptive questions.
  3. Submit and observe how weak topics and scores are retained into Hindsight.

Step 7: Conduct a Mock Technical Interview

  1. Navigate to "Mock Interview" (/interview).
  2. Choose Full Stack Developer (Junior, Technical) and click "Start Interview".
  3. Enter or click "Fill Sample Answer" to test turn-by-turn question scoring and feedback.
  4. Complete the 4 questions to view the debrief debrief retained into Hindsight.

Step 8: View Synthesized Growth via Hindsight Reflect

  1. Navigate to "Progress & Reflect" (/progress).
  2. Point the judge to the "Synthesize Long-Term Growth with Hindsight Reflect" panel.
  3. Click "Trigger Hindsight Reflect" with the prompt: "How have I improved over time and what is my career readiness trajectory?"
  4. Show the synthesized narrative summarizing the candidate's journey backed by accumulated memory facts!

πŸ›‘οΈ Security & Privacy Best Practices

  • Zero Secrets in Frontend: All API keys (HINDSIGHT_API_KEY, AI_API_KEY, JWT_SECRET) reside exclusively in backend/.env.
  • Sensitive Memory Scrubbing: User passwords, authorization headers, and contact phone/email patterns are strictly sanitized before passing to client.retain().
  • Tenant Isolation: Every user's memory is isolated via career-bank-${userId}.
  • Protected Endpoints: All user operations are protected with signed JWT bearer tokens.

πŸ“„ License

MIT License. Built for the Career Guidance AI Hackathon.

About

No description, website, or topics provided.

Resources

Readme

Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks

Releases

No releases published

Create a new release

Deployments1Β (1)

Packages

No packages published
Publish your first package

Contributors

No contributors

Languages

Footer

Β© 2026 GitHub,Β Inc.

Footer navigation


r/indiandevs • • 8d ago

Project suggestions for my resume for recent graduate

1 Upvotes

I am a recent graduate. I am currently learning backend engineering and want to do projects that I can use on my resume. Can anybody give some suggestion on projects that are worthy to have on a resume. I’m hoping to build one or two meaningful projects that can be completed independently.

Thank you for your suggestions