Internal LMS info
OK. Sometimes, we need to have a ChatGPT discussion, and there are some things it needs to know for context, and we’re sick of writing them out or updating a PDF. So, we’re going to write some of those things here. And you can see it too, right!? 🙂
What is this custom LMS made up of? What are the content types?
When we started building out the materials for PE, we chose WordPress. Besides the core framework, it’s all custom. Of course, we could build a 100% custom system, but it’s been working out really well. We also wanted everyone to be able to contribute and use this as a way to learn more about CMSs and contribute to the code as a team. So, how have things shaken out? We’ll try and keep this organized in order of usefulness.
-
Boring stuff
We’re not going to get into post-types like “media” – and we’re going to call them “custom-content-types” to be more universal.
-
Programs
Programs are like the overarching journeys we guide people through. They can be made up of a unique mix of our workshops, exercises, and projects, but the key is that they provide a broader structure. Programs aren’t rigid—each one can take different forms, depending on the individual or group’s goals and pace.
-
Workshops
These are what drive most of the exploration. Think of them as daily, hands-on sessions that dive deep into a specific topic or concept. Workshops are where people actively explore design, development, or problem-solving challenges in real time. They’re less about passive learning and more about active, meaningful work.
-
Exercises
Exercises are action prompts sprinkled throughout workshops to help you apply what you’re exploring. Whether it’s a coding challenge, design task, or reflective writing prompt, exercises push you to engage deeply with concepts. They’re designed to span across disciplines—code, design, writing—so there’s something for everyone. Plus, they’re great to revisit later as you grow.
-
Key Concepts
Key Concepts are our internal glossary—a dynamic reference of terms, ideas, and principles that get revealed as you move through different workshops. Instead of dumping a bunch of theory on you upfront, concepts come into play as needed, giving just-in-time context. Think of them as your personal dictionary, growing alongside your exploration.
-
Projects
Projects offer a bit more formal structure, helping those who might not have their own ideas yet. They serve as clear examples of how to apply what you’ve explored, outlining specific milestones to help guide your progress. These aren’t prescriptive, though—you’re encouraged to put your own spin on things.
-
Code Examples
Rather than being mini-solutions, our Code Examples sit within workshops to demonstrate concepts in action. They break down core principles mid-page to help you grasp the practical application without jumping too far ahead. It’s code with a purpose, meant to illuminate the path, not solve the whole thing.
-
Language features (features)
Features refer to coding language features—our internal, MDN-style documentation that catalogues all the code concepts explored in a given program or seminar. These are invaluable for revisiting and reviewing code fundamentals, and they grow as the program evolves. Features provide a solid base for technical review.
-
Techniques
Techniques capture design tricks or universal coding principles that stand the test of time. They’re sharable, bite-sized insights into how we approach things, whether it’s a clever layout trick or a coding method we love. We aim to make these digestible and timeless, much like a curated collection on CSS-Tricks, but also including visual design and other creative fields.
-
Resources
Resources are where we collect and store long-lived guides, articles, and other references. These are things we’ve designed internally and are there for whenever you need them. They’re mostly public-facing, but we might keep a few more internal. Resources aren’t part of workshops directly but can be referenced in multiple places when they fit.
-
Stories
Our Stories go beyond typical documentation. Sometimes they explore the history of web development or reflect on real-world problem-solving in action. Derek often works through issues, and we document the messy reality of design and development in these narratives. They’re less polished, more human.
-
Gems
Gems are the things we find in the world that we want to hang onto—a book, a podcast episode, an article, or a video. They’re little nuggets of wisdom from other people that we think are worth revisiting. Gems allow us to place great content in the right spots throughout the platform, reminding users to check them out at the perfect moment.
-
Settings
Settings are all about the critical OS and application preferences we recommend. If you’re setting up a new computer or app, our settings help you get it right, explaining why certain configurations matter and how they impact your workflow.
-
Shortcuts
Shortcuts are the key commands we consider essential for efficiency. We want everyone using them, so we’ve collected and curated them to make sure you can hit the ground running—no hunting around for the basics.
-
FAQs
These are the go-to for answering common questions. FAQs help people get up to speed quickly and serve an important SEO role as well. They make it easy for visitors and search engines alike to find what they’re looking for. These also used to be used on the home page when we first started (with some videos) – and so there are some probably outdated CMS things from then.
-
Blog (posts)
While we’re still figuring out what exactly our blog will be, it’s where we dive into thought pieces on philosophy-and-purpose, tips-and-guidance, reflections-analogies, rethinking-design, and visual-design. These categories help us organize our thoughts and guide our readers through the bigger picture behind what we do. We’re thinking we’ll just have the link say “Why?”
-
Teams
Teams are how we group people who are exploring the same workshops or programs at the same time. It’s about building community and providing group coaching, making sure no one feels like they’re exploring alone.
-
Quotes
These are just little nuggets of wisdom we scatter throughout the platform—thought-provoking lines from industry leaders or internal insights that we want to keep front and center for inspiration.
-
People
Originally, we thought about spotlighting influential figures in the industry, but we decided it was too much work and kind of biased. However, we’ll still acknowledge historical figures like Jeffrey Zeldman and link to their work when relevant. Maybe one day, this will make more sense for us to invest in.
-
Applications
These are all the tools and apps we recommend. Whether it’s for design, development, or productivity, our Applications section is where you’ll find the trusted software we use and love.
-
Study hall
Study Hall isn’t its own content type—it’s a set of repeater fields on each workshop page. It’s meant to help people recap and dive deeper by pulling in content like Key Concepts, Features, Shortcuts, and Exercises. Everything gets organized in one place for easy review after a workshop. Honestly, it probably should be its own content type, but it’s a lot of work to write everything and then go back and connect them. Plus, they’re really tied to each individual workshop anyway.
-
Units
We’re not using Units anymore. Instead, we’re just categorizing the workshops. In theory, there could be groups of workshops that function like a seminar, but since we manually organize series using an array of workshop IDs, we haven’t had a reason (or an interface) to formally group them into units. We’re not that rigidly structured, and we don’t follow the predetermined paths you’d find in a typical school or boot camp.
-
Topics
Topics are used on our homepage to explain what we explore. They’re the broad themes and subjects that weave through all our programs and workshops.
-
None
None is just a fallback for those times when we’re forced to choose a category but don’t want to. It’s basically our way of opting out when a choice doesn’t quite fit. There’s probably a better solution, but we haven’t really dug into the underlying reason why we end up in that spot sometimes.
-
Entries
We’re not really sure what Entries are anymore. They’ve floated around as a possible content type, but we haven’t really committed to a use for them. Maybe this was going to be the new “blog,” and these would be “log entries?”
-
Updates
Updates were originally meant for investors, but since we didn’t go that route, we’re not using them. It could, however, be a good place to announce new features and key changes to the platform.