Hacker News new | ask | show | jobs
Launch HN: TrapFi (YC W18) pays freelance developers by the pull request
81 points by trapfitech 3007 days ago
Hi HN,

My name is Cameron Sadler, and I'm one of the founders of TrapFi (https://www.trapfi.com). Our service makes it easy for freelance developers to get paid per pull request. Instead of waiting months after work is complete to get paid, freelance devs use us to generate payouts as they work.

Nigel, Eric and I have been freelancing on and off for the last five years. It was undoubtedly feast or famine. Late or slow payments from clients made this more difficult. With TrapFi you know precisely when you'll get paid next.

Before TrapFi, I ran a co-work space for freelance developers. Here I connected with people who loved freelancing but eventually went back to corporate because cash flow was unpredictable. This was due to most of their contracts having net 30/60/90 terms or clients just flat out paying late (or not paying at all). We searched for tools to solve this problem, but none triggered payouts from clients automatically at the point of work approval.

Here's how we solve this:

1. Freelancers add clients

2. Clients receive a project link where they can connect their bank and track pull request submissions in real-time

3. Freelancers complete work, submit a pull request and add an hours' tag (or flat rate) to the PR body (i.e. {TF10} for 10 hours)

4. As soon as the client or a repo admin approves your pull requests, we charge the client the amount specified by the tag

You can still bill clients for the non-code work that went into a PR using TrapFi's tagging system. Your clients don't have to do anything special to set up this process; they simply receive a link to pay and track the project. When you complete work and they approve it, you get paid automatically. It's money you've earned, delivered instantly.

We also automatically generate invoices with line items that link to your PRs for you and your clients. You never have to leave git to get paid. Like most payment tools, we earn a % of each transaction (1.5%). We expect additional revenue to come from a marketplace, where we connect developers with solutions to developers who need work done.

We look forward to hearing feedback, ideas and experiences from the HN community. We know there are a lot of freelancers here so our goal is to learn from your experiences and knowledge of the freelance space.

17 comments

Do you have something in your terms that IP of all submitted PRs are only transferred and the work is only usable by clients upon completion of payment? If not, you should. Developers need to be protected from clients who might think it’s okay to take their work and not pay. This has been a standard clause of all my contracts as a consultant for the last 6 years. I wouldn’t do a project without it.

EDIT: Additionally, do you do anything that checks if a client refuses a PR, but then the code from the PR finds its way into the codebase by some other means? Seems that's another vector worth protecting developers from having their work used without payment.

Escrow for a contract is optional. You and your client can agree on an amount that will be held on escrow and, upon a completed pull request, a portion of the escrow amount will be paid out. We're making some UI updates soon to make this more clear.
Great point. You would actually use your standard contract with clients as you do now so your clause would still be active. We have a dispute process in place now if a client steals code without paying for it, it ultimately triggers an investigation and can impact client's reputation within our system.
As a consultant, failure-to-pay is always on my mind--I'm sure you guys have seen it too. Why should a client care about their reputation within your system? If they're burning a developer, they can burn you too just as easily.

I would be much more likely to use your service, instead of just an Excel invoice or whatever (it's really just not that difficult to do once you've done it once, IMO) if I got something concrete for doing it. "Reputation", as we have all seen from Amazon's marketplace and from eBay and the rest, just doesn't mean all that much. It seems logical for this service to provide escrow, or at least partner with someone who does.

> it ultimately triggers an investigation and can impact client's reputation within our system

TrapFi will notify all future developers that the client has acted unethically in the past, before you agree to work with them. Truthfully, we have not yet encountered an issue with a client stealing code.

We hear your concerns and see that this is a priority for the community, so we'll work on a more robust solution.

first

> It's money you've earned, delivered instantly.

second

> it ultimately triggers an investigation and can impact client's reputation within our system

Hmm, this is confusing. Is bad reputation in your system the only penalty for an employer not paying? And that's it?

Isn't failure to pay just stealing, and therefor already covered by existing law without needing to be written in the contract ?
This company operated a spam compaign with emails harvested from GitHub or StackOverflow from what I can guess. Completely spoiled the first impressions.

This is not acceptable in 2018.

Not to mention the page was not accessible at that time due to load or whatever.

