<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/best-of/2023/09" -->

---
title: Best developer posts — September 2023 | daily.dev
description: The most upvoted daily.dev posts from September 2023, curated by the daily.dev community.
canonical: https://daily.dev/posts/best-of/2023/09
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/posts/best-of/2023/09
og:type: website
og:site_name: daily.dev
og:title: Best developer posts — September 2023 | daily.dev
og:description: The most upvoted daily.dev posts from September 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of daily.dev — September 2023

1. 1  
[](https://daily.dev/posts/bun-1-0-xeb1bb2m9 "Bun 1.0")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Bun 1.0  
Bun is a fast, all-in-one toolkit for running, building, testing, and debugging JavaScript and TypeScript. Bun's goal is to eliminate slowness and complexity without throwing away everything that's great about JavaScript. Bun is tested against test suites of the most popular Node.js packages on Node.  
788  
47
2. 2  
[](https://daily.dev/posts/writing-clean-code-best-practices-and-principles-2iykukjhq "Writing Clean Code: Best Practices and Principles")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Writing Clean Code: Best Practices and Principles  
Clean code is code that is easy to read, easy to understand, and easy to modify. Clean code follows a set of conventions and best practices that make it more consistent, making it easier for multiple developers to work on the same project seamlessly. Code that is difficult to understand is more prone to errors during modifications or enhancements.  
506  
27
3. 3  
[](https://daily.dev/posts/sessions-tokens-jwt-sso-and-oauth-in-one-diagram-b69pkqdbb "Sessions, Tokens, JWT, SSO, and OAuth in One Diagram")  
Article  
![Avatar of bytebytego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753)ByteByteGo · 3y  
Sessions, Tokens, JWT, SSO, and OAuth in One Diagram  
The article explains the concepts of sessions, tokens, JWT, SSO, and OAuth in one diagram and discusses the impact of web session management on web applications. It also provides information on the most used Linux commands and outlines the aspects of cloud-native adoption. Additionally, it compares the event sourcing system design with the normal CRUD system design.  
498  
12
4. 4  
[](https://daily.dev/posts/my-solopreneur-story-zero-to-45k-mo-in-2-years-yqsrp0jul "My solopreneur story: zero to $45K/mo in 2 years")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
My solopreneur story: zero to $45K/mo in 2 years  
Tony Dinh quit his job and became a full-time indie hacker in September 2021\. His total revenue across all products is about $45K/month at \~90% profit. His first software product was built with Visual Basic 6 in high school. He created a product with it and survived a drama that almost killed his business.  
479  
36
5. 5  
[](https://daily.dev/posts/10-exceptional-developer-tools-launched-in-2023-4dcygvhn1 "10 Exceptional Developer Tools Launched in 2023")  
Article  
![Avatar of permitio](https://media.daily.dev/image/upload/s--f7Qc9FEp--/f_auto/v1709632968/squads/permitio)Permit.io · 3y  
10 Exceptional Developer Tools Launched in 2023  
The way developers like us use various tools to enhance our work seems to have shifted significantly in 2023\. Only about 20% of the tools we are using are related to LLM and AI. The more we embrace the cloud-native paradigm, the more we rely on mirrord to debug our services locally.  
424  
24
6. 6  
[](https://daily.dev/posts/creating-dynamic-readme-md-file-xgbxakhcg "Creating Dynamic README.md File")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Creating Dynamic README.md File  
In this project, I'm using Github Action to automatically update the weather in the README.md file. The specific thing here is that the weather is updated every 6 hours automatically. In this article, I will walk you through how I did that. Let's get started! Let's take a look at what is Github Actions GitHub Actions.  
404  
24
7. 7  
[](https://daily.dev/posts/advanced-typescript-fpy6arlmg "Advanced TypeScript")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Advanced TypeScript  
This is a constantly updated collection of articles you can find on this site. Each article stands on its own, as you see familiar concepts in a new light. You learn: - Union types and as types - Value types (or literal types) Symbol in JavaScript and TypeScript # Symbols are a very unique type in JavaScript.  
403  
12
8. 8  
[](https://daily.dev/posts/i-bet-you-don-t-use-these-javascript-tricks-and-practices-4rfeklnkp "I Bet You Don’t Use These JavaScript Tricks and Practices")  
Article  
![Avatar of jsPlainEnglish](https://media.daily.dev/image/upload/s--Dg5QTRuI--/f_auto,q_auto/v1686665538/logos/pe)JavaScript in Plain English · 3y  
I Bet You Don’t Use These JavaScript Tricks and Practices  
I Bet You Don’t Use These JavaScript Tricks and Practices. Using FlatMap Flat Map in javascript is a great technique which you can learn here. Not using native Javascript classes enough Javascript comes pack with native javascript classes that can help you create/instantiate things like URL, Headers and Headers.  
395  
12
9. 9  
[](https://daily.dev/posts/tldraw-tldraw-a-very-good-whiteboard-mwu8nspdh "tldraw/tldraw: a very good whiteboard")  
Article  
![Avatar of pointer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/65d4168582f14e0cb2b46693356e66f1)Pointer · 3y  
tldraw/tldraw: a very good whiteboard  
Tldraw is a collaborative digital whiteboard available at tldraw.com. Its editor, user interface, and other underlying libraries are open source and available in this repository. You can use it to create a drop-in whiteboard for your product or as the foundation on which to build your own infinite canvas applications.  
385  
22
10. 10  
[](https://daily.dev/posts/next-nav-7zqwg9d3i "Next.Nav")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Next.Nav  
Nav by opening the command palette using (Ctrl+Shift+P in Windows/Linux) or (Command+Shift +P MacOS) and typing Next. Nav will work on any file structure but it is best used for the App Router to display server/client rendering correctly. We will also only display javascript, typescript, or css files and ignore all other files.  
364  
13
11. 11  
[](https://daily.dev/posts/elysia---fast-and-friendly-bun-web-frameworks-f5gjxbzsr "Elysia - Fast, and friendly Bun web frameworks")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Elysia - Fast, and friendly Bun web frameworks  
Elysia - Fast, and friendly Bun web frameworks. Elysia is fast 18x faster than Express Supercharged by Bun runtime, Static Code Analysis, and various micro optimization. Elysia generates OpenAPI 3.0 specs automatically to integrate with various tools across multiple languages.  
369  
13
12. 12  
[](https://daily.dev/posts/next-js-13-5-hxmtlfcg2 "Next.js 13.5")  
Article  
![Avatar of next](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a7460ee33d92486cb5afd0fca36a116d)Next.js · 3y  
Next.js 13.5  
Next.js is now growing 80% MoM when looking at the top 10 million origins crawled by the HTTP Archive. With 13.5, we've seen the following improvements on a new application: 22% faster local server startup - 29% faster HMR (Fast Refresh) - 40% less memory usage.  
322  
17
13. 13  
[](https://daily.dev/posts/bun-vs-node-js-everything-you-need-to-know-70wxubj1e "Bun vs Node.js: Everything you need to know")  
Article  
![Avatar of builderio](https://media.daily.dev/image/upload/s--jap1dv3o--/f_auto/v1721914613/squads/builderio)builder.io · 3y  
Bun vs Node.js: Everything you need to know  
Bun v1.0 is a super fast all-in-one toolkit for JavaScript and TypeScript apps. The beauty of Bun lies in its ability to streamline the development process, making it smoother and more efficient than ever. Bun is designed as a faster, leaner, more modern replacement for Node.js.  
317  
17
14. 14  
[](https://daily.dev/posts/the-design-system-guide-2sjdi2tde "The Design System Guide")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
The Design System Guide  
The Design System Guide All the essential resources for setting up the design system. Find out the best ways to work together with your team. Metrics Explore useful ways to measure your design system's success.  
314  
12
15. 15  
[](https://daily.dev/posts/one-thing-nobody-explained-to-you-about-typescript-owwrlk99n "One Thing Nobody Explained To You About TypeScript")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
One Thing Nobody Explained To You About TypeScript  
Learn about the tsconfig.json file in TypeScript, how it configures the language, and its impact on modules and environments. Discover the importance of using multiple tsconfig.json files for different layers and intentions in your project.  
305  
12
16. 16  
[](https://daily.dev/posts/node-js-20-6-0-say-goodbye-to-dotenv--frokm7y6q "Node.js 20.6.0: Say Goodbye to 'dotenv'")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Node.js 20.6.0: Say Goodbye to 'dotenv'  
Node.js 20.6.0: Say Goodbye to 'dotenv' - DEV Community Unveiling.0\. The new version has built-in support for.env files. This means you don't need to rely on third-party packages for importing and using.env variables in your code.  
294  
22
17. 17  
[](https://daily.dev/posts/animation-toolbox-for-the-web-rkhyhur5c "animation toolbox for the web")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
animation toolbox for the web  
Theatre.js is a javascript animation library with a professional motion design toolset. It helps you create any animation, from cinematic scenes in THREE.js, to delightful UI interactions. With official extensions, or tools of your own, it works with any stack.  
289  
7
18. 18  
[](https://daily.dev/posts/some-simple-and-amazing-javascript-tricks-lhmoly7nc "Some simple and amazing JavaScript tricks")  
Article  
![Avatar of jsPlainEnglish](https://media.daily.dev/image/upload/s--Dg5QTRuI--/f_auto,q_auto/v1686665538/logos/pe)JavaScript in Plain English · 3y  
Some simple and amazing JavaScript tricks  
The spread syntax will copy all the properties of the object, but will only create a new object at the top level. For nested objects, the references of the inner objects will be copied and will not create new ones. You can simply do so by using the function in Array’s prototype.  
288  
18
19. 19  
[](https://daily.dev/posts/the-complete-microservices-guide-gmr1myhht "The Complete Microservices Guide")  
Article  
![Avatar of amplication](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/81a4f43fc0b84e55b9f61cbae4ec745a)Amplication · 3y  
The Complete Microservices Guide  
Microservices have emerged as a popular architectural approach for designing and building software systems for several compelling reasons and advantages. It is a design approach that involves dividing applications into multiple distinct and independent services called "microservices" Microservices are naturally distributed services as each service is isolated from the others and runs in its own instance.  
284  
6
20. 20  
[](https://daily.dev/posts/what-i-learned-from-software-engineering-at-google-n0u0kn3qd "What I learned from Software Engineering at Google")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
What I learned from Software Engineering at Google  
The difference between Software Engineering and Programming is at the core of this book. Software Engineering is programming over time and programming is about writing code. When you're big, anyone might touch your code. The whole thing fits in your head. The earlier you find a mistake, the easier it is to fix.  
260  
14
21. 21  
[](https://daily.dev/posts/v0-dev-by-vercel-labs-nji2sd5en "v0.dev by Vercel Labs")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
v0.dev by Vercel Labs  
v0.dev by Vercel Labs A Tweet UI 14 hours ago A cookie consent banner 19 hours ago a sleek pricing page for a SaaS. 18 hours ago. A table of financial invoices 1 hour ago A simple music player 15 hours ago.  
253  
18
22. 22  
[](https://daily.dev/posts/discover-bun---a-faster-modern-javascript-runtime-eqlrg895h "Discover Bun - A Faster, Modern JavaScript Runtime")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Discover Bun - A Faster, Modern JavaScript Runtime  
The Javascript Space is completely different from 15 years ago when NodeJS was first released. The technology behind Bun Bun is a Javascript Runtime. It starts with an Engine - The Component of a runtime that runs the Javascript code. Bun comes with built-in testing support, and so it is much faster from the other ones.  
251  
27
23. 23  
[](https://daily.dev/posts/vite---next-generation-frontend-tooling-k7cpmnx91 "Vite - Next Generation Frontend Tooling")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 3y  
Vite - Next Generation Frontend Tooling  
Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects. A build command that bundles your code, pre-configured to output highly optimized static assets. A dev server that provides rich feature enhancements.  
244  
9
24. 24  
[](https://daily.dev/posts/css-variables-101-taililocv "CSS Variables 101")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
CSS Variables 101  
CSS Variables 101 CSS variables (AKA custom properties) have been supported in web browsers for almost four years. With CSS variables, this can be made much better like so.  
240  
12
25. 25  
[](https://daily.dev/posts/7-simple-habits-of-the-top-1-of-engineers-nhcxna1bs "7 simple habits of the top 1% of engineers")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
7 simple habits of the top 1% of engineers  
Google has open sourced some of their style guides for some of its open source code. Good code is predictable and predictable. Good automated testing allows teams to make changes to code without worrying about breaking something unseen. The best engineers were both communicative and not afraid to work together for the chance at a better result.  
234  
11

[See all daily.dev archives](/posts/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/posts/best-of/2023/09#page","url":"https://daily.dev/posts/best-of/2023/09","name":"Best Developer Posts — September 2023","description":"The most upvoted daily.dev posts from September 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/posts/best-of/2023/09#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/bun-1-0-xeb1bb2m9","name":"Bun 1.0"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/writing-clean-code-best-practices-and-principles-2iykukjhq","name":"Writing Clean Code: Best Practices and Principles"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/sessions-tokens-jwt-sso-and-oauth-in-one-diagram-b69pkqdbb","name":"Sessions, Tokens, JWT, SSO, and OAuth in One Diagram"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/my-solopreneur-story-zero-to-45k-mo-in-2-years-yqsrp0jul","name":"My solopreneur story: zero to $45K/mo in 2 years"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/10-exceptional-developer-tools-launched-in-2023-4dcygvhn1","name":"10 Exceptional Developer Tools Launched in 2023"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/creating-dynamic-readme-md-file-xgbxakhcg","name":"Creating Dynamic README.md File"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/advanced-typescript-fpy6arlmg","name":"Advanced TypeScript"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/i-bet-you-don-t-use-these-javascript-tricks-and-practices-4rfeklnkp","name":"I Bet You Don’t Use These JavaScript Tricks and Practices"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/tldraw-tldraw-a-very-good-whiteboard-mwu8nspdh","name":"tldraw/tldraw: a very good whiteboard"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/next-nav-7zqwg9d3i","name":"Next.Nav"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/elysia---fast-and-friendly-bun-web-frameworks-f5gjxbzsr","name":"Elysia - Fast, and friendly Bun web frameworks"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/next-js-13-5-hxmtlfcg2","name":"Next.js 13.5"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/bun-vs-node-js-everything-you-need-to-know-70wxubj1e","name":"Bun vs Node.js: Everything you need to know"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/the-design-system-guide-2sjdi2tde","name":"The Design System Guide"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/one-thing-nobody-explained-to-you-about-typescript-owwrlk99n","name":"One Thing Nobody Explained To You About TypeScript"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/node-js-20-6-0-say-goodbye-to-dotenv--frokm7y6q","name":"Node.js 20.6.0: Say Goodbye to 'dotenv'"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/animation-toolbox-for-the-web-rkhyhur5c","name":"animation toolbox for the web"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/some-simple-and-amazing-javascript-tricks-lhmoly7nc","name":"Some simple and amazing JavaScript tricks"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/the-complete-microservices-guide-gmr1myhht","name":"The Complete Microservices Guide"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/what-i-learned-from-software-engineering-at-google-n0u0kn3qd","name":"What I learned from Software Engineering at Google"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/v0-dev-by-vercel-labs-nji2sd5en","name":"v0.dev by Vercel Labs"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/discover-bun---a-faster-modern-javascript-runtime-eqlrg895h","name":"Discover Bun - A Faster, Modern JavaScript Runtime"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/vite---next-generation-frontend-tooling-k7cpmnx91","name":"Vite - Next Generation Frontend Tooling"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/css-variables-101-taililocv","name":"CSS Variables 101"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/7-simple-habits-of-the-top-1-of-engineers-nhcxna1bs","name":"7 simple habits of the top 1% of engineers"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Explore","item":"https://daily.dev/posts"},{"@type":"ListItem","position":3,"name":"Best of","item":"https://daily.dev/posts/best-of"},{"@type":"ListItem","position":4,"name":"September 2023"}]}]}
```

