Bootcamp

Learn how to build this web app:

The bootcamp is a 12-weeks long intensive course focused on learning Web Development.

It's 100% practice-based. We'll build an awesome project using a fantastic full-stack tech stack: Astro, htmx, Alpine.js, Tailwind CSS, Pocketbase.

Perfect to learn how to code from scratch.

Perfect if you're into Web Dev but you're a bit rusty.

Perfect if you're into another tech niche (mobile, system-level, sysadmin, devops, ...) and you want to transition to Web Development.

Perfect to learn how to create your own SaaS.

Fully remote.

This is not "just a course".

It's a once-a-year event designed with one goal in mind: help you become a Web Developer.

During these 12 intensive weeks, you'll learn the skills you need to build interactive and useful Web Applications.

Signups closed

The Instructor

Meet the instructor

Hello, I am Flavio Copes. You may know me from my blog flaviocopes.com , my free programming ebooks on thevalleyofcode.com, or my freeCodeCamp contributions. I have been organizing this Bootcamp every year since 2020. I am 39 years old, Italian. I graduated in computer engineering from Politecnico di Milano in 2008. My passion for computers dates back to the 1980s. I have been a Linux fan since 1998, a Mac enthusiast since 2005, bought my first JavaScript book in 1998, and consider myself a professional JavaScript developer since 2012.

Just a few words to let you know I'm serious about these things.

My mission is to help you become a Web Developer.

The schedule

Each week we'll unlock a new module

Module 1

In this module we define and plan our application, understanding the problem, the architecture we'll need, the tech choices. We'll introduce and install PocketBase locally, and we'll start doing some initial data modeling for our app, creating collections.

Module 2

We'll introduce Astro, we'll create our Astro-based website, with a Git repository so we can easily track progress. We'll then create our homepage, blog, etc, for the site part. We'll use Tailwind to build a layout that is responsive and handles dark and bright mode. We'll learn how to use Astro components to compose the HTML, server side, using JavaScript imports. We'll also learn how to create dynamic routes and how to use content collections to build the product blog. Finally we'll push the site to GitHub.

Module 3

In module 3 we'll start working on the app part of our SaaS. We'll create a dashboard and we'll start fetching data from PocketBase and we'll show it in the app. We'll add a way to create a new project using a modal window. We'll introduce htmx and Alpine.js and I'll show you how to use them to perform actions and make our app dynamic. We'll let people add a task to the project, and we'll list the projects tasks.

Module 4

In module 4 we'll first add a sidebar that lists all projects, with a hamburger menu to show it on mobile too. We'll use htmx's `hx-boost` feature to make the app feel faster. Then we'll add a way to mark tasks as done, edit the project status, edit the project's name, and edit the task text. We'll also add a way to delete a project and a task. We'll add the ability to star a task, and we'll then show starred tasks coming form all projects in the dashboard.

Module 5

In module 5 we'll introduce authentication to our app. We'll protect all routes that require auth, and we'll start creating user-specific data. All projects, tasks, etc, will be associated with a user. We'll also add forms to sign up and sign in, and reset the password. We'll let people logout too. We'll add form protection using Cloudflare Turnstile.

Module 6

In module 6 we'll make it possible to upload images to a task via drag and drop, and we'll let users delete them too. We'll also take care of security across our app, talk about XSS, introduce a Content Security Policy. We'll then introduce some error handling across our requests.

Module 7

In module 7 we'll handle showing starred tasks before non-starred ones from PocketBase, we'll handle resource not found issues, we'll see how to handle htmx connection errors, we'll add some more security checks by setting htmx to only allow requests to our domain and using the correct headers and origin to prevent possible abuse.

Module 8

In module 8 we'll create teams. We'll create the teams collection in PocketBase, show a form to let people create a team, we'll show teams in the sidebar, we'll allow people to activate a team by paying the subscription on Stripe, we'll add projects to the team, list team projects, list starred team tasks, we'll also list team projects in the sidebar, and do some work on the sidebar to highlight the active project and team.

Module 9

