<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/medium_js/best-of/2025/01" -->

---
title: Best Medium posts — January 2025 | daily.dev
description: The most upvoted Medium posts from January 2025, curated by the daily.dev community.
canonical: https://daily.dev/sources/medium_js/best-of/2025/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/medium_js/best-of/2025/01
og:type: website
og:site_name: daily.dev
og:title: Best Medium posts — January 2025 | daily.dev
og:description: The most upvoted Medium posts from January 2025, 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 Medium — January 2025

1. 1  
[](https://daily.dev/posts/the-most-underrated-tool-in-engineering-eceocst3x "The Most Underrated Tool in Engineering")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
The Most Underrated Tool in Engineering  
Effective communication is key to successful software projects. Visual tools like Mermaid can enhance clarity and understanding among team members, reducing complexity and improving efficiency. Mermaid is an open-source, easy-to-use diagramming tool that helps illustrate processes, system interactions, and logical structures through different types of diagrams. These visuals can aid in spotting issues early, facilitating code generation with AI, and ensuring everyone is on the same page.  
433  
15
2. 2  
[](https://daily.dev/posts/7-ai-apps-that-are-a-must-have-in-2025-nrztinlmf "7 AI Apps That Are a Must-Have in 2025")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
7 AI Apps That Are a Must-Have in 2025  
In 2025, several AI apps can significantly boost productivity and efficiency across various tasks. These include HoldSpeak for fast voice-to-text, Vidnoz for creating AI videos quickly, StealthGPT for generating human-like content, Gumloop for workflow automation, Buildpad for product development guidance, Feyman AI for enhancing learning and memorization, and Another Wrapper for building custom AI apps effortlessly.  
256  
6
3. 3  
[](https://daily.dev/posts/0-to-70-000-freelance-journey-z8lbitj53 "0$ to 70.000$ Freelance Journey")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
0$ to 70.000$ Freelance Journey  
The journey from aspiring basketball player to a successful freelancer that earned $70,000 by completing software development projects globally began during the pandemic in May 2020\. After starting with YouTube tutorials and courses on platforms like Coursera, the author eventually found success on Upwork. Key takeaways include the importance of patience, selecting a niche, professional communication, and constant experimentation and learning.  
101  
4
4. 4  
[](https://daily.dev/posts/introducing-mirai-a-server-driven-ui-framework-for-flutter-5hgoixs36 "🚀 Introducing Mirai — A Server Driven UI framework for Flutter")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
🚀 Introducing Mirai — A Server Driven UI framework for Flutter  
Mirai is a new server-driven UI framework for Flutter that enables dynamic UI updates and instant changes using JSON definitions. Traditional client-driven UI approaches are tedious and slow, requiring app store approvals and user updates. Mirai simplifies this process by allowing the server to control the UI, offering fast updates, easy personalization, simplified maintenance, and efficient A/B testing. Setting up Mirai involves adding dependencies to your Flutter project and defining UI elements in JSON, which are then rendered dynamically on the client side.  
75  
5
5. 5  
[](https://daily.dev/posts/http-client-in-c-best-practices-for-experts-xgqilvfkz "HTTP Client in C#: Best Practices for Experts")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
HTTP Client in C#: Best Practices for Experts  
This guide explores advanced best practices for using \`HttpClient\` in C#. It covers the creation of \`HttpClient\` instances using various methods like constructors, static instances, \`IHttpClientFactory\`, named, typed, and generated clients. The article also discusses middleware techniques, resilient handling of HTTP requests using timeout, retries, and circuit-breakers, and efficient ways to issue requests and handle responses while optimizing performance to avoid common pitfalls like port exhaustion and DNS changes.  
69  
3
6. 6  
[](https://daily.dev/posts/jailbreaking-deepseek-ohrh8nwwq "Jailbreaking DeepSeek")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Jailbreaking DeepSeek  
DeepSeek AI is known for censoring content, but certain jailbreaking methods can bypass this censorship. Techniques such as hex encoding, using non-roman languages, switching characters, and crescendo jailbreak attacks can trick the model into revealing restricted information. However, some of these vulnerabilities have been fixed in newer versions. The aim is to highlight these methods for future research on securing LLMs.  
53
7. 7  
[](https://daily.dev/posts/getting-started-with-ci-cd-an-introductory-guide-to-github-actions-for-new-developers-qu0zfyczk "Getting Started with CI/CD: An Introductory Guide to GitHub Actions for New Developers")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Getting Started with CI/CD: An Introductory Guide to GitHub Actions for New Developers  
Learn how to create CI/CD pipelines using GitHub Actions for automating code integration and deployment processes. The guide explains the basics of Continuous Integration (CI) and Continuous Deployment (CD), providing step-by-step instructions on writing workflows for a Node.js project with deployment to an AWS EC2 instance. It also covers Docker integration and managing secrets for secure operations.  
52
8. 8  
[](https://daily.dev/posts/meta-you-can-t-put-the-toothpaste-back-in-the-tube-lhh1zm6qa "Meta: you can’t put the toothpaste back in the tube")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Meta: you can’t put the toothpaste back in the tube  
Meta has decided to end its use of independent fact-checkers and shift to a community notes model for content moderation. This decision, amid societal pressures and ongoing misinformation issues, raises concerns about the effectiveness and neutrality of such a system. The shift may result in a vacuum that could be exploited by bad-faith actors, potentially reshaping what constitutes acceptable speech on the platform. The move underscores the need for individual diligence in verifying information and the importance of academic research in understanding misinformation dynamics.  
49  
23
9. 9  
[](https://daily.dev/posts/stop-being-racist-just-use-deepseek-dammit--xfjxpssn2 "Stop Being Racist! Just Use DeepSeek Dammit!")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Stop Being Racist! Just Use DeepSeek Dammit!  
DeepSeek, a Chinese company, has released the R1 language model, which competes with OpenAI's o1 model in performance while costing only 2% as much. Despite its benefits, including open-source flexibility and efficient hardware utilization, it has faced significant criticism rooted in geopolitical and privacy concerns. The model's affordability and accessibility democratize high-quality AI, making advanced AI capabilities available to a broader audience.  
42  
18
10. 10  
[](https://daily.dev/posts/build-flutter-apps-to-work-offline-best-practices-insights-3eufshnhh "Build Flutter Apps to Work Offline: Best Practices & Insights")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Build Flutter Apps to Work Offline: Best Practices & Insights  
Building offline capabilities in Flutter apps enhances user experience, data availability, and app reliability. Local storage reduces server calls, while data synchronization maintains consistency when connectivity is restored. Challenges include managing real-time transactions, live data feeds, and handling sensitive data securely. Implementing offline sync involves monitoring connectivity, handling server calls, storing data locally, and ensuring data consistency through synchronization. Developers should consider idempotent API design to prevent data duplication during sync processes.  
37
11. 11  
[](https://daily.dev/posts/mathematical-foundation-underpinning-reinforcement-learning-i7zvzlrab "Mathematical Foundation Underpinning Reinforcement Learning")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Mathematical Foundation Underpinning Reinforcement Learning  
Reinforcement learning (RL) is inspired by the process of learning from experience, with the Soft Actor-Critic (SAC) algorithm being a popular framework. This post discusses the mathematical foundation of SAC agents, detailing the actor (policy) and critic networks. The actor network uses a neural network to estimate actions and their probabilities while the critic network estimates the expected return of action-state pairs. Python code snippets in PyTorch demonstrate the implementation of these networks and their integration into a RL model.  
33
12. 12  
[](https://daily.dev/posts/langgraph-ai-agents-building-a-dynamic-order-management-system-a-step-by-step-tutorial-853lg9eby "LangGraph AI agents : Building a Dynamic Order Management System : A Step-by-Step Tutorial")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
LangGraph AI agents : Building a Dynamic Order Management System : A Step-by-Step Tutorial  
Learn how to use LangGraph, a library designed for orchestrating complex workflows with Large Language Models (LLMs), to create a dynamic order management system. This tutorial covers setting up the environment, defining workflow nodes, integrating tools and LLMs, and visualizing and testing the workflow. By following the detailed steps, you can build a system capable of placing or canceling orders based on user queries.  
27
13. 13  
[](https://daily.dev/posts/mastering-scrollable-in-flutter-hbh3xhdsc "Mastering Scrollable in Flutter")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Mastering Scrollable in Flutter  
Discover how the Scrollable superclass in Flutter works, including notifications, scroll physics, and handling viewport dimensions. Learn the nuances of managing different types of scrollable widgets like ListView, CustomScrollView, and SingleChildScrollView. The guide explains key properties such as scrollDelta, metrics, dragDetails, and how to implement scroll notifications and custom scroll physics. It also covers scenarios involving transformed views during scrolling and offers tips for efficiently managing dynamic content within scrollable areas.  
23
14. 14  
[](https://daily.dev/posts/how-to-build-an-rbac-permissioned-admin-dashboard-with-permit-io-and-flask-g8tth4qsz "How to Build an RBAC Permissioned Admin Dashboard with Permit.io and Flask")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How to Build an RBAC Permissioned Admin Dashboard with Permit.io and Flask  
Learn how to implement Role-Based Access Control (RBAC) in a Flask application using Permit.io for managing roles and permissions. The guide covers setting up an employee management system, installing necessary dependencies, creating resources and roles in Permit.io, enforcing permissions with the Permit SDK, and testing the application. This approach enhances scalability and security, preventing unauthorized access to sensitive data.  
23
15. 15  
[](https://daily.dev/posts/how-to-start-leetcode-in-2025-as-a-beginner--9rcfvpkcw "How to Start LeetCode in 2025 (as a beginner)")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How to Start LeetCode in 2025 (as a beginner)  
LeetCode remains a crucial tool for preparing for coding interviews at top tech companies in 2025\. This guide offers practical tips on how to begin with LeetCode, starting from understanding the fundamentals of data structures and algorithms to focusing on problem-solving patterns. It emphasizes the importance of focusing on quality over quantity by solving a curated list of problems, avoiding memorization, practicing in timed environments, and being consistent in one’s efforts.  
22
16. 16  
[](https://daily.dev/posts/how-i-built-an-agent-with-pydantic-ai-and-google-gemini-o6dcfg2fi "How I built an agent with Pydantic AI and Google Gemini")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How I built an agent with Pydantic AI and Google Gemini  
Building an AI agent leveraging Pydantic AI and Google Gemini can streamline the synthesis of strategic insights. This tutorial demonstrates how to build such an agent using frameworks like FastAPI for the backend, HTMX for dynamic UI updates, Tailwind CSS for styling, and Cloud Run for deployment. The agent performs web content analysis and generates a SWOT analysis, incorporating community insights and competitive analysis through various integrated tools.  
21
17. 17  
[](https://daily.dev/posts/5-new-ai-tools-that-are-starting-to-replace-humans-mf4jc62rd "5 New AI Tools That Are Starting to Replace Humans")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
5 New AI Tools That Are Starting to Replace Humans  
Artificial intelligence tools are stepping into roles traditionally filled by humans, automating tasks, and revolutionizing industries. LangChain 2.0 automates data processing and analysis, MidJourney 6 creates digital art and design, Bolt.New assists in coding, Synthesia PRO generates video content, and DoNotPay AI offers legal support. These innovations enhance efficiency but raise ethical and societal challenges, including workforce displacement and the need for reskilling.  
21  
4
18. 18  
[](https://daily.dev/posts/enhancing-angular-templates-with-untagged-template-literals-15sxujfwx "Enhancing Angular Templates with Untagged Template Literals")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Enhancing Angular Templates with Untagged Template Literals  
Angular 19.2.0-next.0 introduces support for untagged template literals in expressions, providing developers with greater flexibility and expressiveness in templates. This update allows for more concise and dynamic templates with practical applications such as embedding dynamic content, dynamic classes, complex interpolations, combining with Angular pipes, generating dynamic URLs, and using template literals in loops.  
18  
1
19. 19  
[](https://daily.dev/posts/i-created-an-algorithm-that-improves-any-investment-strategy-here-s-how-it-works--ktz7r4dua "I created an algorithm that improves any investment strategy. Here’s how it works.")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
I created an algorithm that improves any investment strategy. Here’s how it works.  
Genetic algorithms, inspired by natural selection and biological phenomena, can optimize complex problems like trading strategies without requiring gradients. This post describes how genetic algorithms can create and improve investment strategies, and provides a step-by-step guide on using the OpenAI o1 model within the NexusTrade platform to build and enhance trading portfolios. While initial results show promise, further fine-tuning is necessary for real-world applications.  
18  
1
20. 20  
[](https://daily.dev/posts/google-titans-end-of-transformer-based-llms--yvdefwjq9 "Google Titans: End of Transformer based LLMs?")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
Google Titans: End of Transformer based LLMs?  
Google's Titans introduce a new family of neural architectures designed to address the limitations of Transformers, particularly in handling long-term dependencies and large context windows. Key innovations include a neural long-term memory module inspired by human memory systems, which can memorize historical context effectively. Titans offer three variants for memory integration and combine short-term attention with long-term memory, allowing better performance on tasks requiring deep context understanding like language modeling and time series forecasting.  
14

[See all Medium archives](/sources/medium%5Fjs/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/sources/medium_js/best-of/2025/01#page","url":"https://daily.dev/sources/medium_js/best-of/2025/01","name":"Best Medium Posts — January 2025","description":"The most upvoted Medium posts from January 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/medium_js/best-of/2025/01#items","numberOfItems":20,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/the-most-underrated-tool-in-engineering-eceocst3x","name":"The Most Underrated Tool in Engineering"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/7-ai-apps-that-are-a-must-have-in-2025-nrztinlmf","name":"7 AI Apps That Are a Must-Have in 2025"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/0-to-70-000-freelance-journey-z8lbitj53","name":"0$ to 70.000$ Freelance Journey"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/introducing-mirai-a-server-driven-ui-framework-for-flutter-5hgoixs36","name":"🚀 Introducing Mirai — A Server Driven UI framework for Flutter"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/http-client-in-c-best-practices-for-experts-xgqilvfkz","name":"HTTP Client in C#: Best Practices for Experts"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/jailbreaking-deepseek-ohrh8nwwq","name":"Jailbreaking DeepSeek"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/getting-started-with-ci-cd-an-introductory-guide-to-github-actions-for-new-developers-qu0zfyczk","name":"Getting Started with CI/CD: An Introductory Guide to GitHub Actions for New Developers"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/meta-you-can-t-put-the-toothpaste-back-in-the-tube-lhh1zm6qa","name":"Meta: you can’t put the toothpaste back in the tube"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/stop-being-racist-just-use-deepseek-dammit--xfjxpssn2","name":"Stop Being Racist! Just Use DeepSeek Dammit!"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/build-flutter-apps-to-work-offline-best-practices-insights-3eufshnhh","name":"Build Flutter Apps to Work Offline: Best Practices & Insights"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/mathematical-foundation-underpinning-reinforcement-learning-i7zvzlrab","name":"Mathematical Foundation Underpinning Reinforcement Learning"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/langgraph-ai-agents-building-a-dynamic-order-management-system-a-step-by-step-tutorial-853lg9eby","name":"LangGraph AI agents : Building a Dynamic Order Management System : A Step-by-Step Tutorial"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/mastering-scrollable-in-flutter-hbh3xhdsc","name":"Mastering Scrollable in Flutter"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/how-to-build-an-rbac-permissioned-admin-dashboard-with-permit-io-and-flask-g8tth4qsz","name":"How to Build an RBAC Permissioned Admin Dashboard with Permit.io and Flask"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/how-to-start-leetcode-in-2025-as-a-beginner--9rcfvpkcw","name":"How to Start LeetCode in 2025 (as a beginner)"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/how-i-built-an-agent-with-pydantic-ai-and-google-gemini-o6dcfg2fi","name":"How I built an agent with Pydantic AI and Google Gemini"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/5-new-ai-tools-that-are-starting-to-replace-humans-mf4jc62rd","name":"5 New AI Tools That Are Starting to Replace Humans"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/enhancing-angular-templates-with-untagged-template-literals-15sxujfwx","name":"Enhancing Angular Templates with Untagged Template Literals"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/i-created-an-algorithm-that-improves-any-investment-strategy-here-s-how-it-works--ktz7r4dua","name":"I created an algorithm that improves any investment strategy. Here’s how it works."},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/google-titans-end-of-transformer-based-llms--yvdefwjq9","name":"Google Titans: End of Transformer based LLMs?"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/medium_js/best-of"},{"@type":"ListItem","position":5,"name":"January 2025"}]}]}
```

