{"id":3239,"url":"https://github.com/rduraj/awesome-functional-frontend","name":"awesome-functional-frontend","description":"A curated list of awesome libraries, approaches, solutions which make your frontend more functional.","projects_count":32,"last_synced_at":"2026-09-20T05:00:19.104Z","repository":{"id":123174466,"uuid":"483548693","full_name":"rduraj/awesome-functional-frontend","owner":"rduraj","description":"A curated list of awesome libraries, approaches, solutions which make your frontend more functional.","archived":false,"fork":false,"pushed_at":"2022-04-21T06:39:34.000Z","size":16,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-31T10:18:17.181Z","etag":null,"topics":["awesome","frontend","functional-programing","javascript","typescript","web-development"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rduraj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-20T07:19:32.000Z","updated_at":"2025-04-22T13:45:46.000Z","dependencies_parsed_at":"2023-05-26T06:00:33.962Z","dependency_job_id":null,"html_url":"https://github.com/rduraj/awesome-functional-frontend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rduraj/awesome-functional-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rduraj%2Fawesome-functional-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rduraj%2Fawesome-functional-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rduraj%2Fawesome-functional-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rduraj%2Fawesome-functional-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rduraj","download_url":"https://codeload.github.com/rduraj/awesome-functional-frontend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rduraj%2Fawesome-functional-frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37514593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-20T02:00:06.856Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-04T20:29:37.017Z","updated_at":"2026-09-20T05:00:19.105Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Libraries","Articles","Videos","Books"],"sub_categories":["Basics","FP-TS","Patterns, architecture and algebraic structures"],"readme":"# Awesome Functional Frontend\n\n#### Table of Contents\n1. [Libraries](#libraries)\n2. [Articles](#articles)\n3. [Videos](#videos)\n4. [Books](#books)\n\n## Libraries\n- [fp-ts](https://github.com/gcanti/fp-ts)\n- [io-ts](https://github.com/gcanti/io-ts)\n- [fp-ts-routing](https://github.com/gcanti/fp-ts-routing)\n- [Elm](https://elm-lang.org/)\n\n## Articles\n### Basics\n- [Functional JS](https://medium.com/dailyjs/functional-js-1-introduction-7908bfe5ef8d)\n- [The Dao of Immutability](https://medium.com/javascript-scene/the-dao-of-immutability-9f91a70c88cd)\n- [Functional TypeScript](https://blogs.halodoc.io/functional-typescript/)\n- [What is Functional Programming](https://github.com/enricopolanski/functional-programming)\n- [Functional Programming - Learning path](https://github.com/imteekay/functional-programming-learning-path)\n- [JavaScript function composition - What's the big deal?](https://jrsinclair.com/articles/2022/javascript-function-composition-whats-the-big-deal/)\n- [Things I wish someone had explained about functional programming - series](https://jrsinclair.com/articles/2019/what-i-wish-someone-had-explained-about-functional-programming/)\n- [So, You want to be a functional programmer - series](https://cscalfani.medium.com/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536)\n### FP-TS\n- [Getting started with fp-ts](https://dev.to/gcanti/getting-started-with-fp-ts-setoid-39f3)\n- [Practical Guide to fp-ts](https://rlee.dev/series/practical-guide-to-fp-ts)\n- [Type-safe routing in React with `fp-ts-routing`](https://oliverjash-me.vercel.app/2022/type-safe-routing-in-react-with-fp-ts-routing-part-1)\n- [fp-ts recipies](https://grossbart.github.io/fp-ts-recipes/)\n- [TypeScript + fp-ts: ReaderTaskEither and React](https://andywhite.xyz/posts/2021-01-28-rte-react/)\n### Patterns, architecture and algebraic structures\n- [Exploring Folds: A Powerful Pattern Of Functional Programming](https://medium.com/@zaid.naom/exploring-folds-a-powerful-pattern-of-functional-programming-3036974205c8)\n- [The Algebraic Structure of Functions, illustrated using React components](https://jrsinclair.com/articles/2020/algebraic-structure-of-functions-illustrated-with-react-components/)\n- [Functional design (with fp-ts)](https://dev.to/gcanti/functional-design-combinators-14pn)\n- [Functional Programming Patterns for Mere Mortals - Daniel Chambers](https://www.youtube.com/watch?v=v9QGWbGppis)\n- [Functional architecture - The pits of success - Mark Seemann](https://www.youtube.com/watch?v=US8QG9I1XW0)\n\n## Videos\n- [How to get away with functional programming in frontend applications](https://www.youtube.com/watch?v=y4HrXkZYouk)\n- [Scott Wlaschin - Talk Session: Domain Modeling Made Functional](https://www.youtube.com/watch?v=PLFl95c-IiU)\n- [Scott Wlaschin - Functional Design Patterns](https://www.youtube.com/watch?v=srQt1NAHYC0)\n- [functional programming 101 series](https://www.youtube.com/watch?v=ci_rKKvvkJo\u0026list=PLEwNZN34BR6IX2zE3h-c4iYCLvR-UkoNV)\n- [A Real World Example of Functional Programming with fp-ts - Frederick Fogerty](https://www.youtube.com/watch?v=-U9HQembktY)\n- [TypeScript \u0026 FP: an introduction - Giovanni Gonzaga](https://www.youtube.com/watch?v=1LCqHnaJJtY)\n- [\"Categories for the Working Hacker\" by Philip Wadler](https://www.youtube.com/watch?v=gui_SE8rJUM)\n\n## Books\n- [The mostly adequate guide to Functional Programming](https://github.com/MostlyAdequate/mostly-adequate-guide)\n- [The Dao of Functional Programming - Bartosz Milewski](https://github.com/BartoszMilewski/Publications/blob/master/TheDaoOfFP/DaoFP.pdf)\n- 🇵🇱 [TypeScript na poważnie - Michał Miszczyszyn](https://typescriptnapowaznie.pl/)\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/rduraj%2Fawesome-functional-frontend/projects"}