We’ll look at persistence, derived values, and avoiding unnecessary recomputation — without overusing effects.
If you want to build it with us, join the Playful Programming Discord at 6pm PST/9pm EST: discord.gg/FMcvc6T
We’ll look at persistence, derived values, and avoiding unnecessary recomputation — without overusing effects.
If you want to build it with us, join the Playful Programming Discord at 6pm PST/9pm EST: discord.gg/FMcvc6T
In the Web Fundamentals Bootcamp today:
We’re moving from theory to practice — fetching real data and handling it correctly in React.
Because “it works” isn’t the same as “it’s modeled well.”
If React still feels unpredictable to you, this is usually the layer that’s missing.
Join us in the Playful Programming Discord and work through it live at 6pm PST/9pm EST👉️ discord.gg/FMcvc6T
In the Web Fundamentals Bootcamp this week:
We’re tackling the part of React that causes the most confusion — effects.
Why they re-run.
Why cleanups matter.
Why StrictMode exposes mistakes.
Remote teams don’t lose culture, they require designed culture.
If alignment only works in a room, it doesn’t scale.
If it works in writing, it does.
Full breakdown by @crutchcorn.dev: playfulprogramming.com/posts/in_per...
In-person vs remote teams isn’t a preference debate. It’s a systems design decision.
In-person teams run on proximity and implicit context.
Remote teams run on documentation and async clarity.
Different constraints. Different strengths.
From static markup → data-driven UI → user interaction.
Join us at 6PM PST / 9PM EST in Discord 👉 discord.gg/FMcvc6T
Week 8, Day 2: Refactoring static UI into dynamic systems.
We’re taking a hardcoded card layout and:
– Replacing hidden elements with true conditional rendering
– Converting repeated markup into .map()
– Extending it to support user-created content
Understanding rendering changes how you write frontend code.
Frameworks don’t “just update the DOM.”
They reconcile change.
👉 Join us to learn more at 6pm PST/9pm EST: discord.gg/FMcvc6T
Week 8 of Web Fundamentals Bootcamp: We’re making HTML dynamic.
No more static markup. We’re rendering based on state.
– Conditional logic
– Rendering lists
– Keys (and why they matter)
If this part has ever felt confusing — this week is for you.
Prompting AI with better questions isn’t the real problem.
The harder part is making context repeatable, reviewable, and shareable across teams and tools.
@ladybluenotes.dev wrote about treating AI context as configuration — versioned, structured, and intentional.
Today in Playful's bootcamp: we’re working on a simple flashcard app with React.
We’ll start with a card component, add interaction to reveal answers on click, and practice with setInterval and useEffect.
For hands-on time with React join us at 6pm PST/9pm EST: discord.gg/FMcvc6T
This post is about why @ladybluenotes.dev is choosing to write, learn, and build in public, mistakes included, and how that’s shaped her growth over time.
If you’ve ever felt that same pressure, you may relate: playfulprogramming.com/posts/making...
Making mistakes in public is uncomfortable, especially in technical spaces where confidence is often performative.
But avoiding mistakes doesn’t actually make you better. It just makes learning quieter and slower.
If you want to start learning React and follow along live, join us in the discord at 6pm PST/ 9pm EST👇
discord.gg/FMcvc6T
Week 7 of the Web Fundamentals bootcamp is here and we’re starting React!
This week introduce its core ideas: components, JSX, props, state, effects at a high level, and event handling.
It’s all about understanding how React thinks and how pieces fit together as you build UI.
This post is about why she's building a home server — not to self-host everything, but to have more control over her media, data, and network.
If you’re thinking about data ownership, control, or long-term sustainability of your setup, this may resonate: playfulprogramming.com/posts/why-a-...
More services are adding ads, integrating AI by default, and making decisions about how your data is used, often without much say from you.
That shift is what pushed @ladybluenotes.dev to rethink where her data lives.
Async JavaScript Office Hours — Thursday.
Practice fetching data, updating the DOM, handling failures, and managing loading/error states live.
If async JS breaks when things go wrong, this is for you.
Join today's class at 6pm PST/ 9pm EST: discord.gg/FMcvc6T
This post by @alem.forge42.dev looks at what onboarding means in the age of AI, and what teams need to rethink if they want people to ramp up effectively:
playfulprogramming.com/posts/onboar...
Onboarding is changing — and AI is accelerating the shift.
New hires now arrive with AI tools, different expectations, and less patience for outdated onboarding flows. This creates real pressure on documentation, team practices, and how knowledge is actually transferred.
Today we’re covering how async JavaScript works in the browser — from Promises and fetch to error handling, status codes, and loading states.
If you want a stronger mental model for real-world frontend behavior, this is a great time to join the today's class at 6pm PST/ 9pm EST: discord.gg/FMcvc6T
Excited to have @fly.io as a sponsor of Playful Programming.
We recently migrated to a more robust deployment infrastructure with our containers powered by Fly; couldn't be happier with our decision.
Thank you for supporting educational programming content!
Want to learn more about this merger?
Our executive director ( @crutchcorn.dev ) has more details outlined in our announcement post below:
playfulprogramming.com/posts/pfp-th...
"This brings our article count to 820+"
With new content from "This is Learning", we now have 820 articles live on our site today!
We just checked — that's 1,400,000+ words 😱
That's a lot of posts to learn programming from!
Two unicorn hooves high-fiving with "Playful Programming hearts This is Learning" text above it
It's official, "This is Learning" and @playfulprogramming.com are combining forces!
We're elated to have them joining our ranks as we continue to grow.
Our joint goal remains the same as it always was: Foster an open community aimed squarely at teaching software engineering.
If you want hands-on help and time to work through these patterns live, join us for office hours.
discord.gg/FMcvc6T
Web Fundamentals Bootcamp — Office Hours Today at 6pm PST/9pm EST
This is where the DOM concepts click.
We’re practicing real browser interactions, from simple click handlers to scoped DOM queries.
A unicorn with a bowtie representing Playful Programming with a heart and the CodeRabbit logo
We're excited to announce that @coderabbitai.bsky.social is a new sponsor of Playful Programming.
We're looking forward to leveraging it to accelerate our development — Not joking here: We enabled it on our repo and it immediately caught a mistake in a PR.
Thank you once again to their team!
Before frameworks, there’s the browser.
In today’s Web Fundamentals Bootcamp, we’re building interactivity from first principles:
DOM APIs, attributes, element creation, and event listeners.
Join us for today's class at 6pm PST/ 9pm EST: discord.gg/FMcvc6T