56 comments

[ 2.8 ms ] story [ 113 ms ] thread
So I've been working with iOS for over a year. Some employed time, freelance and I've hung around a lot in the jb-community.

Despite that I did not have one finished application of my own, lots of prototypes, but nothing in the App Store. So this is my first one, it is highly targeted to me, which you will notice if you read some of the text in the link. But I hope it is also something others will like.

Link to app in the App Store: https://itunes.apple.com/us/app/spendy/id872831308?mt=8

Anyway, I thought I'd just post it here because why not.

I like it a lot! Will definitely give it a spin.
Thanks! Let me know if you've got any feedback (my email is at the bottom of the posted link)
IMHO this should be product rule #1 - BE THE USER, if you can't then do everything you can to be as close as possible.

When I started in tech people would say "Hey I need a database" and I'd say "Nope, teach me how to do the job you need done as if I you were going to hire me". Then a couple of days later I'd say "You need a _____ system and yea we'll use a database to save some of the data".

Basically if you don't live the product you don't really understand the users and you spend all your time wasted guessing what they need and want.

I applaud you for "highly targeted to me". This is the first and best step towards a product that you really understand and one that others "like you" will find useful.

> Be the user

I actually have a couple of more products that I made to scratch my own itches, so I definitely agree with this.

Good job shipping! This was the kind of app I first worked on as well, but I never ended up putting it on the store, and kind of lost interest halfway through porting it to iOS 7 :)

The Add Transaction screen was pretty much where I lived in my app (http://imgur.com/DobW80r), so good work keeping it simple and efficient!

Some feedback:

* Might be worth making the user's current currency (you can get it from NSLocale) the default currency so that out of the box on first use they can start entering data, it's not great to have to go to settings first time you use it.

* If you must stick with hamburger menu, consider making the view tappable everywhere and not just on the hamburger icon, to dismiss it. Though I would argue it's worth using something like UITabBar to switch between log and charts if charts is something you use a lot.

* When tapping on a transaction to bring up the context buttons, consider allowing tapping anywhere on the screen to dismiss it, not just on cells.

* Consider a custom input view for the amount field, here's an example of what I did for my app (http://imgur.com/yp27cxK), gets rid of the ugly "dialer" style ABC/DEF/GHI annotations. More maintenance though.

* Understand its for you mainly, but tag editing would be nice :)

* When you have a couple of thousand transactions in there (I had 20,000), being able to quickly whip up some adhoc queries for interesting stats becomes a lot easier if you have an SQL backed data model, and I used SQLite+transactions just because I was paranoid of some stupid bug corrupting all the data. Knowing myself, I would delete an app the first time it lost any data.

However, long term, I think the solution for this kind of app is direct integration with banks (one of the reasons I lost interest, because I started getting super tired of typing in the data on a phone)!

Best of luck, and keep on iterating! Never forget what the first version of popular slick apps looked like, a lot of them were pretty basic.

I hadn't thought about the NSLocale but that sounds like something that would suit well, especially since another guy mentioned the currency at "first launch".

Tag editing is something which is in the works.

I use, as you might read, a plain text file now. But I do miss writing queries and I am looking at SQLite.

I've mentioned this a couple of times now, but where I'm from we don't have bank APIs. But I wish we did. I kind of like manually entering things though, keeps my mind on "what am I spending money on".

Anyway thanks for the feedback.

EDIT: Saw your input view and that does look nice, especially the + - buttons, smooth. I might implement this actually. It has happened once or twice that I wanted to do some addition.

(comment deleted)
Thanks for the write up, I enjoyed the explanation of even the little details throughout the app.
One of the first things I did after installing, is turned off the notifications and badge icon in iOS settings.

It doesn't look like this can be changed within the app. It only provides the option of changing the content that's displayed. This was an initial turn off for me, but other than that I'm really happy with this!

I am not sure what you mean, could you explain further?
(comment deleted)
My mistake, I actually installed the wrong app.
Downloaded. Entered my first transaction. I like the fact that it attempts to do only one thing. Simple is good.
That's what I was going for so that's good to hear, thanks.
I miss these Show HN project writeups. They're what drew me to HN in the first place, but these days I'm lucky to see one good one per week.

Excellent work, OP. It looks like you're a unicorn.. or could be one with a bit more design polish :)

Thanks, and I am definitely trying with the designing. It's reealllyy hard!
I posted one this week with a partner (we were pleased with the results, though it was hard to stay on the front page for more than an hour).

I think a weekly Show/Ask HN roundup post could be really helpful.

This looks pretty cool. One question though: Is the "Tap again to confirm" button active before the animation ends? For example, what if the user accidentally double taps the delete button?
Take a look at http://coinkeeper.me/
Neat. Although it seems, after a download, that it is also a budgeting tool. It greets me with "how much do you want to spend each month" and have balances for accounts.

While I can definitely see why people want this, I don't. I just want to track my expenses.

I will play around with it some more though, it looks like a fresh take on the app types.

Is it yours?

I'm not the owner, but I like that app. I think its possible to just track your expenses, but its impossible to take money from "nowhere" so you have to have at least one account. In this case you'll have negative balance on that account which will be set to 0 each month.

