56,966 blogs · [ { "id": "01a087ed-c425-7236-b718-6c611a6ea0b4", "title": "The 2025 Retrospective", "url": "https://theodorusclarence.com/blog/2025-retrospective", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a087ed-c425-7236-b718-6c611ad9af84", "title": "The 2024 Retrospective", "url": "https://theodorusclarence.com/blog/2024-retrospective", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee8380cc8d", "title": "List Animation using Motion for React", "url": "https://theodorusclarence.com/blog/list-animation", "published_at": "2024-12-17T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee826b6c15", "title": "Nesting a Button Inside a Link", "url": "https://theodorusclarence.com/blog/nesting-button-inside-link", "published_at": "2024-09-28T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee83ca271c", "title": "Gradient Border is Unexpectedly Hard", "url": "https://theodorusclarence.com/blog/gradient-border-is-hard", "published_at": "2024-07-14T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee83ebc53a", "title": "How to Create Fully Reusable React Components", "url": "https://theodorusclarence.com/blog/fully-reusable-components", "published_at": "2024-04-21T00:00:00+00:00" }, { "id": "01a087ed-c425-7236-b718-6c6119c142b1", "title": "Advanced React Patterns", "url": "https://theodorusclarence.com/blog/advanced-react-patterns", "published_at": "2024-03-03T00:00:00+00:00" }, { "id": "01a087ed-c425-7236-b718-6c611ba5418e", "title": "The 2023 Retrospective", "url": "https://theodorusclarence.com/blog/2023-retrospective", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7ca28d93", "title": "A look at React hydration and pre-rendered HTML", "url": "https://theodorusclarence.com/blog/react-hydration", "published_at": "2023-12-06T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee80e0bf53", "title": "Understanding Next.js Data Fetching (CSR, SSR, SSG, ISR)", "url": "https://theodorusclarence.com/blog/nextjs-fetch-method", "published_at": "2023-07-20T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee80f8c798", "title": "The biggest Next.js boilerplates of 2023", "url": "https://theodorusclarence.com/blog/nextjs-boilerplate-2023", "published_at": "2023-04-10T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee81812330", "title": "Next.js Authentication using Higher-Order Components", "url": "https://theodorusclarence.com/blog/nextjs-auth-hoc", "published_at": "2023-03-10T00:00:00+00:00" }, { "id": "01a087ed-c425-7236-b718-6c611bad2c4f", "title": "The 2022 Retrospective", "url": "https://theodorusclarence.com/blog/2022-retrospective", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7d971bf2", "title": "React Core Concept II: useEffect", "url": "https://theodorusclarence.com/blog/react-core-concept-useeffect", "published_at": "2022-11-02T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7a007495", "title": "Understanding Swift's Value and Reference Types", "url": "https://theodorusclarence.com/blog/swift-value-reference", "published_at": "2022-05-10T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7b4d7853", "title": "7 Form Components For React Hook Form I Always Use", "url": "https://theodorusclarence.com/blog/rhf", "published_at": "2022-04-02T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7f7bfbd4", "title": "How to set up Storybook with Next.js and Tailwind CSS", "url": "https://theodorusclarence.com/blog/nextjs-storybook-tailwind", "published_at": "2022-01-13T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee790080a6", "title": "Styling Best Practices I Use With Tailwind CSS", "url": "https://theodorusclarence.com/blog/tailwindcss-best-practice", "published_at": "2022-01-12T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7ec6f569", "title": "One-stop Starter to Maximize Efficiency on Next.js & Tailwind CSS Projects", "url": "https://theodorusclarence.com/blog/one-stop-starter", "published_at": "2022-01-05T00:00:00+00:00" }, { "id": "01a087ed-c425-7236-b718-6c611c1d7ab6", "title": "The 2021 Retrospective", "url": "https://theodorusclarence.com/blog/2021-retrospective", "published_at": "2021-12-31T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7dd1360d", "title": "React Core Concept I: Rendering & useState", "url": "https://theodorusclarence.com/blog/react-core-concept-rendering-state", "published_at": "2021-11-29T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7bd3ca69", "title": "React Loading State Pattern using Toast & SWR", "url": "https://theodorusclarence.com/blog/react-loading-state-pattern", "published_at": "2021-11-13T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7aaddb7e", "title": "How to show Now Playing in Spotify with Next.js", "url": "https://theodorusclarence.com/blog/spotify-now-playing", "published_at": "2021-11-12T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee80b0e18e", "title": "How to choose between Next.js CSR, SSR, SSG, and ISR", "url": "https://theodorusclarence.com/blog/nextjs-fetch-usecase", "published_at": "2021-11-12T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee82faa20a", "title": "Mindfully Commit with a Descriptive Message", "url": "https://theodorusclarence.com/blog/mindful-commit-message", "published_at": "2021-09-18T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee865ac155", "title": "Back To Basic: Mental Model to Understand Flexbox", "url": "https://theodorusclarence.com/blog/btb-flex-mental-model", "published_at": "2021-07-19T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7fddb8d4", "title": "Next.js Redirect Without Flashing Content", "url": "https://theodorusclarence.com/blog/nextjs-redirect-no-flashing", "published_at": "2021-05-18T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee78488cc1", "title": "Looking at Vite, A Build Tool Faster than Create React App", "url": "https://theodorusclarence.com/blog/vite-cra", "published_at": "2021-05-02T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee82b3a18b", "title": "Curated List of Browser Extension I Personally Use", "url": "https://theodorusclarence.com/blog/my-addons", "published_at": "2021-04-24T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee857cb780", "title": "Back to Basic: Should we use Rem, Em or Pixel?", "url": "https://theodorusclarence.com/blog/btb-rem-em", "published_at": "2021-03-11T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee84ad0bfd", "title": "Back to Basic: UI Design Fundamental", "url": "https://theodorusclarence.com/blog/btb-ui-fundamental", "published_at": "2021-02-04T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee86290443", "title": "Back to Basic: Flexbox or Grid?", "url": "https://theodorusclarence.com/blog/btb-flexbox-grid", "published_at": "2021-01-29T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee78198585", "title": "Learning Web Development from YouTube", "url": "https://theodorusclarence.com/blog/youtube-list", "published_at": "2021-01-20T00:00:00+00:00" }, { "id": "01a087ed-c424-703f-8979-b6ee7f11827c", "title": "Create React App vs Next.js", "url": "https://theodorusclarence.com/blog/nextjs-vs-cra", "published_at": "2021-01-19T00:00:00+00:00" } ] posts Claim your blog
Back to theodorusclarence.com
Blog · corpus.blog/blogs/theodorusclarence.com/posts

theodorusclarence.com

theodorusclarence.com

2025

2024

2023

2022

2021