Some people here know me as the founder of two profitable SaaS projects and the author of popular articles about them (the article about Postio , the article about Menumake ). In this tutorial, I will talk about how I, an ordinary developer, alone created my first global project and what came out of it (TL; DR: happy ending and first sales). Well, at the same time let's go over all problematic issues, starting on how to find a noncompetitive and guaranteed profitable idea (let's leave the creation of the next Google more ambitious and intelligent people), and ending on how to accept payments globally, while being in Russia. Let's go.Looking for an idea
I have always been a supporter of the rule that the search for a good idea is not an accident, but an ordinary analytical process. There are many places and ways to find a reality-tested idea, but since I once tweeted it ...
... then I will use the good old
Fiver . There is one more wish: I love working with social networks and images, so the first place we go is the corresponding section of this popular freelance platform.

')
Let's now analyze the signal that the platform gives us. See these gray numbers to the right of each service rating? They show the number of orders for this service and give us the opportunity to assess the popularity and prospects of each micro niche. In our case, the undisputed leader is the service of generating picture-quotes for social networks.
I digress a little from the topic and say that despite the fact that in RuNet the idea of such a project would have caused laughter, then in the West, where copyright is not an empty phrase, everything is much more interesting. Quotes there is an accessible and popular format that is used by small (and sometimes large) companies that cannot afford the more expensive type of content. Therefore, such a popularity of services to create unique images, quotes - not an accident.
So, we have a favorite; Now let's estimate how much you can earn on this. I will not conduct a full analysis, so we confine ourselves to the following: let’s go into the profile of the largest specialist on quotes on the Fayver and divide the total number of his orders for the time he spent on the platform.

The average check in this niche is $ 15, it can be assumed based on the average tariff plan of this guy.