In module 9 we'll keep working on teams. We'll add invites, we'll list team members,s we'll handle accepting/rejecting invites, we'll send emails through PocketBase, we'll handle changing a team name, subscription cancellation, we'll freeze the projects if people stop paying, and we'll add a link to manage the subscription on Stripe to update payment method. We'll also handle team deletion and clearing the data.

Module 10

In module 10 we'll create an activity page where people can see what happened in their projects, and we'll create a team dashboard where people can see what happened in their team projects at a glance. We'll add a way for people to change their username, and in the filters list we will add a way to filter by user, by team, by project. We also show tasks done today in the personal/team dashboard, we'll do some optimizations and we'll add a service worker to show a offline splash screen. We'll also allow the app to be installed as PWA.

Module 11

In module 11 we'll take care of caching and performance. We'll prevent 2 roundtrips with HX-Redirect, we'll optimize creating a project and task, we'll prevent double click of the buttons, we'll cache modals, we'll cache assets, we'll add loading spinners.

Module 12

Module 12 is about deployment. We'll deploy our app to Railway using Docker, and we'll handle all we need to go from local dev mode to production.

How the app looks like, dark and light mode
Did I say the app we'll build looks great as a PWA on a phone/tablet?

Hear what students say

“The web development bootcamp was a game changer for me. It teached me how to develop modern web applications using the best practices, I recommend it 100%!!!”

Victor Campos

“I can’t recommend enough this course for self learner developer. It gives me the bird eye view of current technology and lots of portfolio projects. But my most valuable takeaway from this course is the newbie learning community that learns together with you. For me, this course boost my confidence to apply for dev jobs, and alhamdulillah, 1 month later I got a full time job as developer.”

Ivan Zulfikar

“This course was a game changer for me. the more regimented coursework made me realize I had to grind harder if I wanted to make it. It's also teaches you a wide range of skills, vs udemy courses where you'll learn 5 skill sets maybe at most. Here you'll learn 20+ (probably more). I already feel like I've learned 20x what I could have found on my own. Thanks Flavio!”

Brad Alexander

“Flavio offers a personal feeling bootcamp course that allows you to interact with him and 50+ fellow course participants using discord and great online courses. If you can "do JavaScript" but want to go the next level I highly recommend joining where you can work at your own pace but take part with many others for support. Come increase the fun!”

Geoff Hollingworth

“I am really enjoying Flavio's course, there are so many nuggets of wisdom in there. To have such a vast range of smooth flowing and consistent Javascript learning material in one place is a pleasure- thank you Flavio!!”

Pete Roobol

“I learned the most valuable lessons in practice, theory, and execution. The bootcamp gives a well defined curriculum including projects and examples. The text based style is just exponentially great and Flavio is always there to help out!”

Farkas Attila

“Finally I found an affordable & flexible ONLINE bootcamp where I can manage my time between learning and my family. Fellow students who always help each other & with Flavio himself actively engages with what student needs help me enormously in my learning journey!”

Ayu Adiati

“This course is much more satisfying than General Assembly's JavaScript Development class. Flavio gets into the nitty gritty of how things work and why they work that way. I'm a QA Engineer at a tech startup and I'm learning a lot about the tools that my Engineering team already uses and I think it's helping me to be better at my job. I also really appreciate that you can work on this course at your own pace.”

Anna Kalil

“I just wanted to share what a great experience I am having in this bootcamp. I was so nervous to sign up for this, but after a month, I am getting to know some great people from all over who share my enthusiasm for building web apps. In a short time I have already learned a LOT. I love Tailwind CSS, and now that we are beginning the JavaScript portion of the bootcamp, I am even more excited than I was before the class started. Honestly, this has been one of the best decisions I have made. Thanks for all of your efforts to lift us up as pro developers and for giving me a break on the tuition. It is worth every penny and then some!”

Tom Phillips

“I started learning programming a couple of months before the bootcamp started, and it felt overwhelming to figure out how I should approach it. I tried using other tutorials, but the ones I found were mostly video-based and I found it hard to follow, especially since I am a beginner. However, this bootcamp is text based, and I find it much more enjoyable to be able to go back and read the material again, I feel I am absorbing the information in a different way. Also, the bootcamp has given me a good structure for learning all the topics that are necessary to become a full stack developer, which would have taken me a very long time to figure out on my own. In addition, the discord community is very friendly, and I have found lots of help and information from the chat.”