As for "How much do you want to spend each month", its not mandatory but gives a new user an idea how to use all app features.

Excellent overview. I love these.

One feature I may have missed is reconciliation. That is, some way to review my manually entered transactions with statements provided by my bank.

I just mentioned this to someone in an email. I am not from the US, so the bank providing an API is very foreign to me.

Anyone else from Sweden here? Do we have something like this that I do not know of?

But the gist of it, unless I am misunderstanding something, is that I cannot implement it (bank integration).

Swede here. As far as reconciliation goes, from my understanding it's basically just making sure whatever's listed in the app and what's on your internetbank matches up. YNAB does this quite well, letting you edit transactions if something does not match, and marking a post as reconciled (i.e. it matches up to your bank statement). Good summation here: http://www.youneedabudget.com/support/article/how-to-reconci...

Also, we went to school together :) Good job on the app, congrats on HN first page!

I see, I skimmed the article and I guess that's something to look into further, thanks for the link.

And tjenare ^^ Hope all is well man

Is there an API exposed? BTW, I'm loving this app! Thanks!
I am not even sure how or what that would be used or even done. Like "open in .." stuff? Or could you give me some example or use cases? I like the sound of an API!
Great app, I've been looking for a simple, bare bones budget tracking app.

I think you need to fix the flow for the first time users. If every first time user must add a currency, why not have first time user screen be the add currency screen? Also, the add currency screen should have suggestions. It wasn't initially clear that I needed to type 'USD' instead of 'dollar'. It also wasn't clear that the currency needed to be in capital letters. I had usd in lowercase and clicking the check mark did nothing. There should at least be feedback.

The app is great once getting past the first screen. Nice job.

I will take notes, I have been thinking about the "onboarding" process and I do agree with all of your feedback. Thanks.
This is great and might just replace my trusty Moleskine.
Nice work.

I have tried heaps of apps for this, 'cost' and 'spendee' are the ones I found to be the best so far. Will give yours a try soon.

Those are the ones I liked the most also! But not enough to keep me away from Xcode. Let me know what you think.
It is so refreshing to see a genuine writeup about a project that's still in the works as opposed to a fully done bootstrap page that's more part of a marketing campaign than an actual effort to share and exchange info. Kudos to you. I love the idea and I totally get the problem here because there's not a single app on android that actually looks good and stays minimal. Keep on polishing! :)
I almost closed the tab when I saw the screenshots of the "other apps". They all look pretty terrible and because I hadn't actually read anything on the page yet when I saw them, I assumed they were screenshots of your app. I would suggest that you lead with screenshots of your app, especially since it looks a lot nicer.
Hm, maybe I should yes. Glad you scrolled down though^^ Thanks for the feedback.
I've been using the YNAB[1] app for expense tracking, and I'm pretty happy with it.

It has a nice feature where it records the retailer's location using the iPhone's location services, so when you enter new transactions for a retailer you've been to before it can automatically guess the payee and category. After a week or two, the app had learnt the payees I used the most, so entering transactions became super fast.

The downside with YNAB is that you must sync it with a desktop version of their app. The iOS/Android apps are free, but only support a small subset of the desktop app's functionality.

With YNAB there's also a whole financial management system that they want you to buy into. It works well for me, but might not meet everyone's mental model of how personal finance should work.

[1]: http://www.ynab.com/

I've heard a lot of good about YNAB, but I don't need something so extensive.

I have had thoughts about the learning-thing but I hadn't thought about using location also, which sounds smart.

I was looking for a similar app for android. Is there one?
Great looking app. I would use this so much if there was two way Dropbox sync.
I will definitely work on that as it is something I want too.
I'm mostly interested in that because I have a custom scraper script pulling data from my bank on a Raspberry Pi at home, adding two way sync would make it super useful.
This app looks great, but the only negative for me is that it does offer the ability to take a camera snapshot of a real receipt. Some other apps have this receipt snapshot feature, but not the simplicity of your app. For me this snapshot feature alone would complete the perfect app in this category, and for this reason alone I am holding off on the purchase.
This looks great. Works well and very simple to use. What about a way to take photo of the receipt?
Again I've thought about that but I am not sure how I will do it in regards to the data, which is in CSV format.

Each entry does have a unique UNIX timestamp, I might just drop all receipts in a folder and have the names of them linked to the timestamp.

How does that sound?

Seems very nice (congrats on shipping!) but for the love of god please change the app icon.
I am not very capable with designing icons.
I don't have an iPhone so I can't try it but I read on the website "As you can see, there is no "exchange rate" here. I decided to keep as much data separated as possible since a user may want to change their currencies around."

Not storing the exchange rate if the rate changes a lot don't you risk having a value that might not be correct?

For example if my main currency is EUR and I store a transaction of 5 US $ with an exchange rate of 1€ = 1.3$ then if one week later it becomes 1€ = 2$.

I am aware of this and I am thinking of a solution for it.

I might just add a "download rate history" into a map[date>rate] and do all calculations with that.

And when exporting it would get correct values in the CSV.

This is great. I built my own web app budgeting solution. I've been working on and personally using https://budgetmyway.com/ for a while now. I love budgeting. Looking for feedback.