{
  "subreddit": "r/javascript",
  "page": "https://redlisten.com/r/javascript",
  "updated": "2026-11-12T00:52:52.274Z",
  "members": 2456340,
  "activity": {
    "posts_last_24_hours": 2,
    "posts_per_hour": 0.1,
    "comments_per_hour": 1.6,
    "newest_post_utc": 1794419419.723,
    "newest_comment_utc": 1794395348.326
  },
  "top_threads_this_week": [
    {
      "title": "GB.js - GameBoy and GBA emulator core in Typescript",
      "score": 39,
      "comments": 11,
      "created_utc": 1793884666.664,
      "snippet": "Nowadays everything boots in browsers. Linux, Windows, ... I wanted to learn the Gameboy and GBA processor architectures and implemented the core from which it is easily possible to create an...",
      "url": "https://www.reddit.com/r/javascript/comments/1xoienw/gbjs_gameboy_and_gba_emulator_core_in_typescript/"
    },
    {
      "title": "SpaceHex - Rotate the rooms to capture the orbs while avoiding the critters",
      "score": 13,
      "comments": 10,
      "created_utc": 1794071328.688,
      "snippet": "",
      "url": "https://www.reddit.com/r/javascript/comments/1xqbdwl/spacehex_rotate_the_rooms_to_capture_the_orbs/"
    },
    {
      "title": "tryimpasto: turn any photo into a palette-knife painting you can relight (TypeScript, zero dependencies)",
      "score": 11,
      "comments": 2,
      "created_utc": 1793977266.334,
      "snippet": "",
      "url": "https://www.reddit.com/r/javascript/comments/1xpexdg/tryimpasto_turn_any_photo_into_a_paletteknife/"
    },
    {
      "title": "Serverless multiplayer via webrtc/camera/barcode (no signal/stun/turn servers)",
      "score": 10,
      "comments": 5,
      "created_utc": 1793890969.65,
      "snippet": "This project is mainly about the serverless technique used and the simple game merely provides an end-to-end explanation.",
      "url": "https://www.reddit.com/r/javascript/comments/1xokvyx/serverless_multiplayer_via_webrtccamerabarcode_no/"
    },
    {
      "title": "[AskJS] How do you keep un-awaited expect(...).resolves out of your test suites?",
      "score": 10,
      "comments": 17,
      "created_utc": 1793882905.329,
      "snippet": "I've been reading test suites in open-source repos this month and kept running into this: js it('saves the user', async () = { expect(save(user)).resolves.toBe(true); }); No await, so the test...",
      "url": "https://www.reddit.com/r/javascript/comments/1xohskh/askjs_how_do_you_keep_unawaited_expectresolves/"
    },
    {
      "title": "Showoff Saturday (November 07, 2026)",
      "score": 8,
      "comments": 14,
      "created_utc": 1794038410.878,
      "snippet": "Did you find or create something cool this week in javascript? Show us here!",
      "url": "https://www.reddit.com/r/javascript/comments/1xq10e3/showoff_saturday_november_07_2026/"
    },
    {
      "title": "Making Browser OCR Read Real Phone Photos",
      "score": 7,
      "comments": 6,
      "created_utc": 1794113936.54,
      "snippet": "I have a free image-to-text tool that runs Tesseract.js in the browser (nothing gets uploaded). Screenshots worked great, 94-96% confidence. Then I took a phone photo of a kids' sunscreen bottle...",
      "url": "https://www.reddit.com/r/javascript/comments/1xqqa4b/making_browser_ocr_read_real_phone_photos/"
    },
    {
      "title": "We moved Master CSS's core semantics to Rust and check the JS browser engine against it for identical output",
      "score": 5,
      "comments": 3,
      "created_utc": 1794235816.241,
      "snippet": "",
      "url": "https://www.reddit.com/r/javascript/comments/1xrtlvf/we_moved_master_csss_core_semantics_to_rust_and/"
    },
    {
      "title": "Computing a Factorial with Church Numerals",
      "score": 3,
      "comments": 7,
      "created_utc": 1794245576.003,
      "snippet": "",
      "url": "https://www.reddit.com/r/javascript/comments/1xrxzss/computing_a_factorial_with_church_numerals/"
    },
    {
      "title": "I built a multi-core SQL engine for JavaScript (pure JS + WebAssembly, no native addon)",
      "score": 1,
      "comments": 7,
      "created_utc": 1794323150.738,
      "snippet": "",
      "url": "https://www.reddit.com/r/javascript/comments/1xsp7lt/i_built_a_multicore_sql_engine_for_javascript/"
    }
  ],
  "newest_posts": [
    {
      "title": "[AskJS] Hash (#) vs underscore (_) for naming properties with Lit",
      "score": 1,
      "comments": 0,
      "created_utc": 1794419419.723,
      "url": "https://www.reddit.com/r/javascript/comments/1xtoi6g/askjs_hash_vs_underscore_for_naming_properties/"
    },
    {
      "title": "Top 10 things AI gets wrong in web development  |  Blog  |  Chrome for Developers",
      "score": 1,
      "comments": 0,
      "created_utc": 1794376029.645,
      "url": "https://www.reddit.com/r/javascript/comments/1xt9uzb/top_10_things_ai_gets_wrong_in_web_development/"
    },
    {
      "title": "I built a multi-core SQL engine for JavaScript (pure JS + WebAssembly, no native addon)",
      "score": 1,
      "comments": 7,
      "created_utc": 1794323150.738,
      "url": "https://www.reddit.com/r/javascript/comments/1xsp7lt/i_built_a_multicore_sql_engine_for_javascript/"
    },
    {
      "title": "AngularLynx: idiomatic Angular rendering natively on iOS and Android via Lynx, with Renderer2 implemented on Lynx’s element API",
      "score": 1,
      "comments": 3,
      "created_utc": 1794318651.446,
      "url": "https://www.reddit.com/r/javascript/comments/1xsnehz/angularlynx_idiomatic_angular_rendering_natively/"
    },
    {
      "title": "What we learned operating auth for 1,000+ APIs",
      "score": 0,
      "comments": 2,
      "created_utc": 1794272458.486,
      "url": "https://www.reddit.com/r/javascript/comments/1xs9fgf/what_we_learned_operating_auth_for_1000_apis/"
    },
    {
      "title": "[AskJS] Are we putting too much application logic in the frontend?",
      "score": 0,
      "comments": 50,
      "created_utc": 1794264001.813,
      "url": "https://www.reddit.com/r/javascript/comments/1xs650b/askjs_are_we_putting_too_much_application_logic/"
    },
    {
      "title": "claude-bulkhead: a dependency-free Node hook that parses shell commands before Claude Code runs them, so parallel sessions stop breaking each other",
      "score": 0,
      "comments": 4,
      "created_utc": 1794248617.351,
      "url": "https://www.reddit.com/r/javascript/comments/1xrzdyy/claudebulkhead_a_dependencyfree_node_hook_that/"
    },
    {
      "title": "Computing a Factorial with Church Numerals",
      "score": 3,
      "comments": 7,
      "created_utc": 1794245576.003,
      "url": "https://www.reddit.com/r/javascript/comments/1xrxzss/computing_a_factorial_with_church_numerals/"
    },
    {
      "title": "We moved Master CSS's core semantics to Rust and check the JS browser engine against it for identical output",
      "score": 5,
      "comments": 3,
      "created_utc": 1794235816.241,
      "url": "https://www.reddit.com/r/javascript/comments/1xrtlvf/we_moved_master_csss_core_semantics_to_rust_and/"
    },
    {
      "title": "The future of Software Engineering is boring",
      "score": 0,
      "comments": 1,
      "created_utc": 1794235522.41,
      "url": "https://www.reddit.com/r/javascript/comments/1xrthfj/the_future_of_software_engineering_is_boring/"
    }
  ],
  "words_this_week": [
    {
      "word": "askjs",
      "titles": 17
    },
    {
      "word": "built",
      "titles": 12
    },
    {
      "word": "browser",
      "titles": 11
    },
    {
      "word": "typescript",
      "titles": 10
    },
    {
      "word": "engine",
      "titles": 8
    },
    {
      "word": "core",
      "titles": 7
    },
    {
      "word": "node",
      "titles": 7
    },
    {
      "word": "rust",
      "titles": 6
    },
    {
      "word": "october",
      "titles": 6
    },
    {
      "word": "showoff",
      "titles": 5
    },
    {
      "word": "saturday",
      "titles": 5
    },
    {
      "word": "november",
      "titles": 5
    }
  ],
  "preview": "This is a preview. Every post and comment in r/javascript, live, as JSON or RSS on the same paths a Reddit client uses, plus keyword streams to Slack, Discord, webhook or email, needs a free key: https://app.redlisten.com/?signup=1&utm_source=redlisten&utm_medium=subreddit",
  "docs": "https://redlisten.com/docs",
  "attribution": "Source: Redlisten, https://redlisten.com/r/javascript"
}