Hacker News new | comments | show | ask | jobs | submit login
Bootstrapping My Side Project to $6k/Month (indiehackers.com)
297 points by ChanningAllen on Nov 16, 2017 | hide | past | web | favorite | 145 comments



Thank you for helping people spam PlayStore?

This tool does not help anyone other than spammers, who make fake Icons and Screenshots and spam PlayStore. I believe that is the part of the reason why Dev himself hates the tool.

Edit: 1) Create clone apps tutorial by dev: https://www.youtube.com/watch?v=J_CrJkz7-4g


Hi there, I'm the guy who wrote the story.

I agree with what you said, and yes that is why I hate the tool. That was the point of the write up.

I did not want to post this on hacker news, but seems like someone did.

Edit : Our users do not spam the play store with fake icons though, they just make unoriginal apps based on templates ( Wallpapers, stuff like that ).


Funny, I couldn’t disagree more.

The overwhelming majority of software does not “change the world,” and a tinier fraction yet of impactful software makes a notably -positive- impact.

It seems to me that you let people’s self-serving bullshit into your head, and you’ve let it make you feel shitty for producing something people find valuable.

I thought your article illustrated someone with a great amount of work ethic and resourcefulness. Doing that with the work at hand and not just what you feel “passionate” about is what separates the real go-getters from over-idealistic kids. I have a lot of respect for your work ethic.


I agree with this. You are measuring yourself against PR marketing speech not against reality.

Although, I believe you should work on something you feel good about. I don't think you should be "passionate" about it, but I do think you should enjoy it.

I believe you did a good job. You made your customers earn real money, something that the absolute majority of the creators who sell overpriced courses on how to make money doesn't come close to do. They usually don't even care if they do, they are just scammers. You created a real solution for a real problem. Congrats!


Thanks man, this really means a lot.


I meant every word. If you ever want to get into developing something for the healthcare sector and need a brain to pick, I’d be happy to make myself available. You strike me as someone who’d get something done with the information.


Exactly my thoughts. Nice work OP.


If you did not want it posted on Hacker News, why did you post it on IndieHackers instead?


The idea was to share some of the things I learned along the way with people starting side-projects/pseudo-startups, more specifically helping them avoid the mistakes I made earlier.


Interesting, how did you implement rev-share from ad revenues?

Could you also please share some tech info regarding the stack?


If you dislike the app at this point have you considered selling it to someone else?


If you want to give value to users, why don't you just put more effort into improving the complexity of the applications that can be created easily? Now that the marketing part is taken care of, you can focus on quality


I assume it is because the users don't want more original apps. They want a template that is as close to push button as possible.

The second you give a "make-money-from-home" user "choices" and not just a "recipe", they will disappear because that's too much work.

I built a ton of tools in the early 2010s that targeted this same niche of customers (a.k.a. spammers).


He acknowledges it in the article:

> I also came to the conclusion that AppyGEN didn’t really help make the world a better place like every other startup I read about. It seemed to me like it was just making the play store a worse place, helping non-developers publish hundreds of unoriginal apps that only took away from the visibility and chances of more ambitious apps.

> I was myself an app developer once and I could clearly see how my product ultimately harmed other developers. I started hating everything AppyGEN stands for, no matter how much money it continued to make for my existing customers.


He hates it but didn't stop selling it. I understand though--I've had hard times myself and at one point almost considered doing stuff like this, or worse (go read up on lead generation, affiliate marketing--you'll need a shower afterward). But, one would hope that once enough income was made to get back on his feet he'd make the right ethical decision, end it, and move on to something else.


Ugh, I always wondered who is endlessly spinning these nearly identical candy crush clones (only thing different are the name and graphics) and now I know. They are all just auto generated from a template.


Coming soon to the PlayStore, FIFA 2018.

The same engine as last year, but with different names on the same templates!


Does anyone have an example of one of these clone apps that has done well?

Why does this process only work in PlayStore and not IOS as well?


Along with slower vetting, iOS has an annual fee of $99, while Android has a one-off fee of $25, which is probably enough to put people off.


not to mention needing a thousand dollar laptop to develop on (and a thousand dollar phone to test on)


apple his a pretty rigorous review process for every app submitted where they manually test them


If he really hates it so much why doesn't he stop selling it? Or he just wants us to know that he cries all the way to the bank?


Not surprising considering the author admits to creating malware in the first paragraph.


> I made my first $1000 at 14, selling remote administration tools to wannabe hackers.

Step one: Dark side.


Check mate.


This guy: A.) makes stuff, B.) The stuff works and is useful to other people c.) Challenged himself to drill into the "crass" business side to make himself far more profitable.

