©

Coded With Love

By Angus

Hu

Learning in Public

Learning
July 28, 2025• 4 min read
Photo

Explanation

What is learning in Public?

Learning in public is the process of sharing your growth openly through documentation. It’s about the ups and downs, the successes and failures that come with learning. By engaging with learning in this way - you make more active contributions within the community and position yourself as an engaged participant rather than just a passive consumer.

The core of principle of learning in public is transforming “learning exhaust” - messy, raw and unpolished material created in the process of learning - into something that is meaningful and collaborative. This culminates in the creation of learning resources that allow me to connect with others and learn from feedback.

Through this process of documentation and iteration whilst learning - the aim is to not only deepen my own understanding of a subject - but to also offer others insight into my growth as a designer. In a way - each post is part of a digital archive of my design journey. It is a commitment to creating an evolving body of work from which I can reflect and evolve.

Implementation

What is the purpose of this blog?

I aim to use this platform as a means of sharing my design journey - all that encompasses learning, exploration and growth. Content will be organised into categories - complete with a checklist to track my progress. The goal is to work through each item at my own pace, knowing that shifting priorities and emerging interests may cause some topics to move faster than others.

How and what I plan to share?

I have identified different formats through which I can share what I learn:

FormatDescription
Learning ChallengesI take on challenges that will help me mastering a new skill or concept within a specific timeframe. I share regular updates to stay accountable and hopefully inspire others who might want to take on similar challenges.
Content CurationI gather useful content from multiple sources, summarise it, and add my perspective. I like to organise it in a way that makes it more valuable to others, like creating resource roundups, tool comparisons, or trend analyses.
Project UpdatesI share brief, periodic updates on my learning journey. These aren’t deep reflections, just quick snapshots of where I’m at, small wins, and progress I’ve made.
MilestonesAt key moments, such as the end of a year or a big project, I write a reflective post that highlights what I’ve learned, what I’ve accomplished, and where I plan to go next. It helps me track long-term growth and assess my progress.
Concept BreakdownsWhen I come across complex topics or ideas that resonate with me, I break them down into digestible pieces and reframe them in my own words.I’lI try to explain it in simple terms while adding my personal take or insights.

My List

Here's the list of what I'm currently focused on learning including what I've already learned in the last few months:

Threejs

Focus: Master 3D web development using Three.js for another layer of digital storytelling

  • Complete Bruno Simon’s Learn Three.js course: Finish the course to gain a solid understanding of Three.js basics and advanced techniques.
  • Building Projects: Apply everything to real-world projects.

Web motion

Focus: Master animation tools and techniques for creating smooth, engaging web animations.

  • The Basics of Web Animation: Understand the fundamentals of animation on the web.
  • JavaScript-Driven Animation: Gain control over animations using JS libraries.
  • Motion in React: Use declarative animations in a modern frontend stack.
  • SVG, Canvas, and 3D Motion: Explore motion in non-DOM environments.
  • Scroll & Storytelling Experiences: Create immersive, narrative-driven sites.
  • Polish, Performance & Accessibility: Make your animations fast, smooth, and inclusive.

Shaders

Focus: Learning GLSL and creative shader programming for the web.

  • Shaders 101: Learn what shaders are and how they work under the hood.
  • GLSL Fundamentals: Getting comfortable wth core language syntax and patterns
  • Pattern Noise & Distortion: Build generative and organic visual effects.
  • Lighting & PBR: Understand light interaction in shaders.
  • Shader Art & Effects: Create beautiful, real-time, interactive visuals.
  • Integrating Shaders in Real Projects: Use shaders in web or creative projects..

Acknowledgements

This project is heavily inspired by @swyx's idea of learning in public. Additionally Maxine Heckels blog post about the topic was also of key importance as a foundational source of inspiration and information. Her blog post also dives into the idea and draws from @swyx's own post, Learn In Public: The Fastest Way to Learn.