Wefunder Investor Returns Portfolio


What is it?

The Internal Rate of Return dashboard shows an investor the condition and performance of their investments — whether the investment is worth more or less, or if the company has shut down completely.

What’s currently in place?

Email communication sometimes and good ole' neglect.



This was the biggest hole in our product. Thus far, most investors have been patient and understanding that investments take along time to realize. But our oldest investments are around 4-5 years old so a dashboard is overdue.

The Goal?

To help users understand how their investments are doing and feel secure about the investments being in holding.

The hope is that if investors are given transparent and timely updates about their investments, they are more likely to engage with the product, invest again, and refer Wefunder to their friends.


The Challenges

The Backend

This project required heavy involvement from engineering. There were some engineering details to consider like how shares and investments are tracked that would affect how we can display the measurements.


As the operations currently is, there are often delays in repayment schedules and general lack of updates from founders and about the companies. Since founders don't have time to provide timely updates on their companies nor do they usually want to disclose information on follow-on rounds actively, it's important to consider this when designing the dashboard.

This is working in conjunction with the current My Investments page which details companies that have not arrived at the confirmed and holding phase.

Boiling down complexity

It's easy for this to look like a stock market portfolio dashboard, which runs counter to our consistent desire to make things approachable. The fact that we have so many different types of investments that are measured with different metrics also makes it difficult.

Capturing All Cases and Variations

Missing edge cases here would be unfortunate, so extra time was dedicated to make sure the designs are robust enough to handle all foreseeable edge cases.


The Process

My team mate Linlin and I sat down and tried to spec out everything from the types of investments listed above and the various states and edge cases. This step was important.


After discussing extensively about our mental model of this portfolio page, we decided that we believed "returns" for both equity and debt should be presented in the same format. This was strongly challenged by our CEO who insisted that since returns from equity (cash on cash) are fundamentally different from returns from debt ($ payout), they cannot be grouped together and presented intermixed. It is true that most investment portfolios and experienced investors would expect the two to be regarded as different categories, we argued that our investors would not need the extra level of distinction that could be confusing.

Additionally, separating investments into debt and equity categories and distinct sections on the page would mean that hybrid investments needed to be replicated on both sections, possibly leading to further confusion.


Trials and Tribulations

At this point, our CEO was still not convinced that debt and equity should be grouped together. Though he has a lot more institutional knowledge about investing and investment portfolios, I insisted that since our users are typically not as sophisticated as he is, and are impressionable, we should opt for a more straight-forward format.

There was also a debate on what numbers to display at the top, and to be very explicit about unrealized returns versus realized returns.

The Final Thing

The portfolio will initially look like this. It resides below the pending investments of My Investments page. The stark contrast between My Investment’s gray background and the IRR portfolio’s dark gray background is intentionally signaling difference between the states.

Numbers at top keep track of key numbers that, at-a-glance, offer wholistic view of how the user’s investments are doing. We chose total invested, its theoretical value, and actual earnings. There are copious numbers of tooltips to help explain what these terms mean. The green figure below details % profit or loss.

Collapsed view of each investment will show the three key numbers, contracts, annual reports, and updates for easy access. If there are updates, the most recent update will be previewed below. We do not visually distinguish between debt and equity investments.

Boardwalk Hospitality uses a revenue share. If there are payouts, the CTA is visible so the investor can indicate their preferred payout method.

For (Github)/Microsoft, this is to indicate an acquisition. TAXA is grayed out to indicate failure.


A typical investment will be shown as follows.

At the top we will show most recent update from the founder or us. Below that is a ledge of all shares activity, including follow-on financing.

equity, expanded.png

For debt investments, there will be a payment schedule. Again, if a payout is available, the user will be able to indicate payout method here. If the payouts are late, it will indicate so.

debt, expanded.png

Funds are treated as an “investment” in terms of architecture, with its own collection of companies. It has the same interaction. If a company fails, it is grayed out.

funds, expanded.png

If you expand the company within a fund, you’ll find a similar UI compared to individual investments.


Sometimes companies will have hybrid contracts. Hopsters for example, had both debt and equity contracts.

hybrid, expanded.png

If a company has had multiple fundraises with Wefunder, we will also capture the activity in one entry. This is because the shares are tied to the individual and not the investment ID. The shares are acquired under different rounds and naturally different terms, so a corresponding contract will be linked under each entry.

multiple investments, expanded.png

Acquired companies will be shown as strike through to indicate that investors now have stakes in the new parent company.

acquired, exited, failed, expanded.png


In the end our CEO came around on displaying debt together with equity. We’ve got the framework built but it’s mostly missing a lot of data. We’ve encountered some trouble with our e-shares services not having all the data and companies listed correctly — so we’re looking into this before going live. We’ll have to reach out to founders to obtain updates.

What went well

This was the first time Linlin and I collaborated closely and it was definitely a benefit having another brain and another set of eyes on this project. Personally I was able to learn more about IRRs. We were able to tackle most of the challenges detailed at the beginning (backend, practicality, complexity, & variations and edge cases).

What could've been better

Again, due to lack of resources, we were not able to do user interviews or testing. A lot of this was based on our team members and may not be an accurate representation of the general user base. The one major challenge of practicality was considered heavily, but that means this IRR still has room for improvement. Many of the data points are not updated automatically and require heavy manual work. Since we do not have dedicated manpower to sourcing these updates, a lot of data points will remain stagnant. This might lead investors to feel that the dashboard may not be as useful.

Although there are numerous areas that could be improved, this is better than what we had before, which is nothing. As long as the new is always better than the old, no matter by how little, it’s moving in the correct direction.