Level Up Coding (@LevelUpCoding_) header
Level Up Coding (@LevelUpCoding_) profile picture

Helping senior engineers master system design and AI engineering. Get our 218-page System Design Handbook for free when you subscribe.

Level Up Coding Newsletter →
Joined April 2024
AI concepts developers should know: 1. AI Data Strategy ↳ lucode.co/ai-data-strategy-z… 2. Vector Search ↳ lucode.co/vector-search-z7xd… 3. AI Agents ↳ lucode.co/ai-agents-z7xdmdba… 4. Memory for AI applications ↳ lucode.co/memory-for-ai-agen… 5. AI Stack ↳ lucode.co/ai-stack-z7xdmdbai… 6. Chunking data for RAG ↳ lucode.co/data-chunking-rag-… 7. Data Ingestion for RAG Applications ↳ lucode.co/rag-data-ingestion… 8. Evaluating RAG Application Results ↳ lucode.co/evaluating-rag-res… 9. Multi-Agent Memory Engineering ↳ lucode.co/multi-agent-memory… What else would you add? —— ♻️ Repost to help others learn AI. 🙏 Thanks to @MongoDB for sponsoring this post. ➕ Follow Level Up Coding to improve at AI and system design.
AI concepts developers should know: I’ve been using MongoDB’s AI Learning Hub to sharpen how I think about AI systems. It stands out for covering both concepts and real implementation. 1. AI Data Strategy ↳ lucode.co/ai-data-strategy-z… 2. Vector Search ↳ lucode.co/vector-search-z7xd… 3. AI Agents ↳ lucode.co/ai-agents-z7xdmdba… 4. Memory for AI applications ↳ lucode.co/memory-for-ai-agen… 5. AI Stack ↳ lucode.co/ai-stack-z7xdmdbai… 6. Chunking data for RAG ↳ lucode.co/data-chunking-rag-… 7. Data Ingestion for RAG Applications ↳ lucode.co/rag-data-ingestion… 8. Evaluating RAG Application Results ↳ lucode.co/evaluating-rag-res… 9. Multi-Agent Memory Engineering ↳ lucode.co/multi-agent-memory… What else would you add? —— 🔖 Save for later. 🙏 Thanks to @MongoDB for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
2
4
14
1,530
Postgres vs MySQL
Postgres vs MySQL 𝗣𝗼𝘀𝘁𝗴𝗿𝗲𝘀 is built as a single, integrated system, and that design choice shapes how everything else works. Data is stored in heap tables, where multiple row versions coexist. Updates create new versions, while old ones remain until cleaned up (VACUUM). MVCC is built into the data model, enabling advanced indexing and extensibility. 𝗠𝘆𝗦𝗤𝗟 is built around a pluggable storage engine architecture. The SQL layer sits on top, while InnoDB handles storage. Old row versions are kept in undo logs and reconstructed when needed. Data is organised as a clustered index, with the primary key defining physical layout. Which database do you prefer? —— 𝗔𝗿𝗲 𝘆𝗼𝘂 𝘀𝘂𝗿𝗲 𝘆𝗼𝘂𝗿 𝗿𝗲𝘀𝘂𝗺𝗲 𝗽𝗮𝘀𝘀𝗲𝘀 𝗔𝗧𝗦 𝘀𝗰𝗮𝗻𝘀? Check by using Kickresume’s ATS Resume checker. Check your ATS score here → lucode.co/ats-resumer-checke… Thanks to our partner Kickresume who keeps our content free. —— ♻️ Repost to help others databases. ➕ Follow me ( @NikkiSiapno ) to improve at system design.
1
3
19
2,121
8 RAG architectures developers should know: 1. 𝗡𝗮𝗶𝘃𝗲 𝗥𝗔𝗚 ↳ Retrieves the top matching chunks from a vector store and passes them directly to the LLM. 2. 𝗛𝘆𝗯𝗿𝗶𝗱 𝗥𝗔𝗚 ↳ Combines keyword search with vector search, which helps when both exact terms and semantic meaning matter. 3. 𝗥𝗲𝗿𝗮𝗻𝗸𝗲𝗱 𝗥𝗔𝗚 ↳ Retrieves a larger candidate set first, then scores and reorders chunks so the most relevant context gets used. 4. 𝗠𝘂𝗹𝘁𝗶-𝗤𝘂𝗲𝗿𝘆 𝗥𝗔𝗚 ↳ Rewrites one question into multiple related queries to improve recall across different phrasings and document matches. 5. 𝗛𝗶𝗲𝗿𝗮𝗿𝗰𝗵𝗶𝗰𝗮𝗹 𝗥𝗔𝗚 ↳ Searches broad document sections first, then narrows into smaller chunks for more precise retrieval. 6. 𝗚𝗿𝗮𝗽𝗵 𝗥𝗔𝗚 ↳ Represents knowledge as entities and relationships, which helps when the answer depends on connected facts. 7. 𝗖𝗼𝗿𝗿𝗲𝗰𝘁𝗶𝘃𝗲 𝗥𝗔𝗚 ↳ Checks whether retrieved context is useful and adjusts the retrieval process when the first results are weak. 8. 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚 ↳ Lets the LLM plan retrieval steps, choose tools or sources, and reason through multiple searches before answering. Here's a simple mental model: Naive = fast and simple. Hybrid + Reranked = better precision. Multi-Query + Hierarchical = broader coverage. Graph = connected facts. Corrective = self-checking. Agentic = autonomous reasoning. RAG helps models retrieve knowledge. Memory systems help them retain it. If you want to learn how production AI evolves beyond RAG into stateful memory systems, here's a great deep dive → lucode.co/rag-to-memory-syst…
8 RAG Architectures Developers Should Know. RAG isn't one fixed architecture. It's a spectrum of retrieval approaches that determine what gets searched, how results are ranked, and how much control the LLM has over retrieval. Knowing these architectures is important. But understanding how to evaluate and choose the right one for your application is just as important. Learn more about that here: lucode.co/production-rag-eva… 1. 𝗡𝗮𝗶𝘃𝗲 𝗥𝗔𝗚 ↳ Retrieves the top matching chunks from a vector store and passes them directly to the LLM. 2. 𝗛𝘆𝗯𝗿𝗶𝗱 𝗥𝗔𝗚 ↳ Combines keyword search with vector search, which helps when both exact terms and semantic meaning matter. 3. 𝗥𝗲𝗿𝗮𝗻𝗸𝗲𝗱 𝗥𝗔𝗚 ↳ Retrieves a larger candidate set first, then scores and reorders chunks so the most relevant context gets used. 4. 𝗠𝘂𝗹𝘁𝗶-𝗤𝘂𝗲𝗿𝘆 𝗥𝗔𝗚 ↳ Rewrites one question into multiple related queries to improve recall across different phrasings and document matches. 5. 𝗛𝗶𝗲𝗿𝗮𝗿𝗰𝗵𝗶𝗰𝗮𝗹 𝗥𝗔𝗚 ↳ Searches broad document sections first, then narrows into smaller chunks for more precise retrieval. 6. 𝗚𝗿𝗮𝗽𝗵 𝗥𝗔𝗚 ↳ Represents knowledge as entities and relationships, which helps when the answer depends on connected facts. 7. 𝗖𝗼𝗿𝗿𝗲𝗰𝘁𝗶𝘃𝗲 𝗥𝗔𝗚 ↳ Checks whether retrieved context is useful and adjusts the retrieval process when the first results are weak. 8. 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚 ↳ Lets the LLM plan retrieval steps, choose tools or sources, and reason through multiple searches before answering. Here's a simple mental model: Naive = fast and simple. Hybrid + Reranked = better precision. Multi-Query + Hierarchical = broader coverage. Graph = connected facts. Corrective = self-checking. Agentic = autonomous reasoning. RAG helps models retrieve knowledge. Memory systems help them retain it. If you want to learn how production AI evolves beyond RAG into stateful memory systems, here's a great deep dive → lucode.co/rag-to-memory-syst… What else would you add? —— ♻️ Repost to help others learn RAG. 🙏 Thanks to @Oracle for sponsoring this post. ➕ Follow me ( @NikkiSiapno ) to improve at AI engineering.
2
7
16
1,800
523x faster than Plotly and 120x faster than Matplotlib. Incredible benchmark. GitHub repo: lucode.co/xy-github-z7xd
Python charting has needed this for a long time. If these benchmarks hold up, this would be a huge improvement for data science, ML, and charting workflows. 523x faster than Plotly and 120x faster than Matplotlib is not a typo. GitHub repo: lucode.co/xy-github-z7xd
1
2
924
35 system design concepts developers should know: 1. gRPC ↳ lucode.co/grpc-explained-lil… 2. Redis ↳ lucode.co/redis-explained-li… 3. Event-driven architecture ↳ lucode.co/event-driven-archi… 4. OAuth ↳ lucode.co/oauth-lil1nlsm 5. ACID vs BASE ↳ lucode.co/acid-vs-base-lil1n… 6. Microservices ↳ lucode.co/microservices-lil1… 7. Rate limiting ↳ lucode.co/rate-limiting-lil1… PS - if you want a structured path, get my free 142-page System Design Handbook when you join my free weekly newsletter → lucode.co/system-design-hand… 8. Observability ↳ lucode.co/observability-clea… 9. System design quality attributes ↳ lucode.co/system-design-qual… 10. CAP theorem ↳ lucode.co/cap-theorem-lil1nl… 11. Idempotency ↳ lucode.co/idempotency-in-api… 12. REST APIs ↳ lucode.co/rest-api-protocol-… 13. Sync vs Async ↳ lucode.co/sync-vs-async-lil1… 14. Network protocols ↳ lucode.co/network-protocols-… 15. Change Data Capture (CDC) ↳ lucode.co/change-data-captur… 16. CI/CD pipelines ↳ lucode.co/ci-cd-lil1nlsm 17. SSO (single sign-on) ↳ lucode.co/sso-single-sign-on… 18. JWT ↳ lucode.co/json-web-token-jwt… 19. Circuit breakers ↳ lucode.co/circuit-breakers-l… 20. Health checks vs heartbeats ↳ lucode.co/health-checks-vs-h… 21. API gateway vs load balancer vs reverse proxy ↳ lucode.co/api-gateway-vs-lb-… 22. HTTPS ↳ lucode.co/https-explained-li… 23. Load balancing algorithms ↳ lucode.co/load-balancing-alg… 24. Database caching ↳ lucode.co/database-caching-s… 25. API protocols ↳ lucode.co/api-architecture-s… 26. CDN ↳ lucode.co/cdn-lil1nlsm 27. Database types ↳ lucode.co/database-types-lil… 28. Message Queues ↳ lucode.co/message-queues-lil… 29. Hashing vs encryption vs tokenization ↳ lucode.co/hashing-vs-encrypt… 30. Service Discovery ↳ lucode.co/service-discovery-… 31. Pub/Sub ↳ lucode.co/pub-sub-lil1nlsm 32. Connection pooling ↳ lucode.co/connection-pooling… 33. Forward proxy vs reverse proxy ↳ lucode.co/forward-vs-reverse… 34. Consistent hashing ↳ lucode.co/consistent-hashing… 35. SQL vs NoSQL ↳ lucode.co/sql-vs-nosql-lil1n… 👋 PS: Want to improve at system design? Download our free System Design Handbook and join 34,000+ engineers who get our free weekly newsletter → lucode.co/system-design-hand… 🔖 Save for later.
I wrote 35 articles for 35 system design concepts: 1) gRPC: lucode.co/grpc-explained-lil… 2) Redis: lucode.co/redis-explained-li… 3) Event-driven architecture: lucode.co/event-driven-archi… 4) OAuth: lucode.co/oauth-lil1nlsm 5) ACID vs BASE: lucode.co/acid-vs-base-lil1n… 6) Microservices: lucode.co/microservices-lil1… 7) Rate limiting: lucode.co/rate-limiting-lil1… PS - if you want a structured path, get my free 142-page System Design Handbook when you join my free weekly newsletter → lucode.co/system-design-hand… 8) Observability: lucode.co/observability-clea… 9) System design quality attributes: lucode.co/system-design-qual… 10) CAP theorem: lucode.co/cap-theorem-lil1nl… 11) Idempotency: lucode.co/idempotency-in-api… 12) REST APIs: lucode.co/rest-api-protocol-… 13) Sync vs Async: lucode.co/sync-vs-async-lil1… 14) Network protocols: lucode.co/network-protocols-… 15) Change Data Capture (CDC): lucode.co/change-data-captur… 16) CI/CD pipelines: lucode.co/ci-cd-lil1nlsm 17) SSO (single sign-on): lucode.co/sso-single-sign-on… 18) JWT: lucode.co/json-web-token-jwt… 19) Circuit breakers: lucode.co/circuit-breakers-l… 20) Health checks vs heartbeats: lucode.co/health-checks-vs-h… 21) API gateway vs load balancer vs reverse proxy: lucode.co/api-gateway-vs-lb-… 22) HTTPS: lucode.co/https-explained-li… 23) Load balancing algorithms: lucode.co/load-balancing-alg… 24) Database caching: lucode.co/database-caching-s… 25) API protocols: lucode.co/api-architecture-s… 26) CDN: lucode.co/cdn-lil1nlsm 27) Database types: lucode.co/database-types-lil… 28) Message Queues: lucode.co/message-queues-lil… 29) Hashing vs encryption vs tokenization: lucode.co/hashing-vs-encrypt… 30) Service Discovery: lucode.co/service-discovery-… 31) Pub/Sub: lucode.co/pub-sub-lil1nlsm 32) Connection pooling: lucode.co/connection-pooling… 33) Forward proxy vs reverse proxy: lucode.co/forward-vs-reverse… 34) Consistent hashing: lucode.co/consistent-hashing… 35) SQL vs NoSQL: lucode.co/sql-vs-nosql-lil1n… 👋 PS: Want to improve at system design? Download my free System Design Handbook and join 34,000+ engineers who get my free weekly newsletter → lucode.co/system-design-hand… —— 🔖 Save it for later. ➕ Follow me ( Nikki Siapno ) to improve at system design.
1
12
20
2,965
API Gateway vs Load Balancer But what about Reverse Proxy? It also operate at the same edge. Overlapping features. Different responsibilities. To learn about all three, read the full breakdown: blog.levelupcoding.com/p/api…
API Gateway vs Load Balancer An 𝗔𝗣𝗜 𝗚𝗮𝘁𝗲𝘄𝗮𝘆 acts as a single entry point for clients, handling request routing, composition, and protocol translation. It simplifies client interactions with microservices and offers features like rate limiting, authentication, monitoring, and more. 𝗟𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗿𝘀 are concerned with routing client requests across multiple servers to distribute load and prevent bottlenecks. This helps maximize throughput, reduce response time, and optimize resource use. So what are the key differences? API gateways focus on request management and microservice communication, while load balancers focus on traffic distribution and server load management. API gateways operate at the application layer (L7), while load balancers can operate at both transport (L4) or application (L7) layers. API gateways offer features like routing, rate limiting, authentication, service discovery, parameter validation, circuit breakers, and more. Load balancers handle traffic distribution and failover. An 𝗔𝗣𝗜 𝗴𝗮𝘁𝗲𝘄𝗮𝘆 𝗶𝘀 𝗜𝗱𝗲𝗮𝗹 𝗳𝗼𝗿 𝗺𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲 𝗮𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲𝘀 needing centralized API request management. A 𝗹𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗿 𝗶𝘀 𝗲𝘀𝘀𝗲𝗻𝘁𝗶𝗮𝗹 𝗳𝗼𝗿 applications requiring high availability, distributing traffic across multiple servers. What else would you add? ♻️ Repost to help others learn system design. ➕ Follow me ( Nikki Siapno ) to improve at system design.
1
9
21
2,846
They added Claude to Jira 🙌 Learn more here: lucode.co/claud-agent-for-ji…
🤝 Paid partnership
Atlassian just released Claude Agent for Jira. AI coding agents are only as good as their context, but giving them that context has been quietly eating the time we're supposed to save. Claude Agent for Jira solves this problem. Atlassian holds the full context of work: tickets, specs, decisions, and the teams behind it all. This release means: ↳ All Atlassian context available. No copying into a chat window. No pasting codebase context. No explaining team standards, tool switching, etc. ↳ Claude codes in a secure sandbox. It clones the repository, analyzes the codebase, implements the changes on an independent branch, and pushes the code. ↳ Then it opens a draft PR in GitHub and streams live updates back to Jira. ↳ Nothing ships without you. Your team retains complete control over reviews, verification, and merges. I've personally been waiting for this for a while. For teams using Atlassian I think it's a huge win. Learn more here → lucode.co/claud-agent-for-ji… What do you think about the release? —— Thanks to Atlassian for giving me early access to this announcement and for your partnership. @Atlassian @Jira #Ad #AtlassianPartner ♻️ Repost to help others learn about this.
3
10
2,661
OAuth 2.0 clearly explained. Full breakdown (with visuals) here: lucode.co/oauth-lil1nlsm
5
1
25
15,584
35 system design concepts developers should know: 1) Microservices: lucode.co/microservices-lil1… 2) System design quality attributes: lucode.co/system-design-qual… 3) Observability: lucode.co/observability-clea… 4) CAP theorem: lucode.co/cap-theorem-lil1nl… 5) Idempotency: lucode.co/idempotency-in-api… 6) REST APIs: lnkd.in/gi5zd2jR 7) Sync vs Async: lnkd.in/gG-EnbA9 8) Event-driven architecture: lucode.co/event-driven-archi… 9) Redis: lucode.co/redis-explained-li… 10) gRPC: lucode.co/grpc-explained-lil… 11) Database types: lucode.co/database-types-lil… 12) Circuit breakers: lucode.co/circuit-breakers-l… 13) ACID vs BASE: lucode.co/acid-vs-base-lil1n… 14) Rate limiting: lucode.co/rate-limiting-lil1… 15) Network protocols: lucode.co/network-protocols-… 16) Change Data Capture (CDC): lucode.co/change-data-captur… 17) CI/CD pipelines: lucode.co/ci-cd-lil1nlsm 18) SSO (single sign-on): lnkd.in/gXdVyqBg 19) JWT: lucode.co/json-web-token-jwt… 20) Health checks vs heartbeats: lucode.co/health-checks-vs-h… 21) API gateway vs load balancer vs reverse proxy: lucode.co/api-gateway-vs-lb-… 22) HTTPS: lucode.co/https-explained-li… 23) Load balancing algorithms: lucode.co/load-balancing-alg… 24) Database caching: lucode.co/database-caching-s… 25) API protocols: lucode.co/api-architecture-s… 26) CDN: lucode.co/cdn-lil1nlsm 27) Database indexing: lucode.co/database-indexing-… 28) Message Queues: lucode.co/message-queues-lil… 29) Hashing vs encryption vs tokenization: lnkd.in/gfqGYQnq 30) Service Discovery: lucode.co/service-discovery-… 31) Pub/Sub: lucode.co/pub-sub-lil1nlsm 32) Connection pooling: lucode.co/connection-pooling… 33) Forward proxy vs reverse proxy: lucode.co/forward-vs-reverse… 34) SQL vs NoSQL:lucode.co/sql-vs-nosql-lil1n… 35) Consistent hashing: lucode.co/consistent-hashing… What else should be on the list? 🔖 Save for later. ♻️ Repost to help others learn and grow.
6
53
1
218
50,721
6 API Architecture Styles Developers Should Know
3
9
1
41
30,833