Launch HN: Penny (YC W17) – a personal finance coach

114 points by dontmitch ↗ HN
Hey HN, we’re the founders of Penny (https://www.pennyapp.io), part of YC’s W17 batch. We’re building an easy way for people to keep track of their finances. In a nutshell: download the app, connect your accounts, get insights and advice on your finances.

We actually got our start on HN over a year ago. Alex and I spent a couple weeks putting together a prototype of the app as a fun side project in between jobs. We launched that on Show HN (https://news.ycombinator.com/item?id=9942202), managed to raise a seed round a few months later, and then re-launched on Show HN (https://news.ycombinator.com/item?id=10858327) several months later. Thanks for the encouragement and feedback along the way!

Some things that we’ve learned and/or would be happy to discuss:

- Having only five categories scaled way further than we thought. It turns out there’s a silent majority that appreciates the simplicity. We just added a premium version that includes subcategories, but we made it over 1.5 years without them.

- We built Penny as a web app (Cordova). It pretty much guarantees that we don’t get featured by Apple or Google, but it allows us to iterate really, really quickly. All users always have the latest version, and we can update the app in two minutes flat. We think the tradeoff is worth it.

- We’re using a chat interface because it allows Penny to explain your finances in simple, relatable English, but we’re not on any chatbot platforms. We also strongly favor predetermined choices over freeform messages.

- Most people don’t realize when they’ve potentially been harmed: over 40% of our Wells Fargo users hadn’t heard about the scandal a month after the news broke. For the Arby’s breach it was over 70%, and for the Navient lawsuits it was 93%.

- We decided to roll our own Ruby DSL for writing conversations, which renders a JSON syntax tree that’s interpreted by the client. Right now, Penny has 34,560 words of copy, 888 emojis, and 93 GIFs.

93 comments

[ 4.6 ms ] story [ 196 ms ] thread
What parts of your app and service do you update outside of the App Store/Google Play? Do those things get included in changelogs somewhere?
Other co-founder here:

Since we use Cordova, the entire app is a website. So when you open up the app, it launches a webview pointed to a website that we deploy to like any other website. That means we can change any client logic and it'll go out in minutes. We also have a conversation DSL that lets us make conversation flow tweaks in under a minute, and since the bulk of the app is conversations, that allows us to move super quickly.

Great question about the changelogs! Since we don't have a longer cadence between feature pushes since we're deploying all the time, we have to go back and look at historical pushes whenever we need to write a changelog. We typically roll up all the little features and announce them whenever we make a new version in the app store. On top of that, we usually announce new features inside Penny, where she'll give a little intro on the new functionality. That also doubles as onboarding to the new feature if needed.

How are you different/better than Mint?
Hey, I'm a co-founder of Penny:

Our biggest differentiators: more focus on automation and friendliness. The major pain point we discovered is that average people find finances intimidating and difficult to track. We wanted to take as much of it off of people's hands as possible as well as doing everything we can to make the experience as friendly and engaging as possible. That goes a long way to making something that people feel comfortable using. We think Mint is a powerful tool with a much steeper learning curve, and we wanted to build something that anybody can use.

So this appears to play in similar space as Mint, but reduce and automate categories, and provide a chat interface, correct?
Yup, though our emphasis is more on making finances as relatable and friendly as possible. The chat interface isn't just a skin on top of existing data (which some other chat interfaces can feel like), but completely dictates the entire experience. This is super relevant for our goal of coaching people to better financial health—chat is a great medium for coaching, but a traditional UI would probably be more difficult.
I'm curious about your decision to use a chat interface. Given that the primary purpose is to provide insights and explanation, it seems a traditional UI presentation would be superior -- my sense is that a chat UI is best for two-way communication, as opposed to one party presenting great insights and the other just acknowledging, but presumably you guys have considered other pros/cons.
Great point about two-way vs one-way. We find that it's still valuable for one-way communication because our main goal is to make finances relatable and easy to understand, and a chat interface literally forces us to be simple and clear in how we explain. Certain concepts might be easy to name but hard to explain (APR, rolling average, prorated spending), and a chat interface allows us to teach those concepts in great detail.

For example, here's a excerpt from explaining how credit card interest works:

Penny: Chase charges you interest based on your <em>APR</em> (annual percentage rate).

Penny: You probably saw this number when you signed up for your credit card :credit_card:

Penny: APRs are usually about 12-24%.

Penny: As far as I can tell, your Chase Freedom's APR is about <em>{{ numeral(0.15).format('0%') }}</em>, which is about normal.

You: OK

Penny: To compute how much interest you get charged every day, divide your APR by the number of days in a year, like this:

<rest of conversation>

We also do a fair amount of two-way communication when we're understanding a user's circumstances. When Penny coaches people about investing, we try to understand the user's financial situation based on how much risk they're willing to take, how much they have that's investable, their horizon for returns, etc, all of which fits pretty naturally into a chat interface.

Makes sense, thanks for responding. I'm personally partial to chat UI when appropriate, and it does seem like this approach helps reinforce the personalized coaching aspect. Good stuff!
I have been using Penny since the second launch on Show HN and have been absolutely loving it. Hands down solves the number one problem I have with Mint, et al which is an overload of information. The screen with all my purchases auto-categorized (not always right but close enough) is fantastic and I depend on it.

The simple chat options are exactly what I want to know and only a few clicks away.

The gifs are also super appreciated. I really like the comedy thrown into a usually boring topic.

Just started getting the premium push in-app and I wondered when it was going to happen. I don't mind it since obviously the lights need to stay on but I am not sure sub-categories is compelling enough for me since it kind of ruins the simplicity I love so much. More data isn't necessarily what I am after here.

Otherwise, huge kudos. Love Penny.

Wow, that's awesome to hear!

For what it's worth, we don't think the premium experience (Penny+) is a good fit for most of our users. Locking extra complexity behind a premium version was actually our way of keeping the core experience simple (and encouraging people to not mindlessly turn on extra features unless they're confident they want them). We think the simplicity of the core experience is one of the main reasons people continue to use Penny over time; complexity begets churn, even if users ask for that complexity. We eschew traditional budgets for the same reasons.

That's great to hear and I think y'all have struck a good balance IMO. #keeppennygreat
From the Privacy policy (https://www.pennyapp.io/privacy.html):

> We will never sell any information that could identify you for marketing purposes, and we only share limited amounts of information with third-party services on a need-to-know basis.

Very nice! It doesn't show up in HN but they've even gone out of their way to bold the relevant bits.

From the FAQ:

> Penny supports over 15,000 banks in the United States, so if your bank is in the U.S., she can probably connect to it. She can even connect to your Venmo or PayPal account!

> Penny never stores your bank login information. After she first establishes the connection to your bank, she gets a separate, secret access code to retrieve your transactions from your bank. That way, she can access your transactions without ever needing your bank account credentials again.

Do 15,000 banks in the USA really have an external API with API keys? That's pretty amazing.

From poking around the site looks like they're using Plaid (https://plaid.com/). Now that's seriously cool stuff to normalize!

>> How do you make money?

> Right now, we make money through donations and by partnering with financial products that we think you might find worthwhile. You can find out more about our partnerships here. Both the donations and partnerships allow us to continue offering Penny’s services for free.

> At some point, we will need to start charging for some aspects of Penny. We will give you plenty of advance warning when we’re nearing that milestone. In the meantime, you can enjoy all of Penny’s features free of charge!

While I like the idea of allowing people to track their finances better, I don't get how a company like this gets funded without a clear monetization strategy. I'm sure they've got some ideas internally and were probably included in their pitches, but I don't immediately see what it would be. Maybe get individuals to pony up $X/mo for the service? I doubt they would. People are cheapskates ... particularly so when the market is people that want to reign in their spending.

Both Credit Karma and Mint make their revenue by offering financial products that might help you based on your financial profile so I imagine that can be fairly lucrative.
Ah so it's high end affiliate revenue as presumably you've got the customers financial background? Interesting.
Yes. You can do all kinds of segmentation and credit risk controls to target certain customer segments.
That FAQ is a little out of date—I'll update right now. Once you remove duplicates, we support closer to 8-10k banks through Plaid, and we have two monetization strategies (monetization was our focus at YC):

1. A premium subscription service that gets you some power features within Penny; we just launched that today. 2. Recommending affiliate products.

It's important to note that affiliates can be a mixed bag. Mint.com was the product that turned me onto Betterment when I was hunting around for ways to invest my money; I'm legitimately thankful that they did since I love Betterment. At Penny, we think we can tastefully and in good faith recommend some affiliate products. Those recommendations fit perfectly into our coaching model too.

Unfortunately, most personal finance companies start pushing credit cards on people that don't need them because it pays the most money. We're building Penny in a way that disincentives crappy behavior like that.

Congratulations on your launch! My startup also aims to help people improve their finances but from a different angle (a financial wellness platform for 401(k) advisors to use with their participants) so I very much appreciate your efforts to help people get on track with their finances.

I wonder if you can share any insights as to how effective you are changing people's spending habits after they start using your app?

Not compatible with any of my devices.

I guess that is because my devices are located in Europe. (I have a Samsung S7, english setup and an older Tab).

Sorry about that! Since we only link to US banks, we're only available in the US. Hopefully international expansion will be a thing, but we're a little too small for that at this point.
Understandable at your point.

Maybe I shouldn't have mentioned it at all since my main annoyance is when google does it. :-]

Agreed. We've reached out to Google a couple of times asking if they can display a more helpful message than "not compatible with an of your devices" when the real reason is "Only available in the US". Not a great UX.
FWIW some people have foreign (Canadian) Google Play accounts (for example) but still live in the US.

Or maybe it's just me?

By the way, this is US only. We only link to US banks, so it wouldn't be very useful to download the app in a different region. Our team is pretty small, so international expansion probably won't be in the radar for awhile.
You'll probably find that Canada is in there for free. If you guys use the same Intuit link that Level uses, you'll probably find "Royal Bank of Canada" and "Royal Bank of Canada (US)" in the list of supported institutions. Level worked great in Canada if you went through the effort of downloading it from the US AppStore.
I just tried this and it seems to work ok. I was able to link my BMO and Capital One Costco accounts. TD didn't want to sign in.

Knowing that this is possible, I wish more of these services officially offered their products cross-border. I'm not a huge fan of Mint, and have always figured the cool new apps were US only. I guess French language support might be a roadblock.

Why did you make the decision to not be on any other chatbot platforms? If that's the primary interaction mode, it seems odd to launch a separate app just to chat with a singular bot.
A couple reasons:

1. Those other platforms didn't really exist when we first launched. Messenger launched their platform about nine months after we started Penny. 2. (The real reason) We still don't think we can provide a better experience via a chatbot platform than we can with a standalone app.

To motivate that second point:

The benefit to a chatbot platform is that you meet people where they already are, and "signup" generally has lower overhead.

The downsides are many, though. Most platforms don't allow for things like securely submitting username and passwords, e.g. when connecting a bank account (although Messenger is starting to allow webviews, which can be repurposed to handle this). Browsing your aggregated transaction history, changing the category of a transaction, viewing your balances, etc. are all poor fits for a chat interface (again, Messenger has only recently started to address this). Pre-populated responses aren't first-class citizens in most chatbot platforms. We get more control over the UI, e.g. when displaying animated graphs, in a standalone app than we do within chat. There is/was no way to lock individual chatbot threads behind passcodes to protect your privacy... and on and on :)

Finally, there's also the problem of discoverability, which no chatbot platform has solved in a convincing manner. Downloading a standalone app is a pain, but once you get over that initial hurdle we think the experience is still significantly better than delivering Penny over a chatbot platform.

What are the security concerns? What are you doing to protect user data? One of the biggest drawbacks to Mint I've encountered from friends is that they don't feel that the account data they provide is safe, or that it has a large possibility of being exposed - this has led many of my peers to not use Mint (personally, I've been using Mint for 3+ years).

That being said, very willing to try this. Personal finance should be a priority for all! Congrats on the launch.

I'm surprised your friends feel that way, because I was the exact opposite! I was wary of using Mint until I found out it was by Intuit, which I trust far more.
Intuit bought Mint, and the whole thing is built on top of Yodlee. http://yodlee.com/
Was built on top of Yodlee. Mint transitioned to Intuit's own scraper after they were acquired.
To add on to this, even with the reticence many of us approach Mint with, it has the reputation of Intuit behind it. What can you say to alleviate these fears?

(directed at Penny)

Privacy and security are really big priorities for us, so we do our best to address those concerns whenever we can. As far as personal info is concerned, we store the minimum possible info (first name and email, no address, DOB, etc). And we use a popular service called Plaid to do the transaction retrieval, so we never store sensitive credentials. Plaid actually powers many, many other financial services, so they're quickly building a great reputation themselves.

The other aspect is that banks are really good at physical security, but not so great at data security. Consider the recent Chase breaches, where a ton of sensitive data was leaked—you're obviously placing a lot of trust on Intuit or Plaid whenever you use Mint or Penny, but at least they're modern technology companies that probably hold themselves to higher data security standards than your bank.

> The other aspect is that banks are really good at physical security, but not so great at data security [..snip...] but at least they're modern technology companies that probably hold themselves to higher data security standards than your bank.

Except this doesn't actually improve your banks' security at all, it's only adding another (attractive and high-value) attack surface in addition to any potential vulnerabilities that your financial providers may have.

Maybe the friction would be too much for most users, but I'd be way more likely to try something like this if there was an option to handle the data myself with an export/import process from my financial providers and not have any account credentials shared at all.

You forget that Mint was pretty successful prior to the Intuit acquisition. Their messaging was validated prior to launch, and it seems like Penny App took a page from that messaging with the use of "bank-grade security".

[1] https://blog.kissmetrics.com/how-mint-grew/

Hello - I am a pretty decent user of financial apps , I use - Mint extensively , - Personal Capital to a fairly decent amount. - Also use an App called "Clarity Money" that was launched recently. - Experian & CreditSesame for credit scores.

Could you explain the finance "coach" aspect of your app ? I have been in several situations where I wish one of these apps had told me a particular financial pro-tip & I have always felt let down. How would your app exactly be a coach ?

U.S. only, so can't try it out. But judging from the animations on the website, I'm really irritated by the chat interface. You say "relatable English", but I personally don't react with "Woohoo!" to the "paycheck came in" message. I don't see what added value the chat interface really brings. I don't even think "predetermined choices" can be called "chat".
Hey, co-founder here: I'll be the first to say that the chat interface isn't for everyone. If you'd prefer to get the facts with minimal extra stuff, Penny might not be for you. What we've found from working on this from so long is that the chat interface goes a long way towards making finances relatable and easy to understand. For most people, the biggest barrier to personal finance literacy isn't education; it's motivation. So celebrating wins like paychecks coming in actually helps a lot—feedback says people love being told they got paid and celebrating.
I can see the chat interface being built out by itself as a stepping stone to adding integration to Google Assistant / Google Home which would be neat.
The idea of someone talking about my personal spends would be really annoying. But I can see how useful it could be for other people, it would be like a personal finance consultant giving tips.
This is slick. I signed up 20 minutes ago. Your onboarding is really smooth. I also like the corny jokes. Just dropped you an email!
Hey gang, looks awesome - did you see any meaningful value out of your first Show HN?
Just looked back at my notes.

That first Show HN post sent about 700 unique people to our website, of which about 100 clicked the download button and roughly 40 signed up. That may seem like a small number, but it was huge for us at the time. It gave us a lot of new information about where people would fall off in our funnel, uncovered some edge cases we hadn't accounted for, etc.

For people in the U.K. there is Cleo[0]. It is also a chatbot that provides insight into finances primarily via messenger.

(Full disclosure: I work for Cleo :) )

[0] https://www.meetcleo.com

It's so great to see Cleo expanding and hiring people.

I remember first seeing Cleo way back when it was just the two founders (didn't they meet each other at some startup hackathon type event?) and they were rolling out cleo as a SMS based money assistant.

Looks like you guys shifted towards the Messenger platform. We (http://dispatch.pm/) looked in to the messenger platform but found it a bit restrictive for our purposes. How is it working out for you guys? Do you see yourselves sticking long term to messenger?

Hey,

yes, you're right, we still have text features, but we provide users a better experience with messenger so suggest that they use that. About the founders they met at EF (entrepreneurs first) and then started to develop Cleo.

With respect to messenger, we've found it a suitable platform for our current needs. We're always looking for the best channel to reach our users on, but I think we'll keep messenger as a core channel, even if/when we do move to other channels.

Out of interest, what things made you decide against messenger?

EDIT: Also, out of interest, have you got any plans for an android or web-app? (don't use IOS and am interested to check out your service).

(views expressed are mine and not necessarily my employers, e.t.c.)

same here -- I've downloaded and have been using it ever since. It is very similar to Lark, the chatbat as a personal weight loss coach. I really like the general "nudge" approach that both apps are taking.
For some of us in Bay area, we pay $5000 in rent, utilities, day care etc. I, by and large can't optimize on these things. I can only optimize on groceries, restaurant eating, vacation/weekend outings and few things like that. So, I hope these personal finance apps remove rent, utilities, day care etc from their analysis.

Also, one feature I would pay for is this. When I am entering a Walmart or Target or Whole Foods, it should warn me that I spent 'x' amount on groceries last week and that I should keep my spending below $y to stay within budget. Somehow, I see this feature missing in all apps I see so far.

I've had a project on the back-burner for a while which tried to embrace this notion that most of your day-to-day transactions are outside the scope of optimization. Instead of importing all the transactions into view, it only showed transactions in categories where you were trying to change (or measure) spending behavior. If, for example, I don't intend to change my home water consumption... then in the context of personal finances I really want that left out of my tool.
Yup, Penny tries to focus on your discretionary spending since that's where you have the most agency. She tells you both your non-bills spending (assuming bills are mandatory) and your total spending, so you can get a sense of your spending that isn't basic needs. We also have spending goals which are curated to be mostly discretionary spending (eating out, department stores, etc).
I think the parent was stating that it'd be neat (if possible) if Penny detected your location and flagged you with an geolocated alert at that point. Like a giant "really?! Target again?! You just spent $20 here yesterday!" (If it already does that or if I'm misinterpreting, please forgive!)
just downloaded it - I really like the sms + story game style of the interface. Great job!
on your landing page the example with the monthly comparison has "3nd" instead of "3rd" in the dialog.
Whoa! Great catch. We'll need to record a new animation. Thanks for pointing it out.
while you're here, i'd love to know more about what your data infrastructure is like.
This looks great, can't wait to try it out.

I hadn't heard of Plaid until now. It seems like they are stealing Yodlee's thunder. Is there a reason why Yodlee is falling out of favor with the new fintech generation of startups?

Another question, do you rely on Plaid's categorization, or did you write your own ML for the categorization?

Back when I was working on a fintech product (this is around 2 years ago) what pushed us away from Yodlee was the appalling pricing.

They wanted us to pay a hefty initial sign up fee ($XXXXX), pay monthly fee per user ($0.XX) and also they had minimums. Being students at the time we were just shocked and disheartened until we saw Plaids great pricing (free whilst in development and $500pm to set the product live) and tried to convince them to come to London which they told us was only 6 months away. It's been 2 years and they're still not here lol.

But there are a few more options in London now. I bumped into Steve Graham way back at HN's London event and he was working on Teller (https://teller.io/) which is now in beta and works pretty well from my testing.

There's also Saltedge (https://www.saltedge.com/) which is used by a few London fintech apps and I believe they have a startup package that a few apps like Cleo (https://meetcleo.com/) started on.

Some new startups still choose Yodlee though like moneybox (https://www.moneyboxapp.com) but they raised significantly more that we had (we had a very very small grant from our University).

This ^.

The startup costs are way higher with Yodlee and (before they shut off access) Intuit. Their APIs are also not nearly as friendly as Plaid's.

> - We built Penny as a web app (Cordova). It pretty much guarantees that we don’t get featured by Apple or Google, but it allows us to iterate really, really quickly. All users always have the latest version, and we can update the app in two minutes flat. We think the tradeoff is worth it.

Ah, yes, the reason why we designed the web the way it is. I really think this subject isn't tackled enough. Apple, and to a lesser extent google have ruined all the progress we made around continuous application updates through their stupid App paradigm. It boggles my mind that everyone is OK with it, when it's obviously terrible for the end user, compared to the web model where a URL just points to a resource, and you have full publishing power over that resource.

100% agreed. Yet another benefit of a single endpoint is that we rarely have to worry about backwards compatibility. It's a huge tax on engineering time to support those few users who're using a client that's six months old. We don't have that issue.
I can't see myself having at length chats with a bot, I barely text on my phone with real people (prefer voice).
You don't have to type. You choose pre-determined answers.
Great write-up and thoughtful responses here on HN.

Very interesting that you've used Cordova. For a simple chat-based app that approach makes a lot of sense as you can push updates any time. Would you be able to share any chat-ui cordova libraries you've used or anything helpful in that regard? Or was it all custom built? Would you choose cordova if you were building the same app now or is there something else you'd consider using?

Also: your ruby DSL sounds interesting. Do you push the entire json syntax tree to the client? Chatbot platforms typically work by sending a user's chat message to a server then responding... so I'm interested how you've found doing things locally with a json syntax tree (assuming that's what you meant) and what were the pros/cons/trade-offs of that approach?

We built everything by hand. Cordova is our glue to the native side, but React is what really makes the chat stuff tick.

As for the Ruby/JSON stuff, that was also built by hand (actually the very first thing we built before we even had the UI in place). Whenever a conversation is started, the client gets the entire syntax tree from the server and evaluates it to make the conversation happen. We actually thought that pushing the state to the client actually made things easier since the server no longer has to manage the status of many concurrent conversations. It also means faster responses in poor network conditions.

I think the main reason for chatbot platforms to push things to the server is out of necessity because they work across many clients (Messenger, etc) where they don't control the client, and because they may be doing some heavy lifting with NLP that can only be done on the server.