56,966 blogs · [ { "id": "01a0875e-4ddf-72bc-aa7a-020f5a6fb99f", "title": "System Fonts are Good for Accessibility, Like Really", "url": "https://charliewil.co/n/accessible-typography/", "published_at": "2025-06-13T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5ac3c39a", "title": "On Testing", "url": "https://charliewil.co/n/testing/", "published_at": "2025-05-24T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5b244456", "title": "Notes on Agentic Coding", "url": "https://charliewil.co/n/agentic-coding/", "published_at": "2025-05-22T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5bc59b9f", "title": "Up in the Air", "url": "https://charliewil.co/n/up-in-the-air/", "published_at": "2024-02-02T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5c53ae26", "title": "Cis is Not a Slur", "url": "https://charliewil.co/n/cis/", "published_at": "2023-07-10T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5cfc22eb", "title": "The Result Type", "url": "https://charliewil.co/writing/the-result-type/", "published_at": "2023-01-25T08:15:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5d8a2e1e", "title": "Debouncing Explained", "url": "https://charliewil.co/writing/debouncing/", "published_at": "2023-01-23T08:15:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5d9ae1b4", "title": "Throttling Explained", "url": "https://charliewil.co/writing/throttling/", "published_at": "2023-01-23T08:15:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5dfb4c72", "title": "Crafting Routines", "url": "https://charliewil.co/n/crafting-routines/", "published_at": "2022-06-28T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5e2f9cf8", "title": "Tesler and Complexity", "url": "https://charliewil.co/n/teslers-law/", "published_at": "2022-06-01T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5eadf76a", "title": "How to Be Productive in a World on Fire", "url": "https://charliewil.co/n/world-on-fire/", "published_at": "2022-06-01T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5f811a0f", "title": "Reviewing Pull Requests Like a Human", "url": "https://charliewil.co/writing/pull-requests/", "published_at": "2021-10-20T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f5fa4856e", "title": "Modern TypeScript Packages", "url": "https://charliewil.co/writing/esm-typescript-projects/", "published_at": "2021-09-20T00:00:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f600b116c", "title": "Wait, I Thought I Knew That", "url": "https://charliewil.co/writing/wait-i-thought-i-knew-that/", "published_at": "2021-03-19T13:34:00+00:00" }, { "id": "01a0875e-4ddf-72bc-aa7a-020f60c5caee", "title": "The Basic Concepts", "url": "https://charliewil.co/writing/basic-concepts/", "published_at": "2021-01-22T08:15:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e1dbe8aa", "title": "Why Type Safety", "url": "https://charliewil.co/writing/why-type-safety/", "published_at": "2021-01-05T08:15:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e1f4341e", "title": "Twenty Twenty", "url": "https://charliewil.co/writing/twenty-twenty/", "published_at": "2021-01-04T09:03:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e21e2ace", "title": "Transitions", "url": "https://charliewil.co/writing/transitions/", "published_at": "2020-09-05T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e2240313", "title": "Call vs Apply", "url": "https://charliewil.co/writing/call-vs-apply/", "published_at": "2020-05-25T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e256f4ec", "title": "Typed Reducer", "url": "https://charliewil.co/writing/typed-reducer/", "published_at": "2020-05-14T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e2b6d7ea", "title": "Maps & Sets", "url": "https://charliewil.co/writing/maps-sets/", "published_at": "2020-03-21T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e35541a3", "title": "Twenty Nineteen", "url": "https://charliewil.co/writing/twenty-nineteen/", "published_at": "2020-01-03T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e4524f75", "title": "Hooks & TypeScript", "url": "https://charliewil.co/writing/hooks-typescript/", "published_at": "2019-12-28T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e4cb28ad", "title": "On Reading Books", "url": "https://charliewil.co/writing/on-reading-books/", "published_at": "2019-12-28T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e4e8161f", "title": "Formik & React Testing Library and Screaming at a Computer for an Hour", "url": "https://charliewil.co/writing/formik-and-react-testing-library/", "published_at": "2019-12-16T01:37:38+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e58c3cbd", "title": "Self-Care Primer", "url": "https://charliewil.co/writing/self-care/", "published_at": "2019-11-13T00:01:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e658d9cf", "title": "Perfect Cup of Tea", "url": "https://charliewil.co/writing/perfect-cup-tea/", "published_at": "2019-11-04T00:01:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e6f5ca1e", "title": "Urgency vs. Importance", "url": "https://charliewil.co/writing/urgency-importance/", "published_at": "2019-10-12T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e7caa94f", "title": "Technical Interviews, Explained", "url": "https://charliewil.co/writing/technical-interviews-explained/", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e7eec3d0", "title": "Dark Mode for Actual Users", "url": "https://charliewil.co/writing/user-focused-dark-mode/", "published_at": "2019-06-26T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e8eb90b7", "title": "Weeknotes No. 3", "url": "https://charliewil.co/writing/weeknotes-3/", "published_at": "2019-06-26T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23e9e11349", "title": "Weeknotes No. 2", "url": "https://charliewil.co/writing/weeknotes-2/", "published_at": "2019-06-02T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23eaa1d844", "title": "Weeknotes No. 1", "url": "https://charliewil.co/writing/weeknotes-1/", "published_at": "2019-05-26T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23eb952005", "title": "Going Serverless", "url": "https://charliewil.co/writing/going-serverless/", "published_at": "2019-02-12T00:01:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ebd9dd4c", "title": "Quitting Caffeine", "url": "https://charliewil.co/writing/caffeine/", "published_at": "2018-12-21T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ec3aa4e4", "title": "React Hooks and Suspense", "url": "https://charliewil.co/n/react-hooks-and-suspense/", "published_at": "2018-12-04T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ec5823d3", "title": "Server-side React", "url": "https://charliewil.co/writing/server-side-react/", "published_at": "2018-11-20T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ed2477ac", "title": "Exponents", "url": "https://charliewil.co/writing/exponents/", "published_at": "2018-10-28T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ee118278", "title": "Small Updates", "url": "https://charliewil.co/writing/small-updates/", "published_at": "2018-10-10T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23ef0374d2", "title": "I Just Can't with CSS Anymore", "url": "https://charliewil.co/writing/i-just-cant-with-css/", "published_at": "2018-08-08T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23efad3eaf", "title": "A Defense of Frameworks", "url": "https://charliewil.co/writing/a-defense-of-frameworks/", "published_at": "2018-06-29T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23efced297", "title": "Sanitizing JavaScript Objects", "url": "https://charliewil.co/n/sanitize-js-objects/", "published_at": "2018-06-18T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23eff4e436", "title": "Bi Design", "url": "https://charliewil.co/writing/bi-design/", "published_at": "2018-01-17T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23eff55037", "title": "Function as Child", "url": "https://charliewil.co/writing/function-as-child/", "published_at": "2018-01-15T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f0e68462", "title": "Kill Your IDE", "url": "https://charliewil.co/writing/kill-your-ide/", "published_at": "2018-01-04T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f1dcc8ee", "title": "In the Mouth of the Beast", "url": "https://charliewil.co/writing/in-the-mouth-of-the-beast/", "published_at": "2017-12-31T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f270473d", "title": "Mocking Data Quickly", "url": "https://charliewil.co/writing/mocking-data-quickly/", "published_at": "2017-11-29T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f2b87f38", "title": "Your Life in Programming Languages", "url": "https://charliewil.co/writing/programming-languages/", "published_at": "2017-10-08T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f36477f5", "title": "Building a React Component Library", "url": "https://charliewil.co/writing/building-react-component-lib/", "published_at": "2017-10-07T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f45d8a9f", "title": "Current Tools & Toolchains", "url": "https://charliewil.co/writing/toolchain/", "published_at": "2017-10-03T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f4de8c81", "title": "Testing UI", "url": "https://charliewil.co/writing/testing-ui/", "published_at": "2017-09-29T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f5b13a0b", "title": "Pair Prototyping", "url": "https://charliewil.co/writing/pair-prototyping/", "published_at": "2017-09-13T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f5c5a37e", "title": "Centaurs", "url": "https://charliewil.co/writing/centaurs/", "published_at": "2017-06-17T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f62e2cad", "title": "CSS Variables", "url": "https://charliewil.co/writing/variables/", "published_at": "2016-09-09T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f6b873d7", "title": "Writing Sass Today", "url": "https://charliewil.co/writing/writing-sass-today/", "published_at": "2016-06-13T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f79016a8", "title": "Friction", "url": "https://charliewil.co/writing/friction/", "published_at": "2016-04-27T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f807b8e7", "title": "2 Months of Wearables", "url": "https://charliewil.co/writing/2-months-of-wearables/", "published_at": "2015-12-07T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f86a88c0", "title": "Fucking Pomegranates", "url": "https://charliewil.co/writing/pomegrantes/", "published_at": "2015-11-29T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23f966880f", "title": "Red Flags", "url": "https://charliewil.co/writing/red-flags/", "published_at": "2014-10-09T14:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fa3edd18", "title": "Responsive Typography", "url": "https://charliewil.co/writing/responsive-typography/", "published_at": "2014-10-08T14:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fad14c06", "title": "I Have Never Used This & That's OK", "url": "https://charliewil.co/writing/i-have-never-used-this/", "published_at": "2014-09-26T14:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fb74a617", "title": "The Value of Design", "url": "https://charliewil.co/writing/value-of-design/", "published_at": "2014-08-14T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fc00b2d3", "title": "Moments", "url": "https://charliewil.co/writing/moments/", "published_at": "2014-08-12T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fc46d56a", "title": "Me Learning JavaScript", "url": "https://charliewil.co/writing/me-learning-javascript/", "published_at": "2014-07-30T04:11:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fcb4e238", "title": "The Scarecrow Equation", "url": "https://charliewil.co/writing/scarecrow-equation/", "published_at": "2014-07-14T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fcd0263b", "title": "Gruntin' Along", "url": "https://charliewil.co/writing/grunting-along/", "published_at": "2014-05-27T16:30:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fd3b76f6", "title": "Defining Responsive Web Design", "url": "https://charliewil.co/writing/defining-responsive-web-design/", "published_at": "2014-05-23T10:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fde28cc9", "title": "Simple CSS Transitions", "url": "https://charliewil.co/writing/simple-css-transitions/", "published_at": "2014-05-19T13:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23feb3e749", "title": "On the Day Robots Came Alive", "url": "https://charliewil.co/writing/the-day-robots-came-alive/", "published_at": "2014-05-19T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fee4b6fc", "title": "Work/Life Balance", "url": "https://charliewil.co/writing/work-life-balance/", "published_at": "2014-02-12T14:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fef73681", "title": "A Guide to Web Typography", "url": "https://charliewil.co/writing/guide-web-typography/", "published_at": "2014-01-29T00:00:00+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b23fff29e0b", "title": "Specific Solutions", "url": "https://charliewil.co/writing/specific-solutions/", "published_at": "2014-01-14T14:03:43+00:00" }, { "id": "01a0875e-4de0-7277-8010-0b240062b8ca", "title": "Twenty Thirteen", "url": "https://charliewil.co/writing/twenty-thirteen/", "published_at": "2014-01-03T00:00:00+00:00" } ] posts Claim your blog
Back to charliewil.co
Blog · corpus.blog/blogs/charliewil.co/posts

charliewil.co

charliewil.co

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014