Finally learning to build a basic app with Ruby on Rails

When I was a kid, I used to mess around with custom servers in Graal Online. Learned scripting to spawn tanks or special weapons. But sadly I never learned enough to say I had learned to code.

But I’ve always wanted to make something. So recently I wondered, how hard is it to learn to code as an adult with almost zero technical background?

So I watched about 4–6 videos from Network Chuck on Python. An easy intro but making basic programs in the terminal isn’t fun and didn’t really stick.

2nd attempt, I thought I’d lean into what I do most – reading. I downloaded a bunch of Ruby books on Kindle and I thinking I’d absorb it easier that way. That didn’t really work either.

(Turns out working through data types and functions completely without context is a pretty dry way to learn anything. Who could have guessed?).

Laughable in hindsight.

I’d let the whole thing go, all over again. I thought I probably didn’t have the brainwaves to learn – until a video popped up on YouTube called Animation vs Coding.

Basically it showed a stick figure visually demonstrating Python code. Visually.

And it made me curious, “What would I know how to do if I just copied everything line by line?”

It took me like 2 hours!

Obviously, I still had no idea how to code apps. But somehow, it gave me a feel for something. Coding started feeling like language of logic. I got a taste for how things might fit together.

This was the real start.

With that sliver of motivation I tried to AI-code my way to building an app idea I had with an early version of Replit. A big jump. It kind of worked – making things looked doable! Until I showed a developer friend at the office (thanks Jesse) who pointed out that because I’d leaned so hard on AI, I’d rammed everything into a single .py file 🤣. It was basically electrified trash.

This made me realize I probably should learn more foundations before even trying to vibe code my way through. Thankfully Ryan Kulp’s Ruby Foundations course was on discount so I grabbed that and started sneaking away in the mornings to learn and adding a few minutes of practice in the evenings.

At the same time, I began cementing my learning by planning hypothetical apps in ChatGPT and asking if I’m understanding how MVC and file/function and data processes work together.

Eventually, I pushed through 70% of Ryan’s course and created my first working app, Growl Copywriter, basically a calculator for writing ad copy.

Honestly it’s a crap product. But still I can’t believe it. I never considered myself to be the coding type however here was something on web that I managed to make.

Thinking back, learning was really messy.

It doesn’t happen linearly where I followed one resource from level 0 to 10. I bounced around a lot. But maybe that’s what I need to keep me engaged.

Learning to code felt similar to learning a language. I could only get there by throwing everything at a general direction until the pile up of scraps built up into a trash mountain.

Other observations on coding

Here’s some fun reading for actual programmers that I learned along the way too:

  • Pseudo code is a real thing? When approaching problems, I instinctively wrote out what I wanted each piece of code to do in English, then tried to translate it into working Ruby. Apparently that’s normal!
  • Coding is way more tactile than I expected. Physically typing out everything being demonstrated makes a huge difference versus just watching.
  • You can’t really code without the internet. I somehow had this idea of coders writing things mostly from memory. But then the internet went out once while I was mid-build and I was pretty useless.
  • Libraries and shortcuts are cool – and apparently encouraged. I had no idea using pre-built solutions for things like authentication was so normal and even respected in dev circles. I thought programmers preferred to write everything they could themselves.
  • Test constantly in terminal, not just at the end. If you save testing for when you think you’ve finished a feature, the whole thing can be stuffed up and you won’t know where. Sigh.
  • Plan the file and folder architecture ahead of time. A few times I got halfway through writing something and realized I should have structured it differently. A massive pain to redo.
  • Beware security flaws SQL injections, XSS attacks, authentication gaps etc. My mate Alex walked me through some of this. Apparently it’s a common blind spot for newbies and people leaning heavily on AI to write code.

Where to from here?

I have some hardware projects I’d like to do using MicroPy, so I’m planning to use the next build as a chance to try Python and see how it compares to Ruby.

Still promoting Growl in the meantime. Let’s see if it becomes its own thing. (Update 13/06/2026 – it didn’t).

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *