In order to explain the cause and effect clearly, so the article may be a little trivial, insist to see behind there will be dry goods oh.

Tell me a little bit about yourself

I grew up in an obscure town in Hubei province. Left-behind children tend to be independent and withdrawn. 17 years graduated from an ordinary college in Hubei to do front-end development. Like coding, playing games, afraid of trouble.

Start independent development

When I was in college, I often played a lot of games with my roommates, but one game impressed me particularly — Famine. Famine is the kingmaker of survival games, and it’s fun. But here’s the distressing part:

  1. There is no tutorial and all the gameplay has to be explored on your own, which makes it easy to get discouraged at first
  2. Baidu inside the data is also more laborious, and are old data do not update for a long time

So this is when I started to have the idea of making a famine encyclopedia. In three minutes of blood, I started researching the encyclopedia of famine. Most of the platform data, or data problems, or the interface is ugly, there is not the kind of complete encyclopedia I imagined. I was also busy during my internship, so I started planning to make a famine Encyclopedia. My idea was simply to practice technology.

After that, I spent about a month designing and building front-end engineering and writing six pages. I found some information on the Internet and made the first version (web page) because I didn’t know the background knowledge, the data was still static at that time.

Stage 1 of independent development

I remember one of the words that products often use is feedback, whatever you do it’s hard to do without constant feedback. So after finishing the humble first edition, HERE’s what I did:

  1. Start Posting adverts in the post bar to tell players in the famine community that I’m doing this and see if they have any good suggestions
  2. I hang the QR code of donation in the APP, hoping to get some income to motivate me to keep updating
  3. Access statistics. I look at how many people visit every day

It is true that all things are difficult before they are easy. The feedback from the community was probably half encouraging and half mocking, but even when I was encouraging I could tell that none of them thought I could really do it well, because it was a huge project and it was a huge amount of data.

Smooth development phase

Since I post advertorials in the community from time to time, I also get a dozen visitors a day. After the initial excitement, I became dissatisfied with only a dozen PV visits per day. In the next half year, I began to think of making the data of this small station dynamic. I was very excited at the thought of using dynamic data, so I started to do the following things:

  1. Learn some nodeJS and mongoDB
  2. Collect user feedback of Tieba, repair existing data and supplement new data
  3. Close the donation two-dimensional code, half a year income on more than ten dollars, rely on this to starve or forget

1.0.0 complete

After about half a year of smooth development, I moved the previous static data into mongoDB and the page looks much richer. To facilitate my promotion, I gave it the name famine Box. Box is a word that conjures up images of walkthrough, helper, etc., so I don’t have to tell you what it is. By 1.0.0 it has these changes:

  1. The number of daily lives reached about 200
  2. There are 10 pages
  3. There’s a background, there’s a database
  4. It has its own name

2.0.0 is just for technical practice

There were about 5 updates between 1.0 and 2.0, and I was no longer content to be a single encyclopedia, I wanted to practice some of the more difficult application scenarios and techniques. So they started planning communities. I hope you can come here to post articles and exchange experience. So HERE’s what I did:

  1. Develop user system
  2. Allow users to post, comment
  3. Add push, push real-time information
  4. I changed the name, because I wanted to be a famepedia community and it was obviously not appropriate to be called box, so I changed it to Famine in the palm

In fact, THE article I want to make it similar to the form of gold digging technology blog, but finally made it into the QQ space dynamic, only sporadic ridicule users. And because there were no likes, notifications, favorites and other features to enhance user feedback, few people used it for months. I realized that community is a very difficult thing to do, not only in terms of development volume but also in terms of issues. For example, how to motivate users to post, how to ensure quality content, these are not I can do it alone. So community-related features can only be used to brag about job interviews.

Community doesn’t work, so go back to encyclopedia. So starting with version 2.3, HERE’s what I did:

  1. Shell shelf application market
  2. Develop official website PDA famine PC official website
  3. Develop background management system
  4. Set up charging QQ groups

The daily PV (number of users visited) maintained at 200 for about half a year. I always told myself that as long as I did this function or that function, it would explode and users would spontaneously help us promote it. But the reality is that its growth is almost stagnant. I started to realize that the problem is that you don’t have to run a product just because you’ve built it. So I tried the app marketplace first, and sure enough, there were a lot of installs. In addition, I began to value the traffic generated by search, so I created an official website.

Another reason for developing the official website was that I wanted to learn server-side rendering and SEO. The official website will put some application data for Baidu crawler to crawl, the interface will not be very nice, but crawlers must feel they are very friendly. It’s quite a long job to see the results. Now Baidu search palm famine we have been in the first one, but also included several pages is a small effect.

