Yes, it's all mine "from scratch". Actually, it's easy to code something once you've really thought it through and have an understanding of how it should work.
Maybe the experience, but I had the dsi version briefly and tried using some YouTube videos. Even the most basic creations took considerable time for me and there were always many questions.
The beauty about a math and logic based language like this is that it can be very satisfying as well. Like solving a tricky puzzle.
Yes, there are many, many questions to start. But over time, the number of questions you don't know starts to dwindle and you'll get faster. Take a look of my programs, and you can see effective features culling in action, as to make it easy to do. Some of my posts even features development in action. HTH.
Ask yourself the question, "How can I design my programs so that they are easy to do?" Implementation consideration is so often absent from design consideration, that people are unnecessarily having trouble programming.