But would anyone here in a cool startup hire him?


Depends... how fast can he implement an AVL binary search tree on a whiteboard?


This literally happened to Max Howell, the guy behind homebrew.

"Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off."

https://twitter.com/mxcl/status/608682016205344768?lang=en


Something similarly hilarious happened to me. I sold an app I built to a company in the 6 figures. I was the sole developer on the app. The sale had already gone through and they (obviously) needed someone to help maintain the app. Rather than just offer me a job, they insisted I go in for a technical interview with their engineering manager -- after buying the app I had built 100% myself. That and a few other clues scared me away and I ended up working for a competitor which went on to become much much more successful.


It was clear from the very beginning that the decision was more on the "culture fit" side than the knowledge. His attitude shows this and then is confirmed after he quit Apple (who hired him no long after Google's rejection) and he — himself — stated in a message via Twitter that Apple's work environment was not for him.

Reversing a binary tree is not that difficult, and a good interviewer (specially the ones at Google) already know this, but if the interviewee shows an angry face out of frustration and doesn't ask for help or doesn't communicates his inability to proceed with such task, then what does the interviewer says? Rejection!

Interviewers also evaluate your communication skills.


It's horse shit questions like that in tech interviews that caused me to start my own company and leave corporate America. A whiteboard is just a glorified chalkboard, and I got sick of being asked to prove I understood how to use and manipulate one of the most complex systems ever invented by man by basically rubbing a soft rock against a hard rock. I figured if a company couldn't do a better job of interviewing me than to ask ridiculous puzzle/whiteboard questions that have nothing to do with their business, then I probably didn't want to work there anyway.

Throughout my career, I have valued companies who can ascertain my skills by looking at where I've worked, code I've worked on, and the conversation we've had. Those companies seem equally adroit at determining the market and making good business decisions. Nearly every place I've worked who employs puzzle questions has either failed to maintain their market position or gone out of business. Sure, there are exceptions, but not many.

In my opinion, puzzle questions show a lack of knowledge and insight, and before starting my own company, I made it a habit to walk out of any interview that employed them.


Was it ever figured out what "invert a binary tree" means? At least I had never heard this term used prior to this incident. This has me slightly worried about this particular example somehow, and I'm not quite sure what to make of it...


            2                             2        
           / \                           / \       
          /   \                         /   \      
         /     \                       /     \     
        1       3                     3       1    
       / \     / \                   / \     / \   
      0   7   9   1    reverse >>>  1   9   7   0  
     /   / \     / \               / \     / \   \ 
    2   1   0   8   8             8   8   0   1   2
           /                               \       
          7                                 7
https://leetcode.com/problems/invert-binary-tree/description...


So several people replied with this same thing, which I have heard before being suggested. However, as I recall it at the time, if you tried to search for "invert binary tree" this term basically did not exist on the internet. I just tried searching on google with time set between 2000 and end of 2014 which seems to give similar results.

I guess I did not spell it out in my original post, but I always felt it might have been an intentional nonsense question intended to gauge how he would react to someone talking nonsense, or something like that, and not necessarily related to technical things. A sibling post of my original to suggest this was the case, without the weird detour through the term "invert binary tree".

Edit: Of course an alternative explanation is that the interview used another term and he then used the term "invert" on twitter.

Idk, this example at least has to me always felt like people who complain about not passing the driver's test coz they did some minor error and then forgetting to mention that they drove past a stop sign.


I'm not 100% sure about the inverting part, but at Google nobody ever told me to ,,fuck off'' and nobody would tolerate that language, and that person would get a serious talk from his/her manager, maybe even laid off instantly, especially if it's written.


I assumed it as taking a binary tree (L|R) and reproducing a tree that's (R|L). And if it is that, then writing out the algorithm on a back of a napkin just now was a pretty thought provoking exercise :)


It means to swap the left and right arm of each node. So you effectively "mirror" the tree.


Yeah, it's relatively simple once you come to that realization:

    TreeNode* invertTree(TreeNode* root) {
      if (root == NULL) {
        return NULL;
      }
      
      TreeNode* tmp = invertTree(root->left);
      root->left = invertTree(root->right);
      root->right = tmp;
      
      return root;
    }
It sounds a lot more complicated than it is.


Until I throw this test case at you:

    TreeNode testRoot = new TreeNode();
    testRoot.left = testRoot;

    invertTree(root); // Stack overflow.
But that's not a tree, that's a cyclic graph, you may shout. That's true, but you still need to sanity-check your inputs.


That ought to be done in a separate validation step, and/or the tree object should enforce its invariants.

(I shouldn’t be arguing interview problems on HN, but I’ve had a few beers.)


I argue that if an interview question asks you to implement parseInt(String foo), it's your responsibility to handle inputs that aren't a properly formatted integer gracefully.

Or at least to point out to the interviewer that your solution fails to handle unexpected input, and ask if they want you to add input validation logic, or if they are satisfied with the answer.


Sure, but this assumes that foo is a valid String — just formatted incorrectly for use with an int. If we can't assume that TreeNode constitutes a valid (cycle-free) tree, we essentially have to embed a full cycle-checker in our otherwise simple inversion function. I would argue that goes against the intent of the question.


Invert a binary tree as in heapify it maybe because inserting occurs at the leaf not root? Is that what it means? Does it simply mean changing the insert criteria so that a<b is now b<a?


Ah yes, people do bring this case up. However, they don't usually remember that Homebrew at that point was a poor and incomplete reimplementation of other package managers, used to break installed software on updates, and the fact that the very team that was maintaining Homebrew was not competent enough to either manage SSL certificate for their website properly or at least admit that it was a bug.

The sole fact that people use your software doesn't mean that you're competent, similarly to your inability to work with data structures on a whiteboard not meaning that you're incompetent. Somehow people only remember about the latter part for Homebrew.


"The sole fact that people use your software doesn't mean that you're competent"

It means something else, which may actually be more valuable than being a "competent software engineer" in the eyes of a specific company.


Millions of people have used bad or buggy products for decades, but that doesn't mean that you want to hire the engineers who built them, no more then you want to hire lottery winners (For being lucky!).


Authors of widely successful but "buggy" software are now lottery winners? My point was that these "unqualified" engineers clearly have something that separates themselves from even "genius" engineers. Hustle (to name one trait) matters, sometimes more than qualification and academic credentials.


No, but if being an author of successful software makes you a good employee (Because surely, that success is wholly transitive), then being a lottery winner would too. (After all, you were lucky - and it's good to hire lucky people.)

Put another way - does being a security engineer for Equifax make you an obvious hire at Google? I mean, every American Google employee has used Equifax's credit report systems, or used a bank that uses Equifax's credit report systems - clearly, said security engineer knows what he's doing.


Equifax's ubiquitousness is not a direct result or byproduct of the engineer's work.


And neither is the ubiquity of any one particular software product. There are always factors beyond 'Was Bob a good engineer.' 95% of businesses exclusively used Windows in the early 2000s, but that doesn't mean that you should blindly hire anyone who worked on it.

The author of that blog post wrote Homebrew. Thousands of engineers use it on a daily basis. That's great. I use thousands of pieces of software, worked on by hundreds of thousands of people, on a daily basis. That doesn't mean I should skip the interview process, and hire all of them. Some of those people are rock stars. Some... Are awful developers.


That sucks.

Also, I didn't realize Jonathan Blow was such an ass.


It's not about knowing how to do it, it's about watching the thought process of how you go about getting to the solution and how you communicate ideas and problems.

It's really great that he made a widely used piece of software, and he's a prolific developer for it. But if he can't explain the process to how he gets to an answer, it's hard to know how he'll work with other developers on problems.


I can agree with Jonathan Blow's responses in so far that you should be able to invert a binary tree in an interview if that's the sort of knowledge you need on-call on the job and there's somehow no room for rustiness because it's some sort of high stress environment that needs immediate results (btw that doesn't describe jobs at Google).

But then he reveals that he's completely full of himself when he suggests that "sorry, you're not a good programmer then."


For writing non-trivial software basic knowledge of data structures is needed. Especially with performance requirements like Google has. In some areas you get away without such knowledge but if you bild a dependency management tool like brew and don't know what a tree is, this is suspicious.

In the interviews I did with Google, Facebook and others (mostly for fun, not profit) if I didn't know an algoithm from top of my head I typically could talk to the interview and discuss th problem and they'd point me in the direction. Sometimes those interviews are less about being able to remember the thing, but the thought process to get there.

Aside from that: Google clearly optimizes on not hiring too many bad people, but rather leave a few good candidates behind.


    > if you build a dependency management tool like brew
    > and don't know what a tree is, this is suspicious
They didn't say that they didn't know what a tree is. They said they couldn't invert a binary tree in the interview.

It's a stretch to start suggesting that someone doesn't know their basic data structures because they failed some riddleware on the spot.

You can say that they aren't what google was looking for, but my problem comes when someone tries to dismiss another as a bad developer because of that.


Well, inverting is a trivial operation, pseudo-implementation: swap(left, right); recurse(left); recurse(right);

If one doesn't know what is meant one can talk to the interviewer and get a hint about what is meant. It can be that the interviewer is bad and misleading, but usually they have some specific training, this seems unlikely as the candidate didn't complain about the interviewer but admitted he had no clue.

The follow-up question would probably be the question about the complexity, that is also trivial f you know fundamentals of big O notation, as one has to walk over each node.

It's hard to find a more trivial algorithms question. Algorithms are fundamental knowledge for programmers (other than script kiddies)


Isn't the typical practice amongst software engineers, when you don't know something off the top of your head, to cut and paste from StackOverflow? Why do we need day-long job interviews and whiteboards to ascertain that?


The name "Jonathan Blow" and the words "full of himself" pretty much go hand-in-hand.


Haha, I've been a programmer for most of my life and I don't know what "inverting" a binary tree even means!


            2                             2        
           / \                           / \       
          /   \                         /   \      
         /     \                       /     \     
        1       3                     3       1    
       / \     / \                   / \     / \   
      0   7   9   1    reverse >>>  1   9   7   0  
     /   / \     / \               / \     / \   \ 
    2   1   0   8   8             8   8   0   1   2
           /                               \       
          7                                 7


Ah, I would personally call that "flipping", I kind-of imagined that "inverting" would mean maybe taking a node and putting in the root of the tree or something similar...


Why would you want to reverse/inverse a binary tree?


It's an easy way to check if you can think recursively/are familiar with a btree.


That’s reversing a binary tree.



    This problem was inspired by this original tweet by Max Howell
There are many definitions of invert. This is relying on one definition that is jargon, and not widely agreed upon jargon at that.

For a two or more dimensional “object”. Invert means to reorient the top and the bottom, while reverse swaps the left and the right.

The two only might mean the same thing with one dimensional data structures. For instance inverting a line of text might (ambiguously) mean reversing it. Or drawing it upside down. Or upside down and backward. But at least you would expect a clarification.


That was fun, thanks! I remember reading that tweet a while ago, and "inverting a binary tree" sounded very complicated, but it's really just one line of code.


I'd be very careful now, you might not be a REAL programmer.


Ha I laughed out loud when I saw this.. But also very true.


And in 30 mins. The current recruiting framework has really become a meme. But all the companies are so deep into this, it's really hard to come out of the current data structure testing methodology.


What's weird is they don't even test knowledge of the theory or operation of data structures, just if you can puke a few classic ones on a whiteboard.

Honestly, I think they've optimized on simply hosting an ordeal and selecting for any employee capable of performing the feats, even if they're unrelated to the job. It selects for employees willing to put in work and take a lot of shit, which is what big corps want.


Why not? He's a good, self starting worker. I'd love to have him on a team.

Is the insinuation that, because someone worked in a dimly viewed industry, they won't be a good match for a more "upstanding" startup?

Let's be honest here. Most startups aren't saints either. They exist to make money and nothing else. Unless you incorporate as a California B-Corp, you are legally obligated to make money for your shareholders at the cost of everything else.

Or is the insinuation that, because someone worked a "dirty" job they might turn out to be a corrupt employee (doing "bad things" like stealing company money, manipulating co-workers for personal gain, etc)?

No, I don't believe there is any correlation between someone willing to work a dirty job and someone being a shitty person.


If I was still working in a startup (whether it would count as cool or not I'm not sure) I certainly would. People like this are rare - he's proactive and clearly driven. If a cool startup turned their nose up at this sort of person it's their loss (and probably nowhere near as "cool" an environment to work in that they think).


I'd hire him in a heartbeat, because he's determined, analytical and can figure shit out himself. But then he'd not be for hire, because he already figured out how to put those skills to use himself to make money, so he's too smart to fall for the "come work for our cool startup, we have free Nutella" bullshit. Even better, he figured out it matters what you work on :-)


I suspect if he continues in 'Adtech' he will find opportunities.


Yeah I always rec Adtech to people who have trouble getting jobs elsewhere. Adtech doesn't care about whiteboarding, if they don't like what you're doing they'll just fire you. I swear I never saw more abrupt firings than I did in my year at Adtech. Often the pay isn't great though.


Thanks for the writeup, @EO-IO. As other have said, it's a 'skeezy model', but as you've said, you know this and were sharing for the lessons learned more than to promote this model - which I can certainly appreciate. All in all, I found it to be a pretty good read - and a peak into a world of generating revenue that I may have not otherwise been as aware of.

I do have a question. As I read, it does seem that you're driving the point of 'native app' pretty heavily without substantiating the emphasis; as if it's a large feature/benefit/sales-point. So, "Why native?" As primarily a hybrid developer currently (Angular 4 + Cordova / some Ionic), there have been leaps and bounds made in the arena of hybrid dev - and arguably the entry point for hybrid dev is much lower than it is for native. Of course you could still have created the same business with either stack, but since the article seems to be promoting 'native', I was hoping you could share some insight into what made native superior to hybrid here?

Thanks!


Thank you for the kind words. I took that decision years ago, when hybrid dev was still struggling. If you're asking why I'm not switching now, I just don't have it in me to invest more time in the tool, even though it would significantly cut costs.


Got ya... As someone who's worked in hybrid since ~2014, I completely understand where you're coming from - we've come a long way. Hybrid is an interesting dev space currently - so much tooling (Ionic's Creator, View, Deploy products, for example), flexibility and near-native experience in most applications. Anywhos. Thanks again!


"This guy had made hundreds of apps in less than two months, and was making 10 times what I was making from the software sales!"

If the only thing you wanted to change was to get a cut of your user's revenue, and you already had a product which worked, and which users found, why did you have to spend one year changing everything e.g. making it a web app, having to find new ways to find users, etc.?

Couldn't you have just altered your pricing model with the existing codebase? Just write an additional new server-side component to handle the billing, keep the existing client software, keep the existing methods to find new users?


Good point, this actually never crossed my mind. I guess at that time, I was feeling a little behind since SaaS was the hottest thing and I wanted to be part of that.


I think a change to the license model to make it subscription based and then the subsequent changes to the software along with a license server would have been just as effective. No need to rewrite everything and figure out the cloud related stuff. Worked for Adobe and Microsoft.


> I couldn’t understand why users who were making a thousand dollars in ad revenue each month, didn’t upgrade their accounts, after all it only costs $25. Turns out, a lot of these users were living in countries where they couldn’t have a Visa card or PayPal account, and just couldn’t pay me even if they wanted to.

I was highly interested when the author said he moved to Morocco to lower living costs. I was hoping he would have insights in how to overcome problems like this. I find it fascinating that these users are somehow receiving money online, but can't pay for things online.


I wrote this. All users get paid directly from the advertising network through bank wires / western union.


Online banks like Payoneer and Neteller offer debit cards that can be used in ATMs but get rejected by PayPal.


Very cool read. It's always hard trying to find the right mix of building something people want, building something that has a big enough market, and building something that you're passionate about.


Thanks, currently trying to figure that as well.


This is such a well-written story about a startup! I mean, it has so many twists and turns - pivoting for auto-generating mobile apps, cloud, gamification, affiliate marketing. It's so good I would have said it's fiction, especially the part that you're not even proud of doing it.


Congrats! Two questions:

1. What are some of the apps made? Even the website doesn't show any link.

2. How do they (himself and his customers) get users for the app they made? I've built android apps, and I'm telling you, making the app is the easy part (even when coding yourself from zero).


The reason he doesn't link to any apps is, that appygen is mostly used to make spam apps.


The reason I don't link to any apps is that it wasn't the point of the story.

Not sure what you mean by "spam" apps, but that's not the case. Nobody is spamming anyone.


> Nobody is spamming anyone.

Really? I'm sure at least some of these are made using (cr)AppyGEN: https://play.google.com/store/search?q=dog%20simulator&c=app...


> (cr)AppyGEN

This is HN, not reddit.


Could be, but how is this considered spam ?


AFAICT someone realized that it was possible to make money with an animated dog app, and it got popular. Then dozens of others heard of it and made knockoffs, some just using the idea, some going farther and publishing apps with confusingly-similar names and icons. So now there are dozens of confusing, bottom-feeding apps swarming around this little pile of money when there used to be just one, and the Android app store is a worse place for everyone.

Searching an app store is about as effective as seeking medical/dating advice in your spam folder, so I don't bother.


> So I came up with the idea to get my users to share it, so that I didn’t have to. To do so, I set up a very enticing referral program:

>> Users could share their referral link and get a 10% cut of the ad revenue from every app the referred user makes, forever.

> For example, if user A brings in user B, and user B makes an app that brings in $10/day, user A would get $1 every day without lifting a finger.

> If user B decides to upgrade to a premium account, user A would get a commission every time user B pays his subscription.

This sounds like a pyramid scheme...


Not at all. A pyramid scheme typically has no external source of income, which they have here (ad revenue). In a pyramid scheme there would be no way for user B to get an income without referring more users.


If it were recursive -- if User B then referred User C, and User A got a cut of the revenue -- then I'd say that's a pyramid scheme.


If it were recursive it would be a form of Multi Level Marketing (MLM) scheme, which are perfectly legal but border on morally bankrupt.

It has some of the negative aspects of a pyramid scheme but the day to day operation is around selling a good or service and giving a cut to the guy who recruited you, the lady who recruited him, and so on up the chain.

At some point it’s about recruiting others to do the work for you.


I am definitely not a fan of this guy's project but this just sounds like an affiliate or resellers program to me . . .


It's not. Free users have already agreed to share a percentage of their ad revenue. The 10% that goes to referrers is taken from that percentage.


Yep. That's basically the definition of a pyramid scheme.


No it isn't. Imagine that A convinces B to sign up.

A pyramid scheme pays "A" with the signup fees from "B". If people stop signing up, then you can't pay B.

Here, "A" is paid IFF "B" makes money. if B makes no money, then A makes no money. It's revenue sharing from referrals, not a pyramid scheme.


not really; in a pyramid scheme (at least the generally understood scammy sense) you pay money to buy in, and then recovery that money by inducing other suckers to sign up. the money you pay goes to support the people higher up the pyramid.

in this case, the people at the bottom are actually making money, rather than paying it; it's just that some percentage of their fee is shared with their referrer (it comes out of the company's cut, not the user's)


Good lord, that project is truly horrifying.

So many crap apps pumped into the store.

I guess at the bottom, the money is coming from ad revenue, so I guess somewhere there are people who actually use these apps?!? Or I guess maybe it is just a lot of people getting tricked.

Kudos, I guess, to the author, for coming clean. I never would have admitted to something like this publicly. (Then again, I never would have done this kind of thing in the first place. By the way, I don’t know if I have a price, but it sure as hell isn’t $6K/mo.)


Would you define crap apps though ? I'm not sure we're on the same page here.

None of the apps made through the software contain malware or spam or anything "horrifying", they simply lack originality.


I would say a low-value, low-effort app is bad ("crap").

Your system encourages lots and lots of very low-effort, low-value apps. So crap at scale. That's horrifying to me.


My first real job ever, as a software developer, was developing software for internet marketers. It would spam your links to a bunch of RSS submission forms. I was relatively young at the time; this was back in high school.

My career stayed around that internet marketing world for a few more years after that, working as a contractor.

I had similar feelings as OP at the time. When I first went into it, the negative impact my software would have didn't really occur to me. I was wrapped up in the nerves of interviewing for the job, the emotions of writing my first commercial software, trying my best to do my best work. I thought of everything _but_ the impact of the software.

I made something like a few grand on that contract. A lot of money for me at the time. The internet marketer who paid for it made 6 figures off it. He resold it to other IMs who would then resell it to the final end users.

A few months after that code went out into the world, I was reading articles on one of the websites that my program spams (most popular blogs at the time had ways to submit links to them). I stumbled into an article where the website owner was complaining about the program, and how much it was spamming their site. They wanted some way to contact the author and have their site removed.

My stomach sank in that moment. I felt terrible.

Lucky for them, the program had an auto-update feature. So I removed them from the list and pushed the update. Still, I've never forgotten that horrible feeling...

There are always more corners of that internet marketing industry that feel "less scummy". I kept working in that world, a bit more picky in what I worked on, but the truth was ... there really was no good that comes from the internet marketing industry.

About half way through college I get fed up with the whole thing and abruptly quit the contract I was on at the time. I remember sending the email out, walking out of my dorm, hoping on my bicycle, and just ... riding. I rode forever. Lost in thought about what I was doing with my life. I ended up riding for several hours into the night, just trying to burn off all the emotion.

These days, I would never do that kind of work again. But I can appreciate why I did the work at the time. We don't really think about that kind of stuff, the impact our work can have, until later in life. It's a fact of human biology. And when you're first entering the job market, the money and getting into the swing of "adulting" is enough to fully consume you, leaving precious little thought left to give to what impact your work might have.

I don't think anyone should be ashamed of stories like these. It's all a part of growing up and learning about the world. We should celebrate those self aware enough to realize their mistakes and grow from them. There is so much more life left after young adulthood.


Lessons I learned from reading this article:

* The author had multiple opportunities to return to freelancing and stop working on a tool that he fully realized was morally bankrupt.

* Then, even after his partner left, the author used gamification to hook people into using the app, recruiting people into his pyramid scheme, and exploit people in countries underserved by payment systems.

That's some pretty solid lessons there.


Thanks for sharing. Really good and honest write-up. Everyone needs to put bread on the table. It's much more rewarding investing your time in your own project than selling your time to some corporation. At least you actually have something to show for it. Respect. And if people found your project useful - you succeeded. The mere fact that the apps were making money shows that those apps were used by some other people who found them worth using.


Seems most of the business value was in that initial spark of insight, vis a vis consistently earning money from trending niches. The product dev stuff is interesting, but I’m most curious as to how that initial targeted app was conceived.

(Not that I’d want to work on this kind of software, but I feel the lessons would still be applicable.)


Isn't indie hackers the same site that was bought by stripe?

It used to just list all the businesses. Right now I can't even find that list anymore, instead a completely free-form "search" – well sometimes I just want to browse the companies to find interesting ones I didn't think about.


We have a lot of content: text-based interviews, a podcast, free-form articles, and a forum. And there's more coming down the pike.

Different visitors like different content, so the current homepage surfaces a curated list of all of it. To see just interviews: https://www.indiehackers.com/businesses


It's hidden in the dropdown menu on the top right under interviews, or https://www.indiehackers.com/businesses . I agree with you though, it looks like IH is trying more and more to become a Medium-like blogposting site.


FWIW, I am a fan. I find their content inspiring.


Has anyone else had success 'gameifying' their app? I've been mulling over how to structure the 'getting-started' phase for a new app project and this sounds like a good idea.


You mean gamifying the app or the development of the app? I'm down for the latter... super procrastinating here...


The app itself.


I'd be down to help, hit me up, my email is at the bottom of the story.


What I see is someone who abandoned a user-centric desktop app in favor of a gimped cloud solution that makes the dev more money and gives users less control.


Getting a percentage of the profit of all the people you recruit into the ecosystem sounds suspiciously like an MLM.


Oh no it's clearly mutated into an MLM. I found it interesting how it turned into one last minute. In a lot of ways it is the logical next step for this kind of product.


Doubling his/her revenue in 2 months shows how powerful MLMs are.

I don't think there is anything inherently unethical in MLM sales structures, it's really just how they are run. The real problem with most MLMs is their core business doesn't work, they only work by sucking money out of those unsuited to succeed selling the core product.


That would be the case if referrals were the only source of income.


Sorry, no. MLMs also make money selling bogus nutritional supplements and such.


Not an MLM, see other comments for more details.


If you hate it, why not sell it?


If you don't enjoy this business so much, have you considered selling it?


So 6k a month, which means the people using AppyGen are earning much less.. ?


If you read, not much less. Some of his users are making $1000/mo.


Hey, nice work there, both on the idea and execution. And, since 'don't be evil' companies spam us mercilessly on every occasion, a single guy pushing some spam up their arses should get some reward for his work.


nice appygen ad...


It’s a rare ad that starts with the product owner telling you how much he hates the product.


still an ad, and such a transparent lousy technique.


Indiehackers is literally advertisements for the companies/founders it covers (most of the time).


Do these Indiehackers stories ever leave out important details?

(Example: I remember reading about ProSoundEffects in a book, and the author (Tim Ferris) left out important facts, like how the founder of the company had years of experience in contract law and negotiated exclusive distributorship deals before automating the business in Yahoo Stores. In other HN anecdotes, people leave out all the spam and email ads they have to send in order to get sales for their product.)


Tim Ferris is a charlatan. That probably has a lot to do with it.


Ha! I was about to write an identical post, word for word.


And I think it's fine, as long as it gives something valuable to the readers. Not necessarily repeatable business ideas (there's a saying that when someone share his secret, it's already exhausted), but it gives motivation.


That's the whole point. You thought the founders were getting warm fuzzies from sharing their story?


Yes! Was looking for that comment. Super slow read, half way through I recognized I was reading an ad.


Flagged.

Who's voting this junk up? 84 points in 33 minutes? Doesn't seem realistic.


This is an excellent article, I'm going to up vote it right now. It's rare you get to read something so self aware that the author admits they hate what they sell.


maybe there's an app for that ;) (or even an app maker GenAutoUpvoterApp)


People like you make this site so very unbearable.

I enjoyed reading this article and all your behavior does is censor relevant and interesting info.

That you announce it for kudos is even more infuriating.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: