Build an MVP with Elixir

Now available on Gumroad

Hi folks! Peter Ullrich here :slight_smile:

I’m happy to announce my very first video course called Build an MVP with Elixir! :partying_face:

This course teaches you how to quickly develop a real-world product and to make it available it to the world. Together, we will create a real-world application called blogcash.app using Phoenix LiveView, deploy it to Fly.io, add payments to it using LemonSqueezy, and much more. You will learn everything you need to build your own product and to get paid for it!

The course is meant for new developers and developers new to Elixir, but it’s also useful for experienced developers who want to release their own product.

Main topics of the Course

In 27 videos with a total length of 6.5 hours, we will cover the following topics and more:

  1. Set up your Local Development Environment
    1. Install Elixir and Erlang using Homebrew and asdf
    2. Install VSCode Extensions for Elixir
    3. Use Docker Compose for running a Postgres Database
  2. Create your first Phoenix Application and:
    1. Add User Authentication
    2. Add a Checkout with LemonSqueezy
    3. Use Tailwind and TailwindUI for rapid prototyping
    4. Use ChatGPT to add content
    5. Hack and secure your app using Burpsuite
    6. Add free illustrations from DrawKit and undraw
  3. Deploy your product to Fly.io with:
    1. a custom Domain
    2. User Analytics with Plausible.io
    3. a Mailing Service using Mailgun
    4. a Continuous Deployment Pipeline from GitHub
  4. Learn just enough theory about Phoenix and LiveView to get you started. We will cover:
    1. How does Phoenix handle a Request from top to bottom?
    2. How does LiveView update the website without reloading?
    3. How does the Phoenix folder structure work?

Aside from these topics, you will also learn the basics of writing Elixir code, how to add your own pages to your application, how to add custom CSS, and more.

After this course, you’ll have all the tools to build your own product!

Who am I?

I am Peter Ullrich. I’ve been working with Elixir for more than 4 years now and love sharing my Elixir knowledge through my blog, YouTube Channel, Twitter Account, on Podcasts, or at major Conferences.

Why this course?

I love Elixir, but believe that it’s not easy to get started with it. I learn best by doing, so I created this course to teach newcomers just enough Elixir and LiveView to get them started using a real-world example. After this course, I believe that you know enough Elixir to continue your learning journey on your own. If you just got an Elixir job (congrats!), this course will help you to hit the ground running :muscle:

For whom is this course?

New Developers.
You will learn everything you need to know to build your first Elixir application on your own.

Developers new to Elixir.
This course teaches you the basics and will get you up to speed with Elixir. If you just accepted an Elixir job, this course will allow you to hit the ground running!

All Developers who want to release a product.
If you’re experienced with Elixir, but don’t know how to deploy your application and get paid by your users, this course is for you too!

What does the course not do?

This course explains some basic theory of how Phoenix and LiveView work, but it is not a technical deep dive into Elixir, Phoenix, or Phoenix LiveView. It gives you recommendations for further readings though, in case you want to learn more.

Course Materials

As part of this course, you will have access to the following:

  1. 27 Videos of 6.5 hours total length
  2. The code of the more extensive demo project: blogcash.app
  3. The final code of the project that we’re building together: cashblog.app
  4. 8 intermediate code versions of cashblog.app to make it easier to follow along
  5. A support document with code snippets and further resources

Where can I buy it?

The course is now available on Gumroad :slight_smile: See you there!

43 Likes

Congrats on the launch Peter! I’ve already bought it and like it very much so far. Great job!!

5 Likes

Hey Peter, congrates on the launch! Bought it a couple of days ago and really loving the content and videos so far. Really good job!

5 Likes

Thank you @marcelfahle and @sjm :blush::pray:

1 Like

Sweet…instabuy, ty…but a couple of questions while I’m here:

what’s in the more extensive blogcash.app?
what requirements/potential hurdles to using chatGPT in project?

Glad to hear that :slight_smile:

The BlogCash project is the demo project which includes everything we build in the course but with cleaned up code and a few small extra features. For example, it uses Phoenix.LiveView.JS for showing and hiding the menu in mobile view, it has a “latest article” section on the landing page, and it has a publish/unpublish feature for articles. The UI here is overall a bit sleeker and cleaned up.

