Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How I Built a Referral System That Remembers Past Interactions

ReferralHub keeps referral status in MySQL and earlier interactions in a separate Hindsight memory service, so employees can review a request with context from past dealings with the same candidate.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ReferralHub is a job-referral application that keeps referral requests in a relational database and stores earlier interactions in a separate memory service. The goal is to let an employee reviewing a request see what happened the last time they dealt with the same candidate, instead of relying on memory or digging through old messages. The project account, written by Sai Sailu, frames the problem around two questions: “Have this employee and candidate interacted before?” and “What happened during their previous interaction?”

Why referral review loses context

An employee reviewing a referral request may already have handled earlier requests or conversations involving the same candidate. Without a system that keeps that history, the employee has two options: trust personal recall, or search past communications by hand. ReferralHub is built so that relevant prior context is available at the moment a later request is reviewed.

As an Amazon Associate I earn from qualifying purchases.

What the application does

Candidates explore job opportunities, compare their profiles with open positions, and submit referral requests. Employees review those requests, inspect the candidate-job match for each one, and decide whether to refer the candidate or decline. The memory layer exists to support that last decision, not to add a new step to the candidate’s experience.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Splitting current state from contextual memory

The author’s central design choice is to keep two kinds of information apart. Structured application state, such as whether a request is pending, referred, or declined, stays in the transactional database. Contextual information about earlier interactions goes to a separate service. The two stores answer different questions, so they are described separately below.

Concern MySQL Hindsight (via HindsightService)
Role in the design Transactional, structured application data Contextual memory of earlier interactions
Typical contents named in the project account Users, candidate profiles, jobs, companies, referral requests Relevant information from earlier interactions, organized by scope
Referral status (pending, referred, declined) Stored here as transactional state Not used as the source of current status
Answers which question What is the current state of this request? Has this employee and candidate interacted before, and what happened?
Integration Application database Separate service integrated with the Spring Boot backend

Why Hindsight is not a replacement for the database

The author does not treat the memory service as a second database. If a memory store were allowed to become the record of what a request’s status is, the system would have two sources of truth for the same fact. Keeping status in MySQL means the review screen can show the current state of a request from the authoritative store, and use memory only to add background.

HindsightService: retention and recall

The backend uses a service layer, HindsightService, to manage memory operations. The project account describes two of them:

  • Retention stores relevant information in an appropriate scope, so that it can be found later in the context it belongs to.
  • Recall searches earlier context in response to a query, which is how the employee’s review surfaces prior interactions.

Memory scopes: candidate, employee, and job

Memory is organized into three scopes: candidate, employee, and job. The author uses these to keep information organized and to make recall more relevant to the request in front of the reviewer. The account names the scopes but does not list the exact fields stored within each one, so readers should not assume a particular schema from the names alone.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The end-to-end flow

The author describes the following sequence for a single referral:

  1. The candidate discovers a job.
  2. The application calculates a profile match between the candidate and the position.
  3. The candidate submits a referral request.
  4. The request is stored in MySQL.
  5. Relevant context from the interaction is retained in Hindsight.
  6. The employee reviews the request and recalls prior context about the same candidate.
  7. The employee makes the referral decision.

The flow makes the memory step optional in one sense: nothing about the request’s status depends on recall. Recall only changes what the employee knows when deciding.

Reading the match example

The project account shows a match result of “AI Match: 70%,” with Java matched and Spring Boot and SQL missing. This is an illustration of how a match might be presented in the workflow. It is not a measured model result, and the account does not validate it as a match-quality metric. Do not read the 70% as an accuracy or performance figure.

The design lesson the author draws

The author’s takeaway is: “The purpose of memory is not simply to store more information. It is to make useful information available when it is needed.” The point is that adding a memory system does not improve an application on its own. In this design, memory earns its place only if it changes what an employee can understand during the next referral interaction. That test, rather than the volume of stored data, is what the architecture is organized around.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the project account does and does not establish

  • It establishes what the author says ReferralHub contains: a candidate-facing discovery and request flow, an employee review flow, MySQL for structured state, a separate Hindsight memory service, retention and recall operations, and three memory scopes.
  • It is the author’s own description. It is not independent evidence that the system works as intended.
  • It reports no independent evaluation, reliability benchmark, security assessment, or measured memory-retrieval performance.
  • It does not describe how privacy, access control, retention periods, or deletion of stored interaction data are implemented. Anyone evaluating a system like this should treat those as open questions.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to evaluate a similar design

If you are comparing this architecture with another real option, the account offers four dimensions to check:

  • Whether structured transactional state and contextual memory have clearly separate responsibilities, and which one is the source of truth for status.
  • How memory is scoped and queried, and whether those scopes match the questions a reviewer actually asks.
  • Whether recalled material is relevant to the current request and traceable to a specific earlier interaction.
  • The operational controls around the memory store, including privacy, access control, retention, and deletion, which you will need to verify in the specific product or codebase rather than assume from its architecture.

The first two dimensions are described in ReferralHub’s design. The last two need to be checked directly.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.