Christian Halvorsen

“I had some background in learning this programming language, but this course offered so much more insight into all things that happens behind the scenes! I fell a little bit more confident, that I will be able to prosper my future career with JavaScript.”

Gedrie

“The JS Bootcamp is an excellent resource for anybody looking to improve. I still use this course as a primary resource for gaps in JS knowledge. Highly recommend you give this course a try!”

Lamberto Asghedom

“It's great to be part of the JS Bootcamp, learning new things with the friendly Discord community. A nice thing about Flavio's course is that the theory is written in small fun blocks with some practical projects on the side so it allows you to follow it easily.”

Aurore Knapic

“Flavio's lessons get you building real things right away. The variety of projects you'll build will serve as great examples for building your own products. He uses the latest libraries, tech and tools to get you up and running in no time.”

Corey Gwin

“I've learnt a lot from Flavio's React.js, Node.js related courses, since my current job tech stack is using javascript a lot. The challenges in the end of each lesson are interesting as well. I do agree with Flavio as his courses format are not videos. So I can reference anytime I want to remind myself anything.”

Khanh Mai

“Flavio is a great developer with the humility to show his process in development; instead of showing only the perfect 'Ciak'. This translates into a real lesson where you can learn the mindset, the approach you face, the theory but you come home with much more. Becoming a programmer is hard, Flavio is teaching me a serious and profitable approach to becoming a good developer with real projects.”

Giandomenico Riceputi

“Flavio's courses are a great resource that you can reference from time-time when you get stuck. They are well-organized & follow a flow that will make understanding them easier as you go on plus you get to actually build something while learning.”

Joan Henry

“The course has been very good. I learned a lot and it got me thinking about what I have to work on and improve. I found the content and pace of the workshop excellent, I like the format. This was the first time I was involved in webinar training, and it has been a great learning experience, there are so many little things to know and learn one couldn’t possibly learn it on their own, and that’s where Flavio and the JS Bootcamp really make the difference. Also, I found it to be a very good webinar for new-comers to the web world. The information provided will prove to be very useful in practice.”

Francisco Intriago

“Hi everyone. My name is Illia, I am from Belarus, little country in the middle of the Europe. I am a second year student now. And I want to tell you about my expressions about The JS Bootcamp. It was really awesome. I found this course at the end of May and understood, that is what I really want to learn in the summer, while I was on vacation. I don’t know English very well, and this course was really good to learn it with Flavio. You should be very hardworking to finish that course, because there are a lot of new information, and you need to understand it in a little period of time. At the and or this course you can try to find work, because now you know all concepts of JS, and it is enough to be JS developer.”

Illia Laziuk

“The JS Bootcamp is in a written form and available forever which is great. You can always go back and refresh your memory, and you will since it's so full of information, tips and tricks - the curriculum is huge! I am a junior front end for about a year and a half now and yet I found so many details in the course materials that I never learned in a proper way before. Also finally learned and understood the bigger picture of frontend development, not just HTML, CSS and JavaScript but all other things that come into play like npm, webpack, babel, networking, and many other concepts that are missing from most courses I took in the past. Pair that with a very, very low price, multiple discount options, very friendly and helpful instructor Flavio and you have a great deal. Community is also just the right size, not too big, not too small, someone is always there to help you move through curriculum. Flavio also leaves no questions / requests unanswered. ”

Mirjana Tomic

“I have learnt a lot and really could expand my knowledge. One of the main things I learned: there's so much more you can do with JavaScript today compared to 12 years ago, so it is inevitable to stay up to date. This bootcamp is the right place, because you get information that starts from zero up to advanced modern topics. And the Discord chat gives you the opportunity to discuss with the other participants in order to seek for and provide help or just to chat. I can recommend the JavaScript Bootcamp to everyone who is involved in web development!”

Marco Kuprat