The project that we build during the course called cashblog.app is not super cleaned up because I don’t show the cleaning up like moving CSS classes around, making the UI pretty, etc. It also doesn’t have some small features like the publish/unpublish button because the feature was too small for the course.

So, cashblog is the learning project, blogcash is the pretty production ready demo project.

Did that answer your question? :slight_smile:

2 Likes

Answered it fully, ty.

I enthusiastically endorse this course as a great learning resource for Elixir and Phoenix!
Not only does it cover all the essential topics required to build a real project, but it also explains them well. I was fortunate to be one of the initial subscribers, and while I haven’t completed the course yet, I can confidently say it is one of the most comprehensive and insightful resources I’ve come across.
I wish the very talented Peter Ullrich all the best of luck!

7 Likes

Is the Phoenix version used 1.7.0, or is it compatible with 1.7.0?

I am trying to recycle myself and I am finding it hard to have information on the latest Phoenix standards. This would be a major selling point for me.

1 Like

Yes, both the Demo project and the project we build together use Phoenix 1.7 and LiveView 0.18 :slight_smile:

5 Likes

I just bough the course!

Even though I don’t consider myself “new” to Elixir, I am sure I will learn a lot. I am mostly excited about the Phoenix part, hopefully I can use this course to make something capable of not making my user’s eyes bleed.

Thanks for the response !

1 Like

Amazing! Thank you very much :slight_smile: I hope that you’ll learn a lot :muscle:

I would like to make an additional recommendation. In the beginning of the course, Peter suggests several VSCode plugins that are very helpful. However, I believe the TailwindCSS plugin should also be added to the list, not as a “nice to have plugin” but as a “must have” plugin.

Why “must have”? Because if you don’t, the code in future lessons is likely to break if you have Format on Save enabled for VScode. More on this here:

1 Like

Thanks for the suggestion! I agree that the TailwindCSS IntelliSense extension is very useful indeed!

1 Like

Hello all,

TL;DR

I finally finished the course. The full thing.
My opinion of the course if very positive. In the end, I did end up with an MVP, its not the most beautiful thing in the world (still learning tailwind), but it does the job.

I can honestly say, I totally recommend this. You will learn a ton, even if you are not new to Elixir (my case).

Favorite Parts

I must say, the topic that I liked the most was the author’s knowledge of free resources, such as undraw, tailwindUI (free version) or heroicon.

The topic where I learned the most was definitely with the payment section with LemonSqueezy and Ngrok. Turns out the courses uses a bunch of auxiliary tools. I am not sure if it possible for 1 person to be proficient in all of them, but the basic knowledge we are given sure goes a long way.

Extra things I would have liked

I would have liked some additional homework/exercises, but this is honestly something very minor.
The author also mentions alternatives to some of the tools, for example, GumRoad instead of LemonSqueezy, which I would have liked to know more about (specially because they adapt the price of the course to your country). In fact, if not for GumRoad’s price adaptation, I would have been able to buy the course.

Some insight into testing would have also been interesting, as it is obvious Peter is very knowledge.

I understand however this would have inflated the course’s runtime, but here is food for thought (maybe next time? :smiley: )

Extra selling point

I will say I encountered several difficulties. For example, I never managed to get one of the tools, ElephantSQL working properly. You may think this is bad, but I am telling you this because this prompts up another important selling point: Peter Ulrich.

Upon sending a PM, he was extremely helpful, and suggested another solution to replace ElephantSQL, Supabase, which I am now using and I am very happy with.

Peter is very friendly and helped me when I asked, this is something I cannot say of everyone (sometimes authors do not have the time to help customers) but the fact Peter made the effort is a strong selling point for me.

13 Likes

Wow @Fl4m3Ph03n1x thank you so much! I’m very happy that you find my support so valuable. In fact, I set up a Discord server for all course participants where we share questions and suggestions and I believe that improved the support quality even further :slight_smile:

4 Likes

Regarding the switch to Supabase, it’s basicly just using their connection string, instead the ElephantSQL one, right?

2 Likes

That’s right. It should have the same format as well.

1 Like

By the way: Feel free to showcase your MVPs in this thread :slight_smile:

I’m really curious to see what you all are building!

1 Like

Hello, I’m interested but I would have liked to see the project, it seems that the links are broken.
Best regards

1 Like