Exactly this, no matter how good the service is, If I am going to receive an email without my permission, I am going to mark it as spam and consider it as one. Just the other day people were complaining in a slack channel about receiving spam emails from TrapFi.
That's a shame. Hopefully a company with better ethics will come and pick up their idea.
Hi Maiku - we genuinely apologize for sending a negative first impression to you. Our goal was to receive feedback from as many developers as possible. While we didn't harvest emails from GitHub or StackOverflow, these emails were cold and we now understand this is not the best way to ask for feedback.
So you can design and implement a complex automated system implementing your own logic, a 3rd party API and a payment service.

But this, you didn't understand before doing so?

Do you get you are on HN, not facebook, and therefor people may doubt your sincerity on this point?

Just to save you a marketing shaped comment as a response, it's rhetorical.

So where did you get the emails?
That's just Growth Hacking, bro. /s
How do you deal with the issue that "more pull-requests" does not equal "better project"? My concern is that getting paid per PR does not address two things. The first is that if you have a two bugfixes that are closely related, you still incentivised to split it up just because that's how you get paid. The second one, how to deal with long-term projects? Because the more PRs I make, I can just make shitty work so I have more work to do in the future. I'm not concerned about the long-term of the project, only that I can get in as many PRs as possible.
I actually think "more PRs" usually does mean "better project" in the sense that smaller PRs are easier to review and reason about than larger ones. To me, though, I think the incentive here goes the other way - I'd want to put everything in one big PR so it looks like my client is getting a lot of work for their money. Either way, it's hard to imaging tying payments to PRs not having some impact on the coding process, which seems like a negative thing to me.
How the PR's are broken up is ultimately at the discretion of the developer.

You could make small PR's into a feature branch and have those reviewed. At the end, you can then tag the big PR for payout.

Thanks for the feedback and great question here.

PRs are still attached to an hourly or flat rate that you and the client have agreed upon. This means you will not make more money for submitting more PRs. You just receive your payments sooner.

The client also approves your pull request to trigger the payout. The minute your code is accepted into their codebase you receive payment.

I'd love to hear more thoughts on your concern here and if this solves it, really great insight.

Would love to hear your comments on my second point as well. How does this not ruin long-term prospects of projects?
The payouts are issued on PR approval, which has mitigated the spamming of low quality work.

> I'm not concerned about the long-term of the project

You're right. With TrapFi, we try to fix this with a high degree of transparency regarding the quality of work that the developer is charging the client for.

> With TrapFi, we try to fix this with a high degree of transparency regarding the quality of work that the developer is charging the client for.

This sounds a bit ominous — you do what exactly to create a high degree of transparency?

We simply link to the pull requests in the client's bill. Also, a repo admin can review the work before a payment is issued.
What measures have you taken to prevent abuse? What happens when a freelancer gets connected with a client, spams a bunch of non-sensical pull requests (or maybe he splits the same work into needlessly small PRs)? Is there any kind of approval from the client side? I guess this is a double-edged sword as you fall into the problem you're trying to solve -- clients might hold off payment.

Great stuff. Especially excited about Ethereum payout.

P.S. please make your site work without JavaScript. There's nothing dynamic about the landing page.

Thanks for your feedback! The payout is only triggered when a client approves a pull request.
LONG list of issues ahead:

Improve the price comparison items. No item stands out, so I began reading the left one, then wondering why it was crossed out.

Only after looking at the other items I found out which actually was your pricing.

I also do not like your "Git Invoicing" and "Git Tracking" lines. Perhaps use icons? Crosses/Checkmarks?

Placing of "Meet the Founders" seems weird. Add a link to the footer for that, imo. Also, "Meet the Founders" just has an image, but not even a text that explains who you are.

Not sure why the "Future Integration" items have arrows in them -- why do you want me to go github.com? I know that website already.

After signing up, I was redirected to `https://www.trapfi.com/success.html?auth_token=eyJhbGciOiJIU... [...]` but the site was empty. After refreshing it loaded. Chrome.

Every time I click on "Sign up" on the homepage I get stuck there.

Display the "Must me member [of board]" error on the UI. Screenshot: https://i.imgur.com/T954yLv.png

There is no way to sign out. Also, I always have to click login again, even when logged in.

Top right account name with image redirects to Github, which is also unexpected. Why have a link there at all if it's not from/for your site?

Repeatedly signing up creates more and more demo projects.

Mention that it is (presumably) only for US contractors.

Add a date picker to the Deadline contract detail field.

32.32.2018 got accepted as date.

Don't use a flexing biceps as Github repo icon.

Use a real font for the credit card add window. Also, it doesn't really look legitimate for some reason. I would not put in my card info on your site.

