corpus.blog
Most cited
Talked about
Blogs
41554 blogs ยท [ { "id": "01a087cb-a8fb-71ae-8b6e-6d82451f678e", "title": "neotraverse 1.0: I accidentally built lodash for object trees", "url": "https://puruvj.dev/blog/neotraverse-1-0/", "published_at": "2026-06-05T00:00:00+00:00" }, { "id": "01a087cb-a8fb-71ae-8b6e-6d82457b3168", "title": "Introducing aibind", "url": "https://puruvj.dev/blog/aibind/", "published_at": "2026-03-06T00:00:00+00:00" }, { "id": "01a087cb-a8fb-71ae-8b6e-6d82465c5053", "title": "Building Smart Intervals with Svelte 5", "url": "https://puruvj.dev/blog/svelte-5-interval-rune/", "published_at": "2025-07-14T00:00:00+00:00" }, { "id": "01a087cb-a8fb-71ae-8b6e-6d8246fa3694", "title": "Svelte 5's \"Magic\" Debunked: It's Just Syntactic Sugar", "url": "https://puruvj.dev/blog/svelte-5-magic-debunked/", "published_at": "2025-06-28T00:00:00+00:00" }, { "id": "01a087cb-a8fb-71ae-8b6e-6d824790c548", "title": "Neodrag v3 Alpha: A Complete Rewrite", "url": "https://puruvj.dev/blog/neodrag-v3-alpha/", "published_at": "2025-06-26T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a5ffa4f4a9", "title": "From 50% Test Failures to 99% Reliability in One Weekend", "url": "https://puruvj.dev/blog/playwright-test-to-vitest/", "published_at": "2025-06-21T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a600261fb2", "title": "Type-Safe Persistence and Auto-Theming in Svelte 5", "url": "https://puruvj.dev/blog/svelte-5-runic-persist-theming/", "published_at": "2025-06-16T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a600f6ae08", "title": "Why I Analyzed 16,384 Bundle Combinations (And You Should Too)", "url": "https://puruvj.dev/blog/neodrag-16k-bundle-combos/", "published_at": "2025-06-14T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a601331fbf", "title": "Neodrag v3 is coming", "url": "https://puruvj.dev/blog/whats-up-with-neodrag-v3/", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a601598ef3", "title": "Life, Buckets & Water", "url": "https://puruvj.dev/blog/life-buckets-water/", "published_at": "2024-08-04T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a601e149b6", "title": "neotraverse: unbloating traverse", "url": "https://puruvj.dev/blog/forking-and-fixing-traverse/", "published_at": "2024-07-11T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a602ca0a35", "title": "perf: private count vs #count", "url": "https://puruvj.dev/blog/js-class-private-vs-ts-private/", "published_at": "2024-07-05T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6036fc0f7", "title": "macOS Web: Why I moved from React to Svelte", "url": "https://puruvj.dev/blog/macos-react-to-svelte/", "published_at": "2021-08-24T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a603c9cbaa", "title": "Trying Golang as a JavaScript lover", "url": "https://puruvj.dev/blog/golang-as-javascripter/", "published_at": "2021-08-18T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6041193ea", "title": "Get the most out of CSS Modules with TypeScript in 5 minutes", "url": "https://puruvj.dev/blog/css-modules-typescript-intellisense/", "published_at": "2021-05-14T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6041e447b", "title": "The Zen of Preact's source code", "url": "https://puruvj.dev/blog/deep-dive-into-preact-source-code/", "published_at": "2021-05-01T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60438e5f0", "title": "Why I moved from Styled Components to (S)CSS modules", "url": "https://puruvj.dev/blog/move-to-css-modules-from-styled-components/", "published_at": "2021-04-16T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a604c87542", "title": "Amazing macOS Dock animation in Svelte", "url": "https://puruvj.dev/blog/macos-dock-animation-svelte/", "published_at": "2021-04-02T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60552b1d1", "title": "Mindblowing ๐คฏ TypeScript tricks", "url": "https://puruvj.dev/blog/get-to-know-typescript--mindblowing-typescript-tricks/", "published_at": "2021-03-19T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a605ceaac3", "title": "Moving React app to Preact โ in 10 minutes with Vite", "url": "https://puruvj.dev/blog/moving-macos-from-react-to-preact-vite/", "published_at": "2021-03-09T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6069b8575", "title": "React TypeScript Hooks issue when returning array", "url": "https://puruvj.dev/blog/get-to-know-typescript--react-hooks-return-array-issue/", "published_at": "2021-02-19T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a607980072", "title": "Using TypeScript without TypeScript ๐", "url": "https://puruvj.dev/blog/get-to-know-typescript--using-typescript-without-typescript/", "published_at": "2021-02-12T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a607bc5c74", "title": "An Ode โค to TypeScript", "url": "https://puruvj.dev/blog/get-to-know-typescript-an-ode-to-typescript/", "published_at": "2021-02-01T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60896063d", "title": "Bye bye Callbacks, hello Promises in NodeJS", "url": "https://puruvj.dev/blog/promisify-callbacks-in-nodejs/", "published_at": "2021-01-25T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6097cd52e", "title": "NodeJS Create folder if not exists in 3 lines - No dependencies", "url": "https://puruvj.dev/blog/create-folder-if-not-exists/", "published_at": "2021-01-18T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6097d63a8", "title": "Simple code with fs.promises and async await", "url": "https://puruvj.dev/blog/fs-promises/", "published_at": "2021-01-11T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a609d5eb60", "title": "Top level Await is AWESOME!! ๐", "url": "https://puruvj.dev/blog/top-level-await/", "published_at": "2020-12-28T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60a95349a", "title": "Free Github pro and Perks for Students", "url": "https://puruvj.dev/blog/get-free-github-pro-and-perks/", "published_at": "2020-12-20T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60b5ba212", "title": "Setting up auto-formatting in VSCode in 5 minutes", "url": "https://puruvj.dev/blog/setup-prettier-vscode/", "published_at": "2020-12-14T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60baa67e2", "title": "BLOG. EVERY. SINGLE. WEEK!!", "url": "https://puruvj.dev/blog/blog-every-week-rant/", "published_at": "2020-12-09T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60c4f81a1", "title": "Cleaning up tag-along git commits in Pull Requests", "url": "https://puruvj.dev/blog/git-pr-clean-commits/", "published_at": "2020-12-07T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60d3779a3", "title": "Async Await usage and pitfalls in Array.prototype.map() and chaining", "url": "https://puruvj.dev/blog/chaining-promises-array-methods/", "published_at": "2020-09-29T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60da457ed", "title": "Simplify code by promisifying `setTimeout`", "url": "https://puruvj.dev/blog/flatten-settimeout/", "published_at": "2020-09-28T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60e805025", "title": "Split Array into `n` number of chunks", "url": "https://puruvj.dev/blog/split-array-chunks/", "published_at": "2020-09-27T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60eeffe2f", "title": "GIF to MP4 conversion for web using NodeJS", "url": "https://puruvj.dev/blog/gif-to-mp4-ffmpeg-fluent-web/", "published_at": "2020-09-25T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60f0160c3", "title": "Image Optimization Automation with Incremental builds", "url": "https://puruvj.dev/blog/how-i-created-personal-site-part-3/", "published_at": "2020-06-29T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a60f43fa30", "title": "Blogging with Markdown", "url": "https://puruvj.dev/blog/how-i-created-personal-site-part-2/", "published_at": "2020-06-28T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a610053120", "title": "Tech Stack & Design", "url": "https://puruvj.dev/blog/how-i-created-personal-site-part-1/", "published_at": "2020-06-27T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a610db31ce", "title": "Safeguarding target=_blank links", "url": "https://puruvj.dev/blog/link-noopener/", "published_at": "2020-06-09T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a611024f46", "title": "Web Workers: Intro and Basic Usage", "url": "https://puruvj.dev/blog/web-workers-intro-basic-usage/", "published_at": "2020-06-05T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a611540a95", "title": "Performantly loading Google Fonts based on Data Saver", "url": "https://puruvj.dev/blog/google-fonts-prefetch/", "published_at": "2020-06-05T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a61199ff83", "title": "StencilJS Route Change events - Without any dependencies", "url": "https://puruvj.dev/blog/stencil-router-events/", "published_at": "2020-06-03T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a61208ea73", "title": "Pitfalls when using Stencil Helmet during Prerendering", "url": "https://puruvj.dev/blog/pitfalls-stencil-helmet-prerendering/", "published_at": "2020-06-02T00:00:00+00:00" }, { "id": "01a087cb-a8fc-7066-8590-d7a6129ff5bd", "title": "My First Blog post", "url": "https://puruvj.dev/blog/my-first-blog/", "published_at": "2020-05-31T00:00:00+00:00" } ] posts
Claim your blog
Back to puruvj.dev
Blog ยท corpus.blog/blogs/puruvj.dev/posts
puruvj.dev
puruvj.dev
2026
neotraverse 1.0: I accidentally built lodash for object trees
original โ
5 Jun 2026
Introducing aibind
original โ
6 Mar 2026
2025
Building Smart Intervals with Svelte 5
original โ
14 Jul 2025
Svelte 5's "Magic" Debunked: It's Just Syntactic Sugar
original โ
28 Jun 2025
Neodrag v3 Alpha: A Complete Rewrite
original โ
26 Jun 2025
From 50% Test Failures to 99% Reliability in One Weekend
original โ
21 Jun 2025
Type-Safe Persistence and Auto-Theming in Svelte 5
original โ
16 Jun 2025
Why I Analyzed 16,384 Bundle Combinations (And You Should Too)
original โ
14 Jun 2025
Neodrag v3 is coming
original โ
1 Jan 2025
2024
Life, Buckets & Water
original โ
4 Aug 2024
neotraverse: unbloating traverse
original โ
11 Jul 2024
perf: private count vs #count
original โ
5 Jul 2024
2021
macOS Web: Why I moved from React to Svelte
original โ
24 Aug 2021
Trying Golang as a JavaScript lover
original โ
18 Aug 2021
Get the most out of CSS Modules with TypeScript in 5 minutes
original โ
14 May 2021
The Zen of Preact's source code
original โ
1 May 2021
Why I moved from Styled Components to (S)CSS modules
original โ
16 Apr 2021
Amazing macOS Dock animation in Svelte
original โ
2 Apr 2021
Mindblowing ๐คฏ TypeScript tricks
original โ
19 Mar 2021
Moving React app to Preact โ in 10 minutes with Vite
original โ
9 Mar 2021
React TypeScript Hooks issue when returning array
original โ
19 Feb 2021
Using TypeScript without TypeScript ๐
original โ
12 Feb 2021
An Ode โค to TypeScript
original โ
1 Feb 2021
Bye bye Callbacks, hello Promises in NodeJS
original โ
25 Jan 2021
NodeJS Create folder if not exists in 3 lines - No dependencies
original โ
18 Jan 2021
Simple code with fs.promises and async await
original โ
11 Jan 2021
2020
Top level Await is AWESOME!! ๐
original โ
28 Dec 2020
Free Github pro and Perks for Students
original โ
20 Dec 2020
Setting up auto-formatting in VSCode in 5 minutes
original โ
14 Dec 2020
BLOG. EVERY. SINGLE. WEEK!!
original โ
9 Dec 2020
Cleaning up tag-along git commits in Pull Requests
original โ
7 Dec 2020
Async Await usage and pitfalls in Array.prototype.map() and chaining
original โ
29 Sept 2020
Simplify code by promisifying `setTimeout`
original โ
28 Sept 2020
Split Array into `n` number of chunks
original โ
27 Sept 2020
GIF to MP4 conversion for web using NodeJS
original โ
25 Sept 2020
Image Optimization Automation with Incremental builds
original โ
29 Jun 2020
Blogging with Markdown
original โ
28 Jun 2020
Tech Stack & Design
original โ
27 Jun 2020
Safeguarding target=_blank links
original โ
9 Jun 2020
Web Workers: Intro and Basic Usage
original โ
5 Jun 2020
Performantly loading Google Fonts based on Data Saver
original โ
5 Jun 2020
StencilJS Route Change events - Without any dependencies
original โ
3 Jun 2020
Pitfalls when using Stencil Helmet during Prerendering
original โ
2 Jun 2020
My First Blog post
original โ
31 May 2020