16 ms·
I didn't get paid, so I open-sourced my client’s project
- amorphous 7y agoThis reflects badly on the developer who posted this. Though it is easy to sympathise, this is not professional behaviour. Learn from mistakes and move on focussing on finding good clients.
- xwdv 7y agoDon’t understand why someone would throw away their integrity by doing this. When a client refuses to pay, the standard procedure is to take them to court and then make them pay what is owed + attorney fees. Instead, this developer has put himself on industry blacklists by doing this. No way he’ll be trusted with sensitive projects. Don’t do this.
- HeyLaughingBoy 7y agoWhat industry blacklists? Is that like your high school Permanent Record?
- sixtypoundhound 7y agoWait - pause - you're going to put me on a blacklist for working without being paid, despite the terms of the agreement? Yeah, go for it. From what I can tell, it can only reduce the number of pompous jerks attempting to milk me for free work...
- exactlywthwas 7y agoLiterally, good luck finding a real project that doesnt deal with mom&pop shops
- nsilvestri 7y ago"we won't hire him because he will reveal sensitive data if we don't pay him"
- tc313 7y agoIt sounds like the client abandoned the project altogether, rather than taking receipt and not paying. So it’s more like a project that was started but never finished — and now the developer is giving it away because there’s nothing else to do with it.
- nroets 7y agoI agree with you, but hopefully he will do a follow-up and tell us what happens next. I guess he is hoping someone start using this project and asks him to expand or customize it.
- trillcyborg 7y agoI have some other project I'm working on now. No plans to continue with this one. I just wanted to give it away so people can learn some new stuff so my effort didnt go to waste completely
- apk-d 7y agoI'm assuming there wasn't enough written agreement for either side to sue the other. Couldn't it be the other way around, though? If the client thinks this is unfair, they can go ahead and sue the developer. (Or use an NDA next time. Or actually pay the guy for his work god damnit)
- mdpopescu 7y agoHuh? If you believe in Imaginary Property, you own the copyright to your code until you get paid. He won't be trusted with sensitive projects that he doesn't get paid for.
- fj39dkf 7y agoDo you mean intellectual property? It would be defined in the contract, but usually the contractors never own the copyright to code written for other people. Anyway, I agree with the other comments that this is unprofessional and immature. We have a civil court system to deal with these kind of issues.
- Nursie 7y ago> usually the contractors never own the copyright to code written for other people. Under the terms of the contract that's now void due to non-payment?
- fj39dkf 7y agoThat's not really how contracts work. A contract is only "void" if it contains something fundamentally illegal, or if someone was forced to sign it. And that would be determined in court, not automatically. The guy who promised to pay is breaching the contract by not paying, and the contractor's recourse is to sue him in civil court for the money.
- Nursie 7y agoThat depends very much on the terms of the contract and how the rights to the work were approached. If the rights were only to transfer upon payment, or not at all, then this action is entirely appropriate. It sounds very much like this was a freelancer creating a product, not a contractor providing work.
- facorreia 7y agoWas the jurisdiction of the contract mentioned?
- oh_sigh 7y agoThere are no 'industry blacklists' for small consultant developers. And I really doubt any legitimate operation would blacklist somebody for their entirely legal actions after a contract was broken. If you hire me to build a book case for you, but then you decide to not pay me after the work is done, should I just destroy the book case and hope for better luck next time? Why couldn't I give the book case away for free?
- viseztrance 7y agoMost of us are developers and can easily empathize with the OP, but any prospective employer seeing this will wonder about the other half of the story.
- futureastronaut 7y agoAgree that it's not the most professional look. However, the sort of client with the concern you mentioned has an NDA, IP agreement, lawyers... I don't think they'll care much. The greater risk to the contractor is that this advertises that they deal with shitty clients who don't have those things in place. Working with what sound like fly-by-night clients signals that you're not able to be picky about your work. If I were the contractor here, I'd bury the project and sprinkle some holy water on it, pursue legal action, and get on with my life. I wouldn't draw attention to what is essentially a failed project. It's naive for the contractor to think that everyone will accept his side of the story regarding the project's failure. From a distance, the failed project is more visible than the flaky client.
- hutzlibu 7y agoI don't know, the attention is also advertisement for himself. And HNs front page is pretty good. People say his code base is not bad, so if I would need contracting in the field right now, I would check this guy out.
- trillcyborg 7y agofeel free. you can my website through github
- finkin1 7y agoThrow away their integrity? Not sure I'm following. If the dev wasn't paid then they own the work product and they are free to do whatever they want with it. Isn't that what ownership means? Going to court is a cumbersome process that not everyone wants to deal with. Whoever didn't pay should be the one on the blacklist - not the dev who is free to make whatever decision they want with a work product they own.
- draw_down 7y agoInteresting! What blacklists are there? Who maintains them?
- jiveturkey 7y agoI don't agree with that assessment, but I do wonder why mention the client or client non-payment at all. If he wants to bother to mention the breach of contract, he should go all in and publish the client's name. Otherwise, just publish it as code written on his own time. (Which it was, at the end.)
- Brian_K_White 7y agoWhy not? Are you worried that one day you would be outed as such a client if everyone went around doing this?
- trillcyborg 7y agoI have no interest in exposing other people and tarnishing their names. Hes welcome to continue screwing people over if he chooses
- rangerpolitic 7y agoIf I were to hire you, can I trust that you would not publicly complain about a disagreement? This needs to be asked because this simple act, even though your anger is justified, calls into question your ability to act professionally. I would recommend removing or rewording the complaint about the client. Never, never, never publicly complain about a client in a way that can be linked back to you and/or your client.
- novaleaf 7y agoI'm in a kind of similar situation in that Msft owes me aprox $7k in royalties but they lost track of it internally. I've been pinging them every 6 months about this for the last 4 years, hoping to avoid litigation. in the usa, you can't expect a lawyer to take a case without paying their fees up front. So $5000+ for any case. Assuming you win, you are still looking at years before you might actually get paid (if ever). That, plus a huge time and cognitive investment, means i'ts not surprising he took this route.
- rsanek 7y agoHave you considered small claims court? They have low filing fees and typically disallow lawyers.
- novaleaf 7y agosmall claims court in my state (WA) is limited to aprox $5000. This awkward area between $6k to $15k seems to be a sweet spot for abusive business practices (intentional or otherwise) because of the big time and financial commitment it takes to pursue. EDIT: Also I should add that it's not guaranteed that legal fees can be reclaimed from successful litigation. This is probably the main reason I keep putting it off (and keep pinging them about it every 6 months, paper trail seems important)
- michaelmrose 7y agoCan you not sue them for 5K even if your actual damages are 7?
- novaleaf 7y agoyes, that's an option, though probably the least attractive out of all my crappy choices :/
- icelancer 7y agoThere are attorneys who may take this type of case on contingency. I happen to know of a good one who would consider it. https://petersonbakerlaw.com/ https://petersonbakerlaw.com/
- TYPE_FASTER 7y agoIn the future I think I will add a clause in contracts that work for hire will be open source if payment in agreed terms is not received. It would be a good bargaining chip for getting crazy indemnity clauses removed.
- Brian_K_White 7y agoHe's not on my blacklist. Perhaps he's aware that every action that anyone ever takes, is approved of by some people and disapproved of by others, and your only choice is between who approves of you and who disapproves of you. I for one, approve of this resolution a hell of a lot more than courts and suits. They are tools you may be forced to use sometimes. It's great that the system is there for when you need it. But they are merely detestable necessities, not my first or preferred choice. Did it occur to you that by advertizing this attitude, you may have caused yourself to be blacklisted, even if only informally? Probably not. It's a favor and a pleasure to be blacklisted by some people or organizations. It's the trash taking itself out.
- rangerpolitic 7y agoThere is an unhealthy desire amongst freelancers to burn clients.
- trillcyborg 7y agohaha i love you
- a13n 7y agoYeah, and what's more, this whole thing is fantastic marketing for his contracting business. He'll definitely get more work from this.
- sowbug 7y agoTaking them to court is not standard at all. For one thing, in the US, parties normally bear their own attorneys' fees, regardless of who prevails in court. See https://en.wikipedia.org/wiki/American_rule_(attorney%27s_fees) https://en.wikipedia.org/wiki/American_rule_(attorney%27s_fe.... So even if this dispute actually did ever go to trial, the coder wouldn't be made whole. Unless the dollar amount in question is very high, no rational actor would bother going to court. (The contract might include a provision awarding attorneys' fees to the prevailing party, but see the next point -- nothing from nothing leaves nothing.) For another, an attorney wouldn't even take this case in the first place. The relevant expression is "you can't get blood from a stone." What good would suing do when your adversary is a defunct LLC, or a wantrepreneur whose credit-card debt likely exceeds his or her assets?
- dboreham 7y agoThis is not standard procedure at all: in most legal systems the cost to sue greatly exceeds the loss. Standard procedure is to take risk reduction measures in advance such as requiring payment up front, source code escrow, only working for clients with a known history of honest business dealings, etc.
- dopeboy 7y agoIf this person is an indie contractor doing this as a side hustle, I don't think it's a huge deal. I would still omit the story and label it as some open source project from the get go. If this person runs a shop where there's a bigger reputation at stake, I'd agree with what you said.
- vzaliva 7y agoINAL but even if you did not get paid does not automatically means the result of work for hire belongs to you. If you are a contractor this is a smart thing to explicitly stipulate in the contract.
- mr_toad 7y agoTrue, but they’d have a difficult time suing you for breach of contract given that they’d already broken the contract themselves.
- Meph504 7y agoThere would have to be a pretty interesting contract that states if the client defaults that they retain ownership of any work related. They may likely be able to make some claims around any IP related. But you can put anything in a contract, so whose to say.
- dboreham 7y agoSuch contract terms might be ruled unconscionable.
- greenyoda 7y agoThe copyright of a work belongs to its creator by default. (That's U.S. law; no contract is required to make that happen.) A standard contract for a contractor will stipulate that the copyright will be assigned to the client upon payment. If payment never occurs, the copyright stays with the work's creator.
- briandear 7y agoSee “work for hire” in US copyright law for a counter example.
- dragonwriter 7y ago> The copyright of a work belongs to its creator by default. (That's U.S. law; no contract is required to make that happen.) If it meets the criteria for a work-for-hire, the contracting party is the creator from the beginning for copyright law purposes (this is significant for reasons other than those under discussion; copyright transfers can reversed by the legal creator during a legally-specified window that occurs a few decades after the transfer, but a work-for-hire can't be recovered this way by the actual creator, since they aren't the legal creator), and owns the copyright unless specific contract terms specify otherwise.
- verisimilitudes 7y agoI find it odd that the license is MIT here. Since he ultimately wrote this gratis, that license means his client could easily return and use it gratis, whereas a license such as AGPLv3 would help ensure he'd actually get paid if this client decided it wanted to use it again.
- dmix 7y agoHe said the client pivoted to another product idea. I doubt he's going to use someone else's code he didn't pay for then find another developer to work on it...
- williamstein 7y agoI greatly appreciate the author's generosity in this case. The code looks very interesting.
- coldtea 7y ago>whereas a license such as AGPLv3 would help ensure he'd actually get paid if this client decided it wanted to use it again. a) So would any competitor to the client. b) The client can use the AGPLv3 version gratis too, even if they modify it, as it will be on their own server anyway.
- based2 7y ago-> GPL
- wejick 7y agoI suppose it should be <- GPL
- giancarlostoro 7y ago> b) The client can use the AGPLv3 version gratis too, even if they modify it, as it will be on their own server anyway. The AGPL covers using code in servers. They would have to provide code for any server side changes.
- tyingq 7y agoI wonder if the reverse has happened. Where a client pays for a project, and gets code, but it's terrible. So, open source it with attribution to the original developer and an appropriate README analysis of the low points. Edit: Wondering if it has happened doesn't mean I'm promoting it as a terrific idea.
- juskrey 7y agoGreat! Put coder's skin in the game
- krapp 7y agoIf they want more of my skin in the game, they can put more zeroes in my bank account.
- juskrey 7y agoOnly if you return them when something happens
- ryan-allen 7y agoIndeed, I'm pro this idea.
- Jare 7y agoBut why would you opensource terrible code? Even if you want to write an essay about bad practices, it sounds easier to write it just taking extracts to illustrate the points. That said, attributing those extracts that you are criticizing would be pretty bad form, maybe even basis for a defamation suit. So, sounds messy either way.
- dymk 7y agoThe point would be to name-and-shame the coder that wrote it
- 7y ago
- antoineMoPa 7y agoCould you like... Start a business with that?
- sheeshkebab 7y agoYou could - or could start without it. The code is really nothing special - relies on Plaid for processing payments and small dB to keep user profiles... it’s done well though, so could certainly build it up if this model is what you are looking for.
- kombucha11 7y agoI'm trying to wrap my mind around what the author means by saying the value would come "from leveraging data to eventually create a rental marketplace where users can find the perfect apartment to move into."
- taormina 7y agoI think the intention was that by building an audience of apartment renters, that he could pivot into a related idea with this audience.
- icebraining 7y agoSeems to be a payment platform, where landlords would register their rentals (apartment info, rent amount, etc) in order to charge renters. The platform owners would then take that data and use it to build a rental listing site (like Airbnb but for long-term rentals).
- trillcyborg 7y agoyou can if you want...
- NetBeck 7y agoYes, if you want to compete with cash, checks, online bill pay, Venmo, Zelle, PayPal, and the other proprietary rental payment portals.
- nryuk 7y agoAs someone who occasionally does recruiting for developers and always do some quick searches for GitHub profiles. You'd be dropped as a potential candidate on our team if we stumbled upon this, "After he signed and I began building he decided to pivot and not pay me." Just screams unprofessionalism in my opinion.
- dkersten 7y ago> Just screams unprofessionalism in my opinion. Surely the guy not paying is the unprofessional one? Sure, since "he signed", he could have probably taken legal action, but that's often a long and costly process. How is cutting your losses and walking away (but outsourcing the code you wrote) unprofessional?
- rangerpolitic 7y ago> Surely the guy not paying is the unprofessional one? Surely, both people in the relationship can behave unprofessionally. > How is cutting your losses and walking away (but outsourcing the code you wrote) unprofessional? That's not why people are suggesting the developer is unprofessional. It's because he's complaining about a client publicly.
- bonniemuffin 7y agoWhat's unprofessional about that? It doesn't name and shame the client. It's just a true statement of fact.
- jasperta 7y agoI'm a bit confused here. Do you think he should have accepted his fate and moved on to the next project? And at best just whine about it on online forums.
- throwaway20148 7y agoAs a dev who does interviews/evaluations it would be a red flag for me, and would affect the lens through which I view every answer/interaction with the candidate. I think there is a different way to phrase this, something like “this is the result of a collaboration that didn’t end up working out” or whatever. I get that it’s kind of mealy mouthed, but it avoids any aura of conflict in the evaluation.
- Tharkun 7y agoThere's a certain irony in not paying for a platform that incentivizes paying rent through said platform...
- luckydata 7y agoThe idea was dumb by the way, but the code looks interesting, thanks for sharing.
- grogenaut 7y agoSuper cool. I've been looking for a more in depth example for a while like this.
- trillcyborg 7y agoHey guys its cool to see that you like my project. Unfortunately these types of things happen to independent contractors often and theres not a whole lot you can do about it but learn from mistakes. I used some awesome tech for the first time in this one like react-native-web which is now in Expo and react-spring for those sexy animations. Im happy for any of you guys to use this project as a boilerplate, learn some stuff from it or make fun of my code
- olliej 7y agoHave you ever seen mike monteiro’s “fuck you pay me” talk? Assuming that your contract leaves you with copyright until you’re paid you could always have dmca’d them when they deployed. But that’s the vindictive side of me :D
- daveFNbuck 7y agoThe client pivoted, so there won't be a deployment.
- tuananh 7y agothat's what he said :D
- daveFNbuck 7y agoWhat I was responding to: > you could always have dmca’d them when they deployed
- thaumasiotes 7y ago> Assuming that your contract leaves you with copyright until you’re paid Why would this matter? If he's not paid, what validity does the contract have?
- olliej 7y agoMy understanding is essentially people have contracts that essentially assign ownership of the copyright at point of completion rather that at the point payment. In the monteiro talk he says that a lot of companies have default contracts for contractors, and say things to the effect of "it's just our standard contract there's nothing to worry about", IIRC he gives examples of contemporary contracts that require delivery on floppy disks. But also they try to have terms that essentially say all the work belongs to them, and you will be paid on completion. e.g. if you don't finish the work - or they claim you did not (by applying feature creep offensively, etc). Then because you didn't finish they don't owe you money. The other approach is that they fail to pay, you can't use (for example) the DMCA to pull down their site, or bring copyright violation suit against them because the IP already belongs to them. All you can do is sue for owed money but you don't have the leverage of stopping them using your IP, because it's not your IP anymore. That is my understanding from his talk anyway - IANAL, and also I haven't done contract work myself (that's what my wife used to do, and she had a default contract produced by her own lawyer)
- Animats 7y agoThis thing wants the password for your bank account? WTF? That's way more than it needs. Enough info to authorize an ACH transfer, maybe. But the login password for your bank account? No way. That voids Bank of America's security guarantee.[1] If you provide info for an ACH transfer, and the other party abuses that info, it's reversible. If you provide login info and the other party abuses that info, it's not. [1] https://www.bankofamerica.com/online-banking/online-banking-security-guarantee/ https://www.bankofamerica.com/online-banking/online-banking-...
- skinnymuch 7y agoIt’s using the multi billion dollar Plaid integration.
- burlesona 7y agoYes, but this is increasingly common in online services. Reputable services like Wealthfront also work like this, requiring your bank login to work. The fact that Plaid has their entire business built around providing “bank logins as a service” speaks to that. I don’t like it either, but I’m not sure how you could get archaic banks and low-tech consumers to adopt something better.
- m-p-3 7y agoYeah, unless banks provide oAuth or APIs to get that information securely and easily revokable, I guess that's the best we have.
- afrodc_ 7y agoFAPI[0] should presumably be the way forward for Banks to do this, given the adoption actually happens at scale. [0] https://openid.net/wg/fapi/ https://openid.net/wg/fapi/
- textfoo 7y agoI work at a bank that has a vendor that uses client credentials in order to html scrape their account pages. Most banks refuse to generate consumable methodologies for other financial services to use their data, so they go about it the hackiest way possible.
- vinniejames 7y agoThat's why you always require a sizeable deposit, never start working for free
- McDev 7y agoSo I'm guessing this is US based, is not getting paid and then going "ah well" a common thing there? I'd just take them to court if an invoice followed by "fuck you, pay me" didn't work.
- deleted 7y ago[deleted]
- neya 7y agoMost contracts always have a clause about IP which usually states the work done for the project is the clients' IP regardless of you got paid or not. The smarter thing to do without violating this clause is to add "Fuck you pay me" sort of notices inside the application that doesn't allow the user to use the software until you get paid AKA kill switch. Kill switches are pretty easy to implement and you usually obscure key parts of your code. The other way, which is the best way is to use some complex programming language that the client will require a LOT of effort to understand that he might as well pay you. Eg. Haskell, Elixir, Scala, etc. Generally speaking, functional programming languages can be designed to look complex. Eg. def validate(_vin, vin_arr) when length(vin_arr) != 6, do: {:error, "VIN has incorrect length."} def validate(vin, [_, "ma3", _, "0", "0", _] = _vin_arr) do case String.length(vin) do 17 -> {:error, "You must include the full VIN. Including the last two extra digits. It may not be included in your RC book. You may need to get it from your chassis."} 19 -> {:ok, :valid} _ -> {:error, "VIN has incorrect length."} end Normally, the whole app I develop usually will sit inside my Google Cloud account and the handover is done only when payment is made. The types of clients I work with normally don't care about source code, they just care about the working app. These days I avoid clients who are pretty nosy with asking for source code access upfront as it's a huge red flag for me, as like the OP, my personal experience also has been bitter with these clients running away with the source code. I run an IT shop, not a restaurant to serve you first and wait for your cheque. Sorry.
- finkin1 7y agoI run a dev shop and that's not how our contract works. Here's our transfer of work clause: "Transfer of Work. Except for any portion of the deliverables subject to license terms (collectively, the “licensed materials”), Stratosphere initially owns all rights in the work created. Subject only to Stratosphere’s receipt of the fees and costs described in the applicable SOW, Stratosphere assigns all of its right, title and interest in and to the deliverables (other than the licensed materials) provided to you by Stratosphere under that SOW. Licensed materials are copyright of their original authors and provided subject to the terms of their applicable licenses or the license terms described in the SOW. You may not use licensed materials other than as described in the SOW or their applicable licenses." In case you're wondering, our lawyer is Gabe Levine, the same lawyer in the famous "F*ck you, Pay Me" talk by Mike Monteiro.
- paulsutter 7y agoIf a vendor doesn't pay you, call a collections lawyer. Generally speaking the client owns the code whether or not they've paid yet. Of course if the client agrees this is fine. But it's not fine if the client hasn't agreed. Stunts like this are a really bad idea. There's a right way to do it, and it works really well. Call a collections lawyer.
- finkin1 7y agoMy understanding is that the person who produces the work produces generally owns the code until they are paid. Obviously it depends on the specifics of the signed agreement, but I'm curious why you think the client owns the code by default?
- leke 7y agoWhat about the idea?
- paulsutter 7y agoI’ve never seen a contract like that, have any examples?
- kentrado 7y agoIt's the copyright law. You own your work, all rights are reserved until by means of a license you give it away. No payment would invalidate the license.
- paulsutter 7y agoNo actually most contracts assign full ownership and not a license. What about partial payment? What about a payment dispute? in all these cases ownership remains as defined in the contract. You could try to make a contract that works the way you describe but it would be unwieldy and I’m skeptical anyone would use it. It’s really straightforward to call a collections lawyer. In most cases the money is paid after one or two letters. Not paying money owed can have bad consequences. The collections lawyer reminds them of this, and the situation is remedied in short order. On the other hand, pulling some cowboy stunt to teach them a lesson (like releasing their source code, or the related idiotic idea of sabotaging their website or business) could lead to paying significant civil and even criminal penalties.
- jmull 7y agoInteresting: there are a bunch of comments along the lines of "this is why you always get $X or X% up-front". Over 30-some years of side-work, I've actually never gotten anything up-front and I've always been paid. For me, the work has always been for clients I've known for quite a while before the contract work came up, and whom I had reason to trust. I just bring it up as a counter-point to the idea you "always" get paid something up-front. Context counts.
- robot 7y agoNever thought about building an app with Plaid, cool. It's also a good example to play with react native.
- belzebalex 7y agoI had a similar story. At 16, a summer friend came to me. He told me that he knew a company that needed a web app. He got a 5500$ contract. It was so much for us, just high-schoolers. We didn't know how to do a web app. I knew a bit of Python, him a bit of Javascript. So a month during, we learned how to and built the app they asked with Django. I never learned so quickly! After a month, we shipped the app. They had a lot of users (900+), so our app that worked well with a database of two people failed miserably. We spent nights fixing its problems. It used an external API that we had rate limiting problems with. I implemented a cache using Postgresql. Then, they started to ask us for more features that weren't in the original contract. They said that if we wanted to get paid, we had to do them. Eventually, we realized they weren't going to pay for us. We asked them to pay us, and they said yes. Then they said no, contact our lawyers. Their lawyers told us they wanted to engage charges because we didn't do the job well. They were still using our website without paying us! We contacted a lawyer and quickly realized that because of the legal fees (2500$ upfront + 500$/hour), it wasn't worth it to seek justice. We were completely fucked. Then, I remembered they used Heroku, which was based in the US and therefore applied the DMCA laws. We sent them an email explaining the situation and, in under 48H, they took the website down. I will always remember that morning when my friend woke me up to show me their site down. As we did the deployment, they took a week to re-deploy our app at a server under French jurisdiction (that we could never have taken down). Then, their whole company ran out of business as customers were leaving and asking refunds because of the lousy service. They laid off everyone, but our app is still freely accessible at https://crypto-analyse.com https://crypto-analyse.com. This experience taught us many lessons: - Never work for something that you're not paid for unless you're doing charity or working for yourself. - Contracts are no guarantee - They made a lot of money with our app. We could have made a lot more by just selling it ourselves. And that's what we did! We just shipped our new app (it's an app to automate crypto trading with a conditions editor), https://kaktana.com https://kaktana.com We now make more money than we had thought before, all of that using the experience we gained from that shitty deal. “The phoenix must burn to emerge.” - Janet Fitch
- Brian_K_White 7y agoOnly cockroaches fear the light.
- futureastronaut 7y agoAnother take on this would be to open source components developed, but not the application itself, and be more subtle about the client mess. That's a better way to get some positive marketing out of what would be wasted time.
- leerob 7y agoIs anyone willing to share their opinions on react-native-web?
- trillcyborg 7y agoits great
- Improvotter 7y agoI watched this video from Mike Monteiro and I always refer to it since. It's about getting paid for the work you do. https://www.youtube.com/watch?v=jVkLVRt6c1U https://www.youtube.com/watch?v=jVkLVRt6c1U
- techstrategist 7y agoThis was my introduction to Mike a few years ago, and he's been a really interesting guy to follow since then.
- jedikv 7y agoI appreciate you open sourcing this. Good luck on future projects.