Full disclosure, I wrote the software (Mochi).
[0] https://mochi.cards/blog/using-spaced-repetition-to-learn-a-...
Duolingo also has a weird discrimination between iOS vs Web/Android. In the iPhone App you lose health with wrong answers and wait for regeneration or have to buy "hearts", this restriction is not present on Web.
There are a lot of individual apps and sites that can you can cobble together, and that play a part in a lot of people's personal systems. Spaced repetition is a great idea. But you will want to do it using a DIY-oriented app like Anki, and make your own flashcards. Forvo is a fantastic website and app for working on your pronunciation. For any popular language, YouTube will offer a wealth of channels offering video content (with transcripts) that you can use to get in your listening practice. Reverso is great for pinning down idioms. Just grab whatever grammar book from your local used bookstore (at least for starters - once you've spent a while learning, you'll have a better sense of what you want in a grammar book, and that's the time to pick a specific one and pay full retail price for it.) Once you're able to read a comic book or watch a slow-paced nature documentary in your target language (this is quite attainable within 6 months if you work steadily), get 1:1 tutoring on iTalki. Etc. etc.
The common criticisms about canned courses, at least according to a lot of folks in the recreational language learning community, are:
1. There's a speed limit. In a class, your pace is limited to that of your least motivated classmate. In a freemium app, you're limited by their monetization policy. With Rosetta Stone, you're limited by excessive animation crap in the UI.
2. You're stuck using whatever content someone else thought would be interesting. If it's not so interesting to you, your motivation is going to suffer.
3. You're stuck learning stuff in the order someone else thinks you should learn it. This can just murder your pace if, for example, the order in which your brain wants to pick up grammar rules doesn't exactly match what the course designer thought the right order should be. Which it won't.
4. Apps and courses sink way too much effort into metrics, either in order to assign grades or in order to gamify things or just to control your pacing. This creates a streetlight effect: They teach you what's easiest to drill on with short answer and multiple choice questions, not what's going to best enable you to use the language independently.
As for how a homegrown system should work, there are a lot of books and blog posts on that; I'm disinclined to endorse any one of them because it's better to read several and cobble together your favorite ideas into a system that's all your own than it is to follow just what happened to work for some other person. It's got to be your system that you worked out for yourself because it's got to be something you actually enjoy doing if you're going to have any chance of sticking with it for the long run.