When on a specific Board, clicking on the gear icon shows a "Create Project" button, but it should just update the existing project.

Also, what is it now? A board, a project or a contract?

Why are you using airtable for those extra things, when you already have a drag and drop + modal UI? Why not reuse it and deactivate drag and dropping?

Small detail: When closing a modal, the search bar appears for 0.5 seconds. Sorta annoying.

No joke: I would pay you money for you to hit up my own projects with this level of detail. If that's of interest, my email is in my profile.
Sure, writing you now :)
Lol same. That's great and actionable feedback. Email me too!
Thank you! We'll get these bugs fixed asap. The board is mainly for subcontracting/delegating tasks to other devs so it asks for a separate funding source. I see where this is confusing and we will iterate accordingly. I really appreciate the feedback here.
same as @eropple - will reach out! :)
Just contact me at carsten@chagemann.de :)
So the developers hand over the code and then ask for payment? Doesn't that usually happen the other way around?
Great question. So far we've seen users receive a partial payment upfront with the remaining balance paid out automatically at code delivery.
I could be misunderstanding, but is this also supposed to be a database of "clients" looking for devs or no? Basically, I'm missing the link between clients and devs. Like if I have a few spare hours here and there to do some coding on the side and want to get paid for it, can I just search for clients that posted cool projects and are paying by PR? Because conversely, if I have to find and bring my own clients into this system then I totally fail to see the benefit.
It's a tool for working with clients. Developers get instant payment, auto invoicing, and escrow, while clients get a convenient way to track your work.

After we improve our PR payout tool, our next big feature is a PR Solutions marketplace. This will help link clients to developers.

Ok. I think that would be incredible to have a website where you could just search for projects and features within projects then just get paid per PR to implement that specific feature/bug fix.
Take a look at https://gitcoin.co/

No affiliation but listened to a podcast by the founder a few days ago.

Does it work internationally (clients and/or freelancers)?
We're actually adding international support this week. I will respond back here as soon as it's live.
Right now I get paid as a 1099 through a Check as a freelancer. Would this be more useful for remote clients? I will try this out on my next consulting gig though because I definitely like the immediate payment and the invoicing.
Awesome! Thanks Joshua. Yes, TrapFi is generally used for remote clients. However, we've seen a few non-remote use cases that have worked well so far.
Does this require the client to pay by credit card? I've worked for several clients where they'll only pay by direct deposit, or check.
Good question. We charge the client by ACH.
For what is the credit card adding then?
As someone who works with a lot of 1099s, this definitely hits a need.

Are you storing/validating tax docs?

Awesome! Yes, we take care of the paper trail as well.
This would be an interesting incentivized service for people that submit PRs to OSS projects.
Thanks, you're spot on! Our service can definitely be used with OSS projects
How would this be different than, say, bountysource (which backfired quite a bit)?

edit: spelling

I'm confused: do you get 0.75% or 1.5% per transaction? Your website says the former.
Thanks for the feedback. It is 0.75% from both sides. We tried to write the landing page from the developer’s perspective, but we will change this to make the pricing more clear.
How are your rates so low? Does that not include processing fees from Stripe? (That's what I assume you are using)
Actually, the fees aren't that low: a) stripe charges 0.8% per ACH transaction, so that's almost a 2x profit margin at 1.5% fee; b) stripe also puts a cap of $5 per transaction, so the 2x profit margin is even higher once the transaction is over $625. Always be wary of % fees w/o a cap.
Thanks. I was thinking the Stripe fees would be the 2.9% + $0.30c, but I was looking at the wrong thing.
As a contractor, how is this better than upwork.com ?
You can use this as a standalone tool without working through the Upwork marketplace.
Ok, I meant the other side, so 'client needing job done' I guess :)

(EN not my primary language)

Let's say I become a customer (company hiring freelancers).

1. I connect the business bank account.

2. Your system gets compromised.

3. ???

What guarantees and procedures are in place to protect my money?

Isn’t this complaint true for any online service that you give bank access to?

ACH is reversible so fraud can be reversed generally.

Yes, it is. However, this is not a complaint but a question that I, as a potential customer, have. I don't care that it can be reversed generally. I only care about how they plan to protect me as their client. It is a direct and fair question to ask from such platform.
Most of these platforms use a third party payment gateway which stores your banking information and are generally compliant with Govt's guidelines for storing sensitive information and have safe measures in place for breaches.
Sounds fantastic.
Cool