“You will be hard-pressed to find a more comprehensive course for full-stack web development on the Internet. Modern web development requires you to know a lot. And Flavio provides that knowledge with enough depth to keep you going when the bootcamp is over. The material is well-presented, easy to follow and actually up-to-date. You will learn what is relevant now or, more importantly, what might be essential tomorrow and not what was hot yesterday. There is so much to learn. And it will require further studies on my own. But for the first time I have the feeling that I can get somewhere with an online course, working confidently on the front- and backend, equipped with the knowledge of an up-to-date tech stack. Hence, if you want to become a full-stack JS developer I wholeheartedly recommend this bootcamp!”

Christian Schlobach

“I love Flavio's courses, and reference books also, because they are very different from other resources. It feels like you are doing some peer programming with a more experienced colleague and friend who takes great care of your understanding and rapid implementation of what is covered. It is also great if you want to ramp up rapidly on ReactJS, and discover new things like Netlify, MACH, and JAMstack. Thank you, Flavio for putting your learning materials together.”

Dominique M.

“Flavio’s Boot Camp gave me the directions, resources and knowledge on how to achieve a next level Web Development. The project based curriculum is the best way to quickly put in practice the lessons and move them to your own projects. It gives and explains all the foundations you need. And to go a step further, you will always have an active discord community that grows around the boot camp”

Miguel mvqdev

“The Bootcamp 2022 was really amazing. After a brief introduction in javascript, nextjs, react, tailwind, databases and Rest API we practiced building real projects, also deployed in production. These projects were really exciting, especially because they combine frontend and backend functionality. In combination with an online database it is now possible for us to build great projects ourselves. It is precisely this aspect that makes this course so valuable for me. I’m very motivated to continue programming and improve my skills! I am proud to be on this level now, thank you Flavio!”

Johannes Langosch

“I look forward to registering for each new course by Flavio because of the combination of clear instruction, international peers from a range of backgrounds and experiences, flexible asynchronous content and assignments, encouragement of constructive climate and the opportunity to participate in Discord cohort interactions. I first encountered Flavio's instruction through an assigned article in a class, which led me to his e-books. Flavio has an impressive ability to provide concise explanations that are complete enough to comprehensively introduce topics to beginners. His courses are a valuable extension to his writing at https://thevalleyofcode.com/”

Patrice, Information Architect

“Flavio's courses are simply fantastic!!! He breakdown all the concepts in small bites that are easy to comprehend and digest. Included in his courses are short videos, text and obviously the discord community that Flavio monitors daily and will response to your question within hours. The classes are top quality at very affordable prices. The entire curriculum is project based so I had the opportunity to learn a concept put it in use right away create a project on the cloud. I highly encourage folks to give the 5 star course a try.”

Deepak B

“I took Flavio’s bootcamp in 2021 while I was unemployed, and it is one of the best things I’ve done for my career. While at the time I felt the content was a little basic, in retrospect this is only because Flavio does such a great job of breaking down concepts. I gained so much knowledge about web technologies I was exposed to daily, but knew little about. Even things I did have some knowledge about, like deployment, were enriched through the bootcamp—now I know about other services I can use to deploy apps more quickly as well as knowledge about how to utilize webhooks to continuously deploy to servers I set up. I still use skills I learned from the bootcamp in my current job as a test automation engineer and am often teaching the skills I learned to more junior members of the team too. Thanks Flavio!”

Adam

“At the time I was unemployed, and non-able to pay for a bootcamp. Thanks to Flavio's financial help I could join a high quality bootcamp. By studying seriously his bootcamp + free material, I was able to land a job as a fullstack software developer. Flavio’s bootcamp contains the latest technology that gave a huge advantage over other candidates. Flavio is a great programmer, great teacher, but specially he has a golden heart”

Carlos

““I had the pleasure of attending the "Flavio Copes JavaScript bootcamps" educational programs in 2021, 2022, and 2023 and found them to be an incredibly valuable learning experience. The program provided clear and concise instruction on important aspects of coding and modern technology, and the practical examples and hands-on projects allowed me to apply what I was learning in real-world examples, which was incredibly valuable to my understanding and skill development.. As a mature professional, the multi-week program was flexible and allowed me to learn at my own pace, which was great for balancing my work and life schedule. Clear step-by-step approach of the program, focused on important aspects of coding and current tools and services, has made the learning process manageable and enjoyable for me. The community aspect of the program was also a major plus, as it provided a supportive and encouraging environment for learning and growth. Overall, I would highly recommend the "JavaScript bootcamp" to anyone looking to improve their skills and knowledge in the world of coding.”

