Inspiration

Most investing tools focus on the market: price movements, news, charts, and alerts. We wanted to focus on the investor.

A bad investment decision is not always caused by missing information. Often, it comes from acting too quickly, confusing confidence with evidence, or forgetting why a position was opened in the first place. Decision Twin began with a simple question: what if an investor had to make their reasoning visible before taking action?

What it does

Decision Twin guides users through a disciplined decision loop: intent, thesis, evidence, falsifiers, downside, stress test, review, and reflection.

Users can research US and Hong Kong equities with source and timestamp information, write down their core view, identify what would invalidate it, and test whether the idea fits their own risk rules. If the thesis is incomplete or the market data is unreliable, the product does not pretend otherwise—it asks the user to research more, wait, or stop.

Afterwards, users can return to the decision and reflect on what they got right, what they missed, and whether the process—not just the outcome—was sound.

How we built it

We kept the product deliberately local-first. The interface runs in the browser, while a lightweight Python service handles market-data requests, rule-based reviews, and local storage.

For market context, we use public quote and historical-price sources, while always showing where the data came from and when it was retrieved. The risk layer is deterministic: it checks thesis completeness, data freshness, and stress scenarios before allowing an idea to move forward.

An optional AI layer can help summarize evidence and surface unanswered questions, but it never overrides the rules or tells someone what to buy or sell.

Challenges we ran into

The hardest challenge was drawing a clear boundary between helpful guidance and false certainty.

Financial products can easily drift into “AI knows best” territory. We had to resist that. A stress test is useful, but it is not a forecast. Market data is useful, but public data can be delayed or incomplete. AI can help people think, but it should not quietly make the decision for them.

We also had to make the product feel rigorous without making it feel like homework. The process needs enough structure to catch weak reasoning, but not so much friction that people abandon it halfway through.

Accomplishments that we're proud of

We are proud that Decision Twin does not reward impulsive behavior.

A user cannot get a conditional pass without a saved thesis, evidence, downside, and clear invalidation criteria. If something is missing, the product says so plainly. That may sound small, but it changes the tone of the experience—from chasing the next trade to building a repeatable decision process.

We are also proud that privacy is part of the product design. Personal theses, reflections, and audit records stay local by default.

What we learned

We learned that trust does not come from adding more charts or stronger claims. It comes from being honest about uncertainty.

The most valuable moments in the product are often the least dramatic ones: realizing that a thesis has no real evidence, that a data point is stale, or that the downside has never been defined. Good investing tools should make those moments easier to see.

We also learned that AI works best here as a thoughtful second set of eyes—not as a substitute for judgment.

What's next for Decision_Twin(B)

Next, we want to make the reflection loop more useful over time.

That means better links between a thesis and its primary-source evidence, clearer review timelines, and patterns that help users notice their own habits: where they tend to overestimate conviction, ignore disconfirming evidence, or break their own rules.

We also want to improve the interactive onboarding experience, so a first-time user can understand the full decision loop by doing it—not by reading a long manual. The direction remains the same: no auto-trading, no price predictions, and no pretending that uncertainty can be engineered away. Just a better place to think before making a decision.

Built With

Share this project:

Updates