As the iteration was updated, the amount of data began to grow, and it was no longer feasible to maintain the data by changing the database. So I spent about a month to make a background management system, with the general management system without too much difference. However, every time I do a new project, I will try to use different technology stacks to enrich my own technology boundaries. Even similar projects can also use different UI libraries. For example, the encyclopedia server uses a different stack than the community server, with Express and mongoDB for Encyclopedia and Egg and mysql for community.

After all these, 200PV has increased to 1500PV-2000PV.

In addition to learning technical points, learning how to make money is also very exciting to me, so I tried to set up a charging QQ group, put the qr code of donation on the QQ group link, and indicated that the group is considered as a donation developer. Compared to hanging two-dimensional code donation fee into the group effect is much better, so far QQ group income has more than 1300. This is dry (#^.^#)

confused

So far, I have been working on this project for more than two years. I began to see some serious problems:

  • Because I was learning and iterating, there were many unreasonable points in the design, which made it very difficult to update further
  • Use a lot of cloud services, these services alone cost nearly $10 million a year (no exaggeration, no moisture), not to make ends meet

For these reasons, THERE were several times when I wanted to call it quits and work on new projects. But every time I want to give up, I fall into the situation of starting from scratch and getting started is difficult. This idea struggled for a long time, I did not continue to maintain it for a long time, but the habit of seeing the traffic every day did not fall, watching the gradual loss of users I began to do not know how to do.

3.0- Repayment of technical debt

Took some time off and started to collect my thoughts. I looked at the pros and cons of refactoring versus starting a new project from scratch and found that refactoring worked better. So, after two months of hard refactoring, I did the whole front end, server side, and database thing all over again. Progress is much faster than expected, and a lot of weak modules have been dropped, and community-related features will probably come later when the time is right. Without going into details, let’s talk about the front-end refactoring.

Some people say that if you look at your code from six months ago, it’s garbage. It shows you’re making progress. How would I feel looking at code from two years ago? What kind of XX code is this? Is this logic written by XX? Forget it. That’s what I wrote and I’m responsible for it. When I started this project, my starting point for the UI was to make it as cool as possible. I’m a big fan of dark colors so the theme is dark. However, this dark reading experience can be quite bad for some users, and coders who are used to using dark style editors may not be bothered. The second point is that many pages are not uniform in style, taking up a lot of space but not showing much valuable content. Here are the two styles:

In addition to paying off technical debt, this is also a time of mindset change. I just from a school rookie to three years of experience in the workplace, learning things obviously can not inspire me too much interest. What interests me is probably the freedom of wealth, the desire to lie down and make money. After completing the technical reconstruction, I launched wechat mini program and QQ mini program, and began to try to use the platform’s advertising component to profit. Due to the relatively late push, the user volume is not very large. However, the revenue of wechat small program also has more than 1000, 2.5 million users.

Online experience address: Palm Famine WAP station

Tell me about operating

A really good product should reflect the comprehensive strength of technology, product and operation. Products that cannot be monetized are doomed to failure. To conclude, applets are more suitable for indie developers than traditional apps. If you want to make an app, make a small program. The reasons are as follows:

  1. The unified entry of small programs is simple to put on the shelf. To put the APP on the shelf, many application markets need software copyright, which is very troublesome. The Apple store also charges an annual fee.
  2. Small program dissemination sharing is more convenient, and users are easier to find
  3. Small program advertising component, access is quite simple and the unit price is good, than some miscellaneous miscellaneous advertising platform revenue is much better
  4. Small procedures with performance analysis, statistics, push can help you save a lot of development time

According to the statistical analysis of your users, my user group is between 17 and 24 years old, and the users in this group use QQ more than wechat. So I should focus on the QQ mini program.

Don’t hang two-dimensional code for rewards, too chicken ribs. Get the details right and make the user feel like the developer is willing to pay for your work. Try setting up a charging QQ group.

Wine is not afraid of alley deep is not suitable for today’s scene, to put down the figure to fight for every bit of flow. You can go to the target user often visit the community soft text, can also be in the group inside the password red envelope promotion. Pay attention to Baidu traffic to do SEO, often update app content, listen to user feedback to add new functions.

The last

Usually do not write blog, not good writing, please forgive me. The purpose of writing this article is to record my impressions along the way, and also to help those who want to become independent developers take their first steps. Once you take the first step, you will find that some people are thinking and some people are robbing.