Jeff – Toronto, Canada

Frequently asked questions

Who is this bootcamp for?
Too many tutorials and little action? This bootcamp is perfect for you. Web development looks complex to you? This bootcamp is perfect for you. You're a frontend dev and you want to get more fullstack/backend skills? This bootcamp is great for you. You're a backend dev and you want to get more frontend skills? This bootcamp is great for you.
What's the difference with a $10 Udemy course?
This is a different thing. It's a cohort-based course. You will have access to a community chat of students that started the course on the same day as you did. This means you have accountability and motivation. Make friends with your fellow class mates to get the most out of the bootcamp, and challenge each other! How many Udemy courses did you buy but never followed through after the first couple lessons? There's no way this bootcamp will end up like the dozens of courses you purchased but never finished.
What's the effort required?
It depends, but I estimate about 1 or 2 hours every week day. Or do 3/4 hours on weekend days. If you do more, it's better because the more time you study, the more things will "stick". But that's a start. It's not super intensive, it's a marathon, not a sprint.
I want to know the schedule
The bootcamp is not "live". You can adjust it around your school/work/life schedule. I unlock a new module every week. The only thing I ask is to stay on top of the weekly schedule, meaning I will release a new module on Tuesday, complete it by next Tuesday when a new module will unlock. Most students will follow the schedule and you'll find more activity and community support, because everyone is doing those lessons along with you. This is the best way to stay on top of the schedule and complete the bootcamp successfully.
What's the format of the lessons?
Every week to I will unlock multiple modules, each containing various lessons. Lessons are text based. Text is better to parse, to copy code snippets from, search and reference later.
Will I get a certificate at the end?
Yes. Once you finish the course, you ask me the certificate of attendance and I will issue that to you.
Do you have a refund policy?
Yes. You have a no-questions-asked 100% refund if you are not happy with the bootcamp and if you don't think you get value from it, up to 14 days after the start of the Bootcamp. This is also for subscriptions: no refunds after the first 2 weeks.
What kind of project will we create?
We'll work on a very cool project management SaaS app, complete with authentication, permissions, payments, and more. It's a real-world project that will give you a lot of experience and will be a great addition to your portfolio.
Will I have access to the course lesson at the end of the bootcamp?
Yes, they will be yours forever.
Can I follow the bootcamp at my own pace?
Yes! I do unlock 1 new module every week but there is no problem in going a bit slower. Some people have more time, some less. There's no problem, although I see more success rates in students that stay on top of the schedule.
What are the prerequisites?
I assume some basic knowledge on how the web works, HTML, CSS, some JavaScript basics. If you're not sure, you can ask me and I can help you understand if you're ready for the bootcamp.
I joined the 2020/2021/2022/2023 cohort. Is this bootcamp different? Can I join again?
Compared to previous editions, in 2024 I have rewritten 100% of the material. The bootcamp is a completely new course compared to past editions, so if you want to learn the new material, you should join again. I will have a discount for you since you joined the bootcamp in the past.
What time of day are the lessons?
The bootcamp is not "live". We'll have students from New Zealand, Nigeria, Brazil, United States, Norway, India.. all over the world! So it's impossible to find hours that work for everyone. Instead, the bootcamp is asynchronous. You pick the hours that best suit your schedule, and you connect to the students Discord chat where you'll always find people you can talk to, to discuss ideas or clarify some concepts together.
Is the training instructor led?  How does it work?
I (Flavio Copes) built the entire curriculum, lessons and projects. I will unlock access to a new lessons module each week. It's not like in school where I'll have lectures. Instead, you find the lessons on a web page and you go through each lesson on your own. The content will be text based. The particular thing about the bootcamp cohort is that you're studying privately, but you're not on your own. You'll have other students you can talk to, ask questions, help each other. All of them are doing the same things you're doing now. And I (the instructor) will be in the Discord chat as much as possible to help everyone during the bootcamp, so that no one gets left behind and we can all complete the course successfully.

Questions? Email me!





© BOOTCAMP.DEV