56,966 blogs · [ { "id": "01a08757-0dcd-71a8-af7b-d1e00fe6b291", "title": "The message of coding agents", "url": "https://bobaekang.com/blog/the-message-of-coding-agents/", "published_at": "2026-08-23T06:00:00+00:00" }, { "id": "01a08757-0dcd-71a8-af7b-d1e00fde685e", "title": "The value is in learning, not execution", "url": "https://bobaekang.com/blog/the-value-is-in-learning-not-execution/", "published_at": "2026-07-24T06:00:00+00:00" }, { "id": "01a08757-0dcd-71a8-af7b-d1e00f5c85fb", "title": "Will UI survive AI?", "url": "https://bobaekang.com/blog/will-ui-survive-ai/", "published_at": "2026-02-15T06:00:00+00:00" }, { "id": "01a08757-0dcd-71a8-af7b-d1e00f49bff6", "title": "A normie software engineer in the age of code generation", "url": "https://bobaekang.com/blog/a-normie-software-engineer-in-the-age-of-code-generation/", "published_at": "2026-02-01T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a10618066", "title": "My six months at Netflix", "url": "https://bobaekang.com/blog/my-six-months-at-netflix/", "published_at": "2026-01-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0fa03d92", "title": "Agent engineering as UI engineering", "url": "https://bobaekang.com/blog/agent-engineering-as-ui-engineering/", "published_at": "2025-12-15T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0ef33e70", "title": "What we talk about when we talk about server", "url": "https://bobaekang.com/blog/what-we-talk-about-when-we-talk-about-server/", "published_at": "2025-11-06T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0eb7177e", "title": "What is a server, anyway?", "url": "https://bobaekang.com/blog/what-is-a-server-anyway/", "published_at": "2025-11-05T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0de447f4", "title": "Leaving Spotify", "url": "https://bobaekang.com/blog/leaving-spotify/", "published_at": "2025-07-07T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0d420c02", "title": "Signals aren't monads and that's ok", "url": "https://bobaekang.com/blog/signals-arent-monads-and-thats-ok/", "published_at": "2025-03-02T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0c7cfbbc", "title": "React, Solid, htmx: Part 2", "url": "https://bobaekang.com/blog/react-solid-htmx-part-2/", "published_at": "2025-02-19T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0bb21166", "title": "I barely write React code at work", "url": "https://bobaekang.com/blog/i-barely-write-react-code-at-work/", "published_at": "2025-01-20T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0b8e2664", "title": "Two ways to the two Reacts", "url": "https://bobaekang.com/blog/two-ways-to-the-two-reacts/", "published_at": "2024-11-02T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0b06cf99", "title": "Serverless servers and the challenge of new React architecture", "url": "https://bobaekang.com/blog/serverless-servers-and-the-challenge-of-new-react-architecture/", "published_at": "2024-10-06T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0ad5481d", "title": "My second Spotiversary", "url": "https://bobaekang.com/blog/my-second-spotiversary/", "published_at": "2024-09-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0a4cd25a", "title": "To students reaching out to me for career advice", "url": "https://bobaekang.com/blog/to-students-reaching-out-to-me-for-career-advice/", "published_at": "2024-07-26T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a09e10732", "title": "Component, colocation, composition: A note on the state of React", "url": "https://bobaekang.com/blog/component-colocation-composition/", "published_at": "2024-06-19T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0924cb88", "title": "UI concerns are verticals", "url": "https://bobaekang.com/blog/ui-concerns-are-verticals/", "published_at": "2024-04-22T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a08c5f52d", "title": "React, Solid, htmx", "url": "https://bobaekang.com/blog/react-solid-htmx/", "published_at": "2024-02-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a086a58ae", "title": "RSC is React Server + Component", "url": "https://bobaekang.com/blog/rsc-is-react-server-plus-component/", "published_at": "2024-01-22T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a077d8990", "title": "Mediocre corporate software engineer", "url": "https://bobaekang.com/blog/mediocre-corporate-software-engineer/", "published_at": "2023-12-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a0698fa9f", "title": "React vs the world", "url": "https://bobaekang.com/blog/react-vs-the-world/", "published_at": "2023-09-26T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a062888d5", "title": "My first Spotiversary", "url": "https://bobaekang.com/blog/my-first-spotiversary/", "published_at": "2023-09-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a05dd72b6", "title": "Revisiting my thoughts on React vs Vue", "url": "https://bobaekang.com/blog/revisiting-my-thoughts-on-react-vs-vue/", "published_at": "2023-07-04T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a04ecf0a4", "title": "Surviving somehow", "url": "https://bobaekang.com/blog/surviving-somehow/", "published_at": "2023-01-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a04a09977", "title": "So, is React a library or a framework?", "url": "https://bobaekang.com/blog/so-is-react-a-library-or-a-framework/", "published_at": "2022-11-03T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a03cce173", "title": "My first month at Spotify", "url": "https://bobaekang.com/blog/my-first-month-at-spotify/", "published_at": "2022-10-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a03a1a6f9", "title": "From building to engineering software", "url": "https://bobaekang.com/blog/from-building-to-engineering-software/", "published_at": "2022-08-31T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a02e54989", "title": "I got a promotion", "url": "https://bobaekang.com/blog/i-got-a-promotion/", "published_at": "2022-07-01T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a02b8ef9b", "title": "Making sense of useEvent", "url": "https://bobaekang.com/blog/making-sense-of-useevent/", "published_at": "2022-05-25T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a02176f82", "title": "On hydration: A non-technical perspective", "url": "https://bobaekang.com/blog/on-hydration-a-non-technical-perspective/", "published_at": "2022-04-21T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a011f59c1", "title": "My thoughts on \"Types as Comments\"", "url": "https://bobaekang.com/blog/my-thoughts-on-types-as-comments/", "published_at": "2022-03-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb5a00704c7c", "title": "Will 2022 be the year of Solid.js?", "url": "https://bobaekang.com/blog/will-2022-be-the-year-of-solid-js/", "published_at": "2022-02-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ff7365d3", "title": "To Twitter, or not to Twitter, that is the question", "url": "https://bobaekang.com/blog/to-twitter-or-not-to-twiter-that-is-the-question/", "published_at": "2022-01-16T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ff40962a", "title": "Tis the season to be jolly in Reactverse", "url": "https://bobaekang.com/blog/tis-the-season-to-be-jolly-in-reactverse/", "published_at": "2021-11-22T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59feab58d9", "title": "Some thoughts on Jamstack Conf 2021", "url": "https://bobaekang.com/blog/some-thoughts-on-jamstack-conf-2021/", "published_at": "2021-10-10T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fdc6ef47", "title": "Dipping my toe into Solid.js", "url": "https://bobaekang.com/blog/dipping-my-toe-into-solid-js/", "published_at": "2021-07-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fd173ee5", "title": "So it has been one full year of getting paid to write code", "url": "https://bobaekang.com/blog/so-it-has-been-one-full-year-of-getting-paid-to-write-code/", "published_at": "2021-05-10T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fcfb433c", "title": "React innovates, again", "url": "https://bobaekang.com/blog/react-innovates-again/", "published_at": "2020-12-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fc6152a7", "title": "GitHub as a minimal CMS for my blog", "url": "https://bobaekang.com/blog/github-as-a-minimal-cms-for-my-blog/", "published_at": "2020-12-06T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fc54e988", "title": "My first one-year GitHub contribution streak", "url": "https://bobaekang.com/blog/my-first-one-year-github-contribution-streak/", "published_at": "2020-11-08T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fb8bf269", "title": "I know what your Electron app is doing", "url": "https://bobaekang.com/blog/i-know-what-your-electron-app-is-doing/", "published_at": "2020-10-24T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fb46e771", "title": "What does Vue 3 mean?", "url": "https://bobaekang.com/blog/what-does-vue-3-mean/", "published_at": "2020-09-22T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fa730c58", "title": "How I finally understood .reduce()", "url": "https://bobaekang.com/blog/how-i-finally-understood-reduce/", "published_at": "2020-08-29T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59fa119c4c", "title": "Using \"open\" command in WSL", "url": "https://bobaekang.com/blog/using-open-command-in-wsl/", "published_at": "2020-07-31T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f980bb19", "title": "In search of CRA alternatives", "url": "https://bobaekang.com/blog/in-search-of-cra-alternatives/", "published_at": "2020-07-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f8f2b352", "title": "My first month as a developer by title", "url": "https://bobaekang.com/blog/my-first-month-as-a-developer-by-title/", "published_at": "2020-06-14T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f87c97c4", "title": "Multiple entry points for Vue applications", "url": "https://bobaekang.com/blog/multiple-entry-points-for-vue-applications/", "published_at": "2020-06-07T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f83936e6", "title": "Mixing CSS-in-JS and Tailwind CSS", "url": "https://bobaekang.com/blog/mixing-css-in-js-and-tailwind-css/", "published_at": "2020-05-24T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f7e2d7d7", "title": "Saving my GitHub contribution graph", "url": "https://bobaekang.com/blog/saving-my-github-contribution-graph/", "published_at": "2020-05-10T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f7306735", "title": "More than what I thought", "url": "https://bobaekang.com/blog/more-than-what-i-thought/", "published_at": "2020-05-03T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f7218336", "title": "Front-end web development is a lot!", "url": "https://bobaekang.com/blog/front-end-web-development-is-a-lot/", "published_at": "2020-04-12T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f6671ec3", "title": "Data science is not a science and that's OK", "url": "https://bobaekang.com/blog/data-science-is-not-a-science-and-thats-ok/", "published_at": "2020-03-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f5a3b6b4", "title": "Choosing between Go and TypeScript", "url": "https://bobaekang.com/blog/choosing-between-golang-and-typescript/", "published_at": "2020-03-14T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f539196a", "title": "DRY is not just for code", "url": "https://bobaekang.com/blog/dry-is-not-just-for-code/", "published_at": "2020-02-23T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f4cc6cbf", "title": "In anticipation of Vue 3", "url": "https://bobaekang.com/blog/in-anticipation-of-vue-3/", "published_at": "2020-02-02T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f4219c82", "title": "Minimal TypeScript setup for curious minds", "url": "https://bobaekang.com/blog/minimal-typescript-project-setup-for-curious-minds/", "published_at": "2020-01-19T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f3606a17", "title": "Here I Go, finally", "url": "https://bobaekang.com/blog/here-i-go-finally/", "published_at": "2020-01-04T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f30cb48b", "title": "My first major project has shipped!", "url": "https://bobaekang.com/blog/my-first-major-project-has-shipped/", "published_at": "2019-12-21T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f2967b03", "title": "Jump in! This is the best time to learn programming", "url": "https://bobaekang.com/blog/jump-in-this-is-the-best-time-to-learn-programming/", "published_at": "2019-12-08T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f2474afa", "title": "My journey to finding R modules", "url": "https://bobaekang.com/blog/my-journey-to-finding-r-modules/", "published_at": "2019-11-24T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f19900da", "title": "No React, no Vue, no problem", "url": "https://bobaekang.com/blog/no-react-no-vue-no-problem/", "published_at": "2019-11-11T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f142286f", "title": "Netlify FTW!", "url": "https://bobaekang.com/blog/netlify-ftw/", "published_at": "2019-10-30T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f0efd030", "title": "FP for R users--more than avoiding loops", "url": "https://bobaekang.com/blog/fp-for-r-users-more-than-avoiding-loops/", "published_at": "2019-10-13T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59f07108ba", "title": "Optimizing my colleague's R code", "url": "https://bobaekang.com/blog/optimizing-my-colleagues-r-code/", "published_at": "2019-09-22T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ef7b3101", "title": "The method chain must go on", "url": "https://bobaekang.com/blog/method-chain-must-go-on/", "published_at": "2019-09-08T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ee85b83c", "title": "A tale of three languages", "url": "https://bobaekang.com/blog/a-tale-of-three-languages/", "published_at": "2019-08-25T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ee7bc7b9", "title": "Faking immutability in JavaScript", "url": "https://bobaekang.com/blog/faking-immutability-in-javascript/", "published_at": "2019-08-11T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ee4b95f9", "title": "Playing with functions for fun and practice", "url": "https://bobaekang.com/blog/playing-with-functions-for-fun-and-practice/", "published_at": "2019-07-28T06:00:00+00:00" }, { "id": "01a08757-0dcc-713e-be86-cb59ed968aba", "title": "Getting into Haskell instead of...", "url": "https://bobaekang.com/blog/getting-into-haskell-instead-of/", "published_at": "2019-07-13T06:00:00+00:00" }, { "id": "01a08757-0dcb-7120-aea4-5eb162448645", "title": "The first look into React--from my point of Vue", "url": "https://bobaekang.com/blog/the-first-look-into-react-from-my-point-of-vue/", "published_at": "2019-06-29T06:00:00+00:00" }, { "id": "01a08757-0dcb-7120-aea4-5eb161ce09df", "title": "Whys of bobaekang.com", "url": "https://bobaekang.com/blog/whys-of-bobaekang-com/", "published_at": "2019-06-16T06:00:00+00:00" }, { "id": "01a08757-0dcb-7120-aea4-5eb16132218c", "title": "Hello World", "url": "https://bobaekang.com/blog/hello-world/", "published_at": "2019-06-09T06:00:00+00:00" } ] posts Claim your blog
Back to bobaekang.com
Blog · corpus.blog/blogs/bobaekang.com/posts

bobaekang.com

bobaekang.com

2026

2025

2024

2023

2022

2021

2020

2019