41554 blogs ยท [ { "id": "01a087e9-9a73-7036-9e54-fd40c490d054", "title": "Web Performance Fundamentals", "url": "https://taranveerbains.ca/blog/20-web-performance-fundamentals", "published_at": "2025-08-12T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c5027e77", "title": "CSS - getting back to basics", "url": "https://taranveerbains.ca/blog/19-a-css-refresh", "published_at": "2025-02-28T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c50287b7", "title": "Embla Carousel - a cursory look", "url": "https://taranveerbains.ca/blog/18-embla-carousel", "published_at": "2025-02-27T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c5143092", "title": "How automation saved my relationship (๐Ÿชค)", "url": "https://taranveerbains.ca/blog/17-msg-babe", "published_at": "2024-12-05T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c546828b", "title": "My HomeLab Set Up", "url": "https://taranveerbains.ca/blog/16-self-hosting", "published_at": "2024-09-15T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c6027865", "title": "Script Kit", "url": "https://taranveerbains.ca/blog/15-scriptkit", "published_at": "2024-05-05T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c6488818", "title": "Epic Web Conference 2024", "url": "https://taranveerbains.ca/blog/14-epic-web-conf-2024", "published_at": "2024-04-16T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c71ce735", "title": "Making a TUI with Go", "url": "https://taranveerbains.ca/blog/13-making-a-tui-with-go", "published_at": "2024-03-10T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c72febd7", "title": "Go, HTMX, and Lit", "url": "https://taranveerbains.ca/blog/12-go-htmx-and-lit", "published_at": "2024-02-29T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c74b999f", "title": "Reflecting on my time at Productboard", "url": "https://taranveerbains.ca/blog/11-reflection-on-productboard", "published_at": "2023-08-21T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c7dd7618", "title": "Managing technical debt", "url": "https://taranveerbains.ca/blog/10-technical-debt", "published_at": "2023-07-26T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c82e7ff9", "title": "Remixing the old with the new", "url": "https://taranveerbains.ca/blog/09-my-remix-rewrite", "published_at": "2023-07-15T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c832a53f", "title": "A Mind for Numbers", "url": "https://taranveerbains.ca/blog/08-a-mind-for-numbers", "published_at": "2021-07-31T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c8aabfa9", "title": "Mortgages in Canada", "url": "https://taranveerbains.ca/blog/07-canadian-mortgages", "published_at": "2021-04-04T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40c98b2079", "title": "WebAssembly Beginner Workshop", "url": "https://taranveerbains.ca/blog/06-web-assembly-intro", "published_at": "2021-02-20T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40ca0725fa", "title": "Functional programming - an intro", "url": "https://taranveerbains.ca/blog/05-functional-intro", "published_at": "2020-12-13T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40ca8bbfff", "title": "Design Principles", "url": "https://taranveerbains.ca/blog/04-design-principles", "published_at": "2020-07-29T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40cb69ba1d", "title": "Iterable and Iterators", "url": "https://taranveerbains.ca/blog/03-iterable-iterators", "published_at": "2019-11-11T08:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40cc455a39", "title": "React Suspense with Chantastic", "url": "https://taranveerbains.ca/blog/02-suspense-chantastic", "published_at": "2019-10-16T07:00:00+00:00" }, { "id": "01a087e9-9a73-7036-9e54-fd40ccaabac3", "title": "My year at an agile agency", "url": "https://taranveerbains.ca/blog/01-year-at-agile", "published_at": "2019-07-18T07:00:00+00:00" } ] posts Claim your blog
Back to taranveerbains.ca
Blog ยท corpus.blog/blogs/taranveerbains.ca/posts

taranveerbains.ca

taranveerbains.ca

2025

2024

2023

2021

2020

2019