Blog
Read our thoughts on all things digital product strategy, user experience, design, engineering, and innovation.
![A soccer ball hitting the back of a goal netting](https://assets.dockyard.com/dockyard_com/goal-driven-scrum-part-1-54d406a1-13e4-4507-aff6-c0c0acc7d59b-large.webp)
Pattern Matching in List Comprehension Generators as a Filter
![Ryan Winchester](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-09.png)
Ryan Winchester
![Two doors with a red and white chevron pattern and a decorative iron bar across the center of each door](https://assets.dockyard.com/dockyard_com/pattern-matching-list-comprehension-36e5e04d-2a06-4f96-83ab-dd2bde976013-large.webp)
Self-Healing LiveViews: Fun with LLMs and the BEAM
![Sean Moriarity](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-10.png)
Sean Moriarity
![A stethoscope sitting on a desk with a laptop in the background](https://assets.dockyard.com/dockyard_com/self-healing-code-final-c92c3182-7043-4728-b3a5-363821f1c655-large.webp)
Efficient Product Development: How to Use a Parking Lot
![Peter Reynolds](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-04.png)
Peter Reynolds
![An overhead shot of a parking lot with cars spaced throughout it](https://assets.dockyard.com/dockyard_com/how-to-use-parking-lot-67b11a05-e673-44bc-a2ce-d648271fe25e-large.webp)
Choosing the Right In-memory Storage Solution (Part 2)
![Andrew Berrien](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-04.png)
Andrew Berrien
![A data center](https://assets.dockyard.com/dockyard_com/in-memory-storage-part-2-80643cb5-418c-465c-b16b-66cd4878b5bf-large.webp)
Choosing the Right In-Memory Storage Solution (Part 1)
![Andrew Berrien](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-04.png)
Andrew Berrien
![A cart with cardboard boxes on it in front of a series of bright green doors to storage units](https://assets.dockyard.com/dockyard_com/in-memory-storage-part-1-1187f8ea-5511-4cf8-92e0-c447ab72695c-large.webp)
![Red, glowing lines against a black background that resemble neurons and axons](https://assets.dockyard.com/dockyard_com/axon-training-improvements-883816bc-46f1-40fa-88ce-b65e370a685f-large.webp)
Improve Your Test Automation with Cypress
![Swathi Maanyam](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-09.png)
Swathi Maanyam
![A road leading up to a large house in Tuscany with cypress trees lining each side of the road](https://assets.dockyard.com/dockyard_com/test-automation-cypress-4ae9b067-1cf0-4e80-b1a4-6836136492ae-large.webp)
A Better Solution for Waiting for Async Tasks in Tests
![Ryan Winchester](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-09.png)
Ryan Winchester
![A row of white chairs in front of a gray wall beneath a gray clock with black and red hands](https://assets.dockyard.com/dockyard_com/waiting-async-task-tests-def40c52-2d07-429a-b24e-0306f53de687-large.webp)
![An overhead shot of wireframes and a pen](https://assets.dockyard.com/dockyard_com/startups-deserve-design-1-3d60f942-a706-48c1-9227-f20e529afd25-large.webp)
The Organized Self-Organized Team: A Panel Discussion on How Trust and Empowerment Build Quality Products
![Peter Reynolds](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-04.png)
Peter Reynolds
![Small, person-shaped wood figures in a circle, with red lines connecting some figures to each other across the circle](https://assets.dockyard.com/dockyard_com/self-organized-team-a4b8202f-a1c7-4ca7-87b6-84c00cc14252-large.webp)
Creating an Accessible Toggle Switch in Tailwind CSS
![Kyndrea Martinez](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-02.png)
Kyndrea Martinez
![A row of switches with "on" above each switch and "off" below each switch. Some switches are in the "on"position and others are "off"](https://assets.dockyard.com/dockyard_com/tailwind-group-helper-class-442e17ae-e281-4e45-810e-8b97421e2eef-large.webp)
Debugging Elixir NIFs with LLDB
![Paulo Valente](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-05.png)
Paulo Valente
![A silver wrench tightening a nut along the length of a sliver screw](https://assets.dockyard.com/dockyard_com/debugging-elixir-nifs-lldb-a3498ff8-2a08-4608-93e3-f3d6e4628314-large.webp)
![A pair of brass scales against a dark background](https://assets.dockyard.com/dockyard_com/myfitnesspal-build-balanced-products-1-7b5aaea7-555e-47bb-b8ce-edd1e6fc2fcc-large.webp)
![A staircase leading up past bookshelves lining the walls of multiple floors](https://assets.dockyard.com/dockyard_com/retrieval-augmented-generation-8784d98c-a68c-4cb8-994a-3e008f6a2d0c-large.webp)
How to Create a Custom Broadway Producer Using GenStage
![Matthew Erhard](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-04.png)
Matthew Erhard
![An image of a street sign that reads "Broadway"](https://assets.dockyard.com/dockyard_com/broadway-genstage-609c67d8-c083-4e23-abc7-851a2b03a947-large.webp)
How to Serve Multiple Domains in a Single Phoenix App
![Alexandre Moreira Xavier](https://s3.amazonaws.com/dockyard-com-production/images/team-monster-06.png)
Alexandre Moreira Xavier
![Multiple buds in a line coming off a single tree branch](https://assets.dockyard.com/dockyard_com/multiple-domains-phoenix-21e5e12d-9353-4682-addc-6f50fec8cbf2-large.webp)
![An angled view of a classic car dashboard](https://assets.dockyard.com/dockyard_com/phoenix-livedashboard-pagebuilder-832e4e42-537e-4a9d-aa47-112deb470042-large.webp)