We can estimate the number of his orders approximately by taking the number of feedback left by his clients (6,688 at the time of this writing); Of course, there are far fewer reviews than orders, because not all customers leave feedback. The time, in months, spent on the platform can be obtained from the date of its registration (also approximately, it could not start working immediately). Total it turns out such mathematics:
6688 orders / 36 months x $ 15 = $ 2786$ 2,786 per month - not the most fabulous figure, I agree. But in order to understand the potential income in this niche, let's recall that:
- We estimated this guy’s income to be significantly lower because we took feedback instead of the number of orders and the time of the account’s validity, rather than the time it actually worked;
- This is just one of many
- This is just a Fire, one platform of many
- Surely we will manage to come up with something else that can increase the average bill (spoiler: succeeds)
I am satisfied with these calculations and these figures, so we will formulate the mission of the project: to
massively and automatically create unique content in the form of pictures-quotes for social networks with the client's logo.Massively - because it is convenient for customers to immediately get a pack of pictures and throw them into the feed. Unique - because non-unique and so heaps, and social networks love uniqueness. With the logo - because customers believe that those who look at the quote will remember their branding. Pictures-quotes - because this format is effective and cheap to manufacture.
Now for the cause.
Create a minimal prototype
Since we will create picture-quotes, we need the following ingredients:
- The texts of the quotes
- Images unprotected by copyright
- Beautiful fonts
- An algorithm that blends all this smoothies together.
Quotes are easy to find and parse from a pile of quote books; they are not protected by copyright. Royalty-free images are on drains like
Unsplash . Open fonts are not a problem either. Therefore, let us focus on the main thing - on the generator itself.
Those who read my previous articles know that I don’t really like fashionable new technologies, therefore, to create a generator, the choice fell on a bunch of PHP + ImageMagick. In principle, the whole process of generation is trivial, but there was one difficult moment for me: choosing the right font size and correct splitting the text of the quotation into lines. I came to this decision, but I am sure that more experienced programmers will be able to come up with something more elegant:
function autoWrap($text, $maxWidth, $maxHeight, $lineMargin, $fontName) { $image = new Imagick(); $draw = new ImagickDraw(); $startFontSize = round($this->height / 4); $fontSize = $startFontSize; $draw->setFont($fontName); $lineWidth = 10; $custom = false; $text = preg_replace('/\s+/', ' ', $text); while (true) { $draw->setFontSize($fontSize); $fit = false; while (true) { if ($custom == false) { $lines = explode("\n", wordwrap($text, $lineWidth, "\n", false)); } $longestLine = 0; $longestLineIndex = 0;
By the end of the second week of development, my generator could create these images:

Looks pretty. While I was playing with the generator, the idea was born to make animated gifs and video with quotes - it is enough just to generate a sequence of frames, and then assemble it into the final file. For the assembly in GIF, the same ImageMagick was used. To create MP4, I first created a GIF, but then overtook it into a video file using FFmpeg.
All this made it possible to do this kind of content:



Why not sell it at double the price, thus increasing the average bill?
Okay, this is all great, but this is not a product yet. To make all this a finished product, we need to complete the following points.
Site
For this project, I chose the Laravel framework and, despite some difficulties ...
... in the end, he greatly facilitated the development. Yes, there were some unpleasant moments, such as the absence of a native directory for helper functions (similar to Codeigniter) and the framework itself looked like a patchwork sewn from different parts, but it performs its function perfectly well.
Probably the most important part of the site is a tool for creating orders. It turned out like this:

Payment acceptance
To be a business, we need to somehow accept payments. If we were selling in Russia, I would use solutions like Yandex.Cash or Robokassa. If I were incorporated in the country of the first world, I would use Stripe or Braintree. But this time, I hit the jackpot of problems because of the need to accept payments globally (the main customers of our service with you are in the USA), being incorporated in Russia.
The only reliable system I managed to find was Paypal. They allow you to accept payments almost all over the world, and then withdraw them to the LLC or even the P / N account, withholding some crumbs of commission. All this, together with a cool Russian tax of 6%, kept me from wanting to incorporate in Delaware, Hong Kong or Singapore this time.
The process of connecting to a stick is simple:
- Create a corporate account with them
- Upload documents about your company
- Wait a couple of weeks, responding to their emails with different requests.
- Integrating technically - it took me exactly one day.

Everything, now you can pay from all over the world.
Mass generation of images
The customers of our future service are not interested in creating single images - they want to pay once, upload the received pictures to the publisher and forget about the content problem (often, this is a small business where the director is both an assistant and a marketer).
The generation itself was organized through the mechanism of queues and workers built into Laravel. One stage was responsible for the piecewise generation of images for the order, and the second - for their assembly into a single archive. By the way, when a client ordered a pack of images, he was automatically added to the archive and 10 videos - so I gave a try to a new format and a little pleased the client with an unexpected gift.
Database of images and quotes
It's simple. I went to
Upwork , hired a Hindu there, who collected 500 motivational quotes, and 500 suitable pictures with roads, energetic people, and scenic views. Next, by running the generator, I created thousands of ready-made images, where a random quote was combined with a random picture, and deleted inappropriate images — those that were not 100% consistent with all the quotes. Everything.
Landing
I will not try to set forth here the principles of creating a good main page (books about the size of Lao Tzu’s treatises are written on this topic), I’ll just leave my tweet with a quick checklist:
Of course, each case is unique, but there are general rules that allow you to convert a person with a problem into a user of your solution for her. Advice to beginners: do not bother much at this stage, leave the questions of increasing the landing page conversion for later. From the point of view of testing the idea of viability, there is no difference what the conversion of your landing page, 5% or 10%, as long as there is at least some.
Statistics and logs
The importance of good, detailed statistics is difficult to overestimate. People sometimes ask me what to collect? The answer is simple - everything. All you can. Because no one knows what data you may need in the future.
You can start with a small table, for example, for our project with you it may be:

If for some reason you cannot yet create full-fledged statistics, then at least use something ready for the frontend:
PS: use with caution the method of collecting statistics in the screenshot above - it will not work for users with the tracking block enabled in the browser, and the transition to the page will not happen any further.Server
I have never been an admin, so, in order not to steam with the generation of parallelization (after all, the generation of images and especially video is a costly process), I decided to just rent a powerful server from Hetzner and trust Laravel Forge. Both products coped with their task on the top five.

I spent about a couple of months on the development itself. Now let's see where the sales will lead us.
Launch
No place is more beautiful for launching projects than ProductHunt. Previously, I was looking for a person with a pumped account, so that he or she published my product. This time, I scored on all this and just
vanished the project myself , trusting their instructions and my own laziness.

The PH community responded very positively to the project, and in addition to cool feedback and ideas, I received several sales, two from the USA, and one from the UK:

Despite the fact that
QuoteArtist (as I dubbed the service) took 25th place, it made its way to the main page of the platform, which gave enough traffic:

By the way, what is especially important and cool is that one of the clients ordered not simple pictures, but their video variants (remember, beautiful gifs are a little higher?). This means that the idea is validated and we can think about how to properly sell and scale it.
That's the whole path that we had to go in order to create our own profitable business with an income not in rubles. Nothing complicated, right?
Conclusion
You can still write a lot about how to develop this service, how and to whom to properly sell this content, but these are already topics for individual articles.
If at least a few people, after reading this article, begin to create their first project, I would be very pleased. Thank you for your attention and, as usual, I am waiting for your questions in the comments.