# Q4 2025 Bounty Challenge | History Repeats Itself

### \[UPDATED 31/03/25] This bounty challenge is now closed 👀.

You are your transaction history.

This challenge is all about building *reality-based* financial tools: apps, agents, and dashboards that look at what people actually do with their money – and help them make smarter choices going into the new year.

Think:

> “January-me has big dreams. November-me has data.”

Let’s put that data to work.

> 💬 **Special shout-out:** Massive thanks to OG community member **Rijnhardt Kotze** for inspiring this theme and its gloriously honest naming.

***

### TL;DR

* **Theme:** History Repeats Itself – quantified self + real financial behaviour
* **Build window:** **20 November – 20 December 2025**
* **Who it’s for:** Everyone from first-time builders to OG community builders
* **Goal:** Use the **Investec API** to find patterns in real behaviour and (optionally) use **agentic AI** to act on them safely
* **Prizes:** Overall winner, best agentic build, best pattern, best rookie

👉 **Submission form:** [`Submit your build here`](https://forms.office.com/r/CL3D9fJMaD)

***

### 1. Theme: History Repeats Itself

January resolutions are cute. Transaction histories are honest.

This bounty focuses on the **“quantified self”**: measuring and surfacing patterns in how people live, spend and earn – and then nudging better decisions.

Some examples to spark ideas:

* When you take **more than 10k steps**, do you **spend more at McDonald’s**?
* When you add **new streaming subscriptions**, do your **billable hours drop**?
* Do you listen to **more Adele** on Spotify on the day **debit orders** hit?

You’ll use:

* [**Investec API**](https://developer.investec.com/za/api-products) data (transactions, balances, pending items)
* Optionally: **other data sources** (fitness, calendar, music, time tracking, etc.)
* Optionally: **agentic AI / MCP / LLMs** to generate rich context or take helpful actions

For anything that moves money: **start in Sandbox** and be very deliberate about UX and guardrails.

***

### 2. Tracks (choose one)

Pick the track that matches your ambition and time. All tracks are open to all skill levels.

| Track & Level         | What you build                                                  | Great if you…                                                                                                    | Example features                                                                                               |                                                                                                                                                                                                                                                                                                                                                              |
| --------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><strong>🧩 Track A | Pattern Finder</strong><br><em>(Beginner-friendly)</em></p>     | Find interesting, real-world patterns in people’s financial behaviour and surface them in dashboards or reports. | Are new to the Investec API, or want to focus on data, charts and storytelling rather than complex automation. | <p>– Correlate <strong>spend vs steps</strong>, <strong>spend vs calendar</strong>, <strong>spend vs music</strong><br>– Build a <strong>“Reality Dashboard”</strong>: “You say you’re cutting eating out… here’s what actually happened.”<br>– Highlight a user’s personal <strong>“McDonald’s Constant”</strong> – their hilariously consistent habit.</p> |
| <p><strong>🤖 Track B | Agent, Act!</strong><br><em>(Agentic AI / MCP)</em></p>         | Build an **agent** that watches behaviour and triggers useful, safe actions or detailed explanations.            | Are comfortable with LLMs, tools, MCP, and want to give your app a “brain” that can act (with consent).        | <p>– Draft weekly <strong>“You vs Reality”</strong> reports using LLMs<br>– Suggest <strong>safe internal transfers</strong> or “cool-off” periods based on patterns<br>– Explain <em>why</em> the agent did something, using natural language and clear logs.</p>                                                                                           |
| <p><strong>🧪 Track C | Behaviour Change Lab</strong><br><em>(Pro / ambitious)</em></p> | A mini **behavioural lab** that tests what actually changes behaviour over time.                                 | Want to combine data, experimentation and UX to show “before vs after” impact.                                 | <p>– Run A/B tests on <strong>different nudges</strong> (alerts vs weekly recaps vs playbooks)<br>– Track which interventions work for a specific user<br>– Show a <strong>“Behaviour Impact”</strong> view: “This change saved you X / reduced Y over 6 weeks.”</p>                                                                                         |

You can always start with Track A and layer in Track B/C ideas as you go.

👉 Check the [**API Reference**](https://developer.investec.com/za/api-products) in the official docs for details on:

* Accounts, balances, transaction history
* Pending transactions and card data
* Payments and transfers (for safe, explicit actions)

> For anything that moves money: start in **Sandbox** and be very deliberate about UX and guardrails.

***

### 3. Optional sub-themes & prompts

Use these as creative prompts if you’re stuck. Think of them as “idea cards” you can pick up and run with.

{% tabs %}
{% tab title="Idea Example #1" %}
**Prompt:** “The McDonald’s Constant”

**Insight:** Some habits are hilariously stable over time – your personal constants.

**What you could build:**

– Detect **weirdly stable patterns** in history (e.g. post-overtime takeaways, Friday splurges)\
– Turn one constant into a playful insight card: “Your McDonald’s Constant is X.”\
– Suggest micro-changes or rules around that constant (not full life overhauls)
{% endtab %}

{% tab title="Idea Example #2" %}
**Prompt:** “January 15th”

**Insight:** By mid-Jan, the New Year’s optimism meets the bank balance reality.

**What you could build:**

– Using Nov/Dec data, **forecast mid-Jan** cash position and risk points\
– Simulate different behaviours between now and then (“if you do X, Jan 15th looks like Y”)\
– Show a simple “do this now → avoid that pain then” plan
{% endtab %}

{% tab title="Idea Example #3" %}
**Prompt:** “Build for Who You Actually Are”

**Insight:** You are your transaction history, not your Pinterest board of dreams.

**What you could build:**

– Contrast **ideal self vs actual self** using data slices (e.g. “You say you’re frugal, here’s your actual eating-out pattern”)\
– Offer system suggestions that match real behaviour (e.g. automatic buffers where you *actually* leak money)\
– Let users pick from a few realistic “money personalities” informed by their history
{% endtab %}
{% endtabs %}

***

### 4. Prizes

&#x20;Small swag hampers up for grabs:

* 🏆 **Grand Prize – Best Overall Reality Product**
* 🤖 **Best Agentic Build** – Safest and most useful autonomous actions
* 🔍 **Best Pattern** – Fun/insightful correlation with a genuinely useful outcome
* 🌱 **Rookie Award** – Best project from a first-time Investec API builder

And of course - eternal community glory.

***

### 5. What you need to submit

| 🧾 Requirement            | ✔️ What to Do                                                                         |
| ------------------------- | ------------------------------------------------------------------------------------- |
| **Declare Participation** | Say “I’m in!” in [#bounties](https://investec-dev-com.slack.com/archives/C05MNBE2G3C) |
| **GitHub Repo**           | Share your working code via a **public repo**                                         |
| **README**                | Include setup instructions and how your solution works                                |
| **License**               | Must be **MIT Licensed**                                                              |
| **Demo (Optional)**       | Screenshots, videos, or gifs are welcome!                                             |
| **Knowledge File**        | Add a `./knowledge` file with tips, gotchas or learnings (optional but awesome)       |

***

### 6. Safety, privacy & ethics

This challenge plays with **real financial behaviour**, so we need to be extra thoughtful.

Please:

* **Start with Sandbox (**[**Official**](https://developer.investec.com/za/api-products/documentation/SA_PB_Account_Information#section/Authentication/Oauth2-Sandbox) **or** [**Community**](https://github.com/Investec-Developer-Community/Community-Projects?tab=readme-ov-file#community-created-sandboxes)**)** for anything that moves money
* Be transparent about:
  * What data you read
  * How you compute correlations
  * Any assumptions you’re making
* Always allow:
  * Opt-out and data disconnect
  * Clear confirmation for financial actions
* Avoid making **financial advice claims**
  * Show facts, insights, options – let the user decide

If in doubt, lean towards **“explain more, act less”**.

***

### 7. Final note

You don’t have to “fix” anyone’s entire financial life.

If your project helps someone see **one true thing** about themselves – and nudges them to make one better decision – that’s already a win.

Happy building ✨


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://investec.gitbook.io/programmable-banking-community-wiki/get-building/build-events/q4-2025-bounty-challenge-or-history-repeats-itself.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
