{"slug": "fastapi", "name": "FastAPI", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Python web framework for building APIs, based on type hints, Pydantic and Starlette.", "recommenders": 6, "commenters": 34, "warners": 4, "score": 7.936, "rising": -0.64, "first": "2025-11-03", "latest": "2026-10-14", "why": "Commenters pick it as a lightweight Python backend for REST APIs, often paired with PostgreSQL, and credit its API design.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 6, "neutral": 22, "compare": 2, "warn": 4}, "spark": [0, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1], "listed": true, "loved": ["Default backend stack", "Lightweight layer"], "caveat": "Async confusion", "short_quote": "I replaced it with a lightweight FastAPI layer, which immediately unblocked me", "icon": true, "domain": null, "github_repo": null, "official_url": "https://fastapi.tiangolo.com/", "pricing": "open source", "aliases": ["FastAPI"], "verdict": [{"text": "Commenters pick it as a lightweight Python backend for REST APIs, often paired with PostgreSQL,", "cites": [{"id": 737917505, "item_id": 46119844, "url": "https://news.ycombinator.com/item?id=46119844", "by": "tzury", "date": "2025-12-02", "stance": "recommend", "quote": "I replaced it with a lightweight FastAPI layer, which immediately unblocked me", "excerpt": "I gave Replicate a shot but needed to run on my own GPUs, so I initially used Cog to port the workload. I quickly realized Cog was an obstacle rather than an accelerator. I replaced it with a lightweight FastAPI layer, which immediately unblocked me: 1. Native I/O with Google Cloud Storage. 2. Freedom to use the latest Torch and Nvidia Docker images without abstraction overhead. 3. Running Torch and TensorFlow in par", "context": "", "use_case": "serving ML models on own GPUs", "switched_from": "Cog", "story": "Why Replicate is joining Cloudflare"}, {"id": 764007169, "item_id": 47750448, "url": "https://news.ycombinator.com/item?id=47750448", "by": "hk__2", "date": "2026-04-13", "stance": "recommend", "quote": "one Python app (FastAPI/SQLAlchemy) for the backend that exposes a REST API", "excerpt": "Not a big thing, but I\u2019m happy to work again on a side project I started last year and abandoned because of some limitations from the stack I chose. It\u2019s https://napodico.it, a very simple online Neapolitan dictionary. Nothing extraordinary here but it\u2019s something that will tremendously help me organize my notes on Neapolitan words and expressions that are currently scattered across Google docs. I\u2019ve built https://ww", "context": "", "use_case": "backend REST API", "switched_from": "", "story": "Ask HN: What Are You Working On? (April 2026)"}, {"id": 798797824, "item_id": 49924864, "url": "https://news.ycombinator.com/item?id=49924864", "by": "36f", "date": "2026-10-01", "stance": "recommend", "quote": "My stack of choice would be FastAPI + Svelte + PostgreSQL", "excerpt": "I'm currently building and maintaining 36flats.de (https://codeberg.org/MagnoliaElectricCo/flathunter) and am looking for a new local position as a back end or full stack engineer, data engineer or similar. I worked in health tech in the past, and this project sparked my interest in working with geospatial data and building data pipelines. I'm happy to hear about your leads in either of those fields, or anything else", "context": "back end / full stack engineer job seeker", "use_case": "back end web development", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 746354849, "item_id": 46647178, "url": "https://news.ycombinator.com/item?id=46647178", "by": "victorveloso", "date": "2026-01-16", "stance": "recommend", "quote": "Since I love FastAPI and PostgreSQL", "excerpt": "I am a mechanical engineer with a deep interest in the reliability of engineering systems and the power of logical reasoning. It's been a while since I've been learning coding with the objective of creating my own 'systems engineering application'. It's almost an obsession for me working on this project. So, as the years went by, I've tested several frameworks for web development. The thing is, I realized I was spend", "context": "", "use_case": "backend framework", "switched_from": "", "story": "Show HN: Define a production-ready backend CRUD FastAPI using a JSON schema"}, {"id": 787743825, "item_id": 49233989, "url": "https://news.ycombinator.com/item?id=49233989", "by": "eljonny", "date": "2026-08-09", "stance": "neutral", "quote": "on the back i use fastapi with postgresql and oauth2", "excerpt": "my own high speed train viewer (trainradar) that i use to further develop my software development skills. so far i'm happy with it and its performance, and it has forced me to learn how to scrape without being detected/banned i'm using react on the front, pretty interesting how it manages states in the frontend and how to come up with new strategies to not trigger so manny re-renders of the UI, and on the back i use ", "context": "", "use_case": "backend of train viewer", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}]}, {"text": " and credit its API design.", "cites": [{"id": 758982608, "item_id": 47436413, "url": "https://news.ycombinator.com/item?id=47436413", "by": "retep_kram", "date": "2026-03-19", "stance": "recommend", "quote": "the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested", "excerpt": "One of those instances of AI-generated code replicating another library's API, using a more low-level language for the core implementation. I love the idea of using new low-level languages and making libraries faster. But I wonder if there is a better way to recognize and value the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested in to make those libraries. Without the API", "context": "", "use_case": "Python web API framework", "switched_from": "", "story": "FastAPI-compatible Python framework with Zig HTTP core; 7x faster"}]}, {"text": " The most common caveat is that Python async is widely misunderstood", "cites": [{"id": 785066624, "item_id": 49066664, "url": "https://news.ycombinator.com/item?id=49066664", "by": "physicsguy", "date": "2026-07-27", "stance": "warn", "quote": "switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound", "excerpt": "I think people in the Python world just don't yet have a good mental model of async either. I recently have had conversations with a number of people who have switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound and there's nothing you can await on.", "context": "", "use_case": "serving ML models", "switched_from": "", "story": "Some more things about Django I've been enjoying"}, {"id": 736911072, "item_id": 46056942, "url": "https://news.ycombinator.com/item?id=46056942", "by": "jerrygenser", "date": "2025-11-26", "stance": "neutral", "quote": "I used such a framework for a while", "excerpt": "A common use of asyncio is a server framework like fastapi that schedules tasks. I used such a framework for a while before realizing that I needed to create_task for within-task concurrency.", "context": "", "use_case": "async server framework", "switched_from": "", "story": "Await Is Not a Context Switch: Understanding Python's Coroutines vs. Tasks"}]}, {"text": " and gets messy in larger production apps.", "cites": [{"id": 732824896, "item_id": 45801556, "url": "https://news.ycombinator.com/item?id=45801556", "by": "davedx", "date": "2025-11-03", "stance": "warn", "quote": "I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types.", "excerpt": "Same experience working on FastAPI projects. I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types. Conversely all the node+typescript projects, big and small, have been pretty great the last 10+ years or so. (And the C# .NET ones). I use python for real data projects, for APIs there are about half a dozen other tech stacks I\u2019d reach for first. I\u2019ll", "context": "", "use_case": "API development", "switched_from": "", "story": "Why we migrated from Python to Node.js"}]}], "praise": [{"label": "Default backend stack", "summary": "Commenters name it as their preferred backend, usually alongside PostgreSQL.", "quotes": [{"id": 798797824, "item_id": 49924864, "url": "https://news.ycombinator.com/item?id=49924864", "by": "36f", "date": "2026-10-01", "stance": "recommend", "quote": "My stack of choice would be FastAPI + Svelte + PostgreSQL", "excerpt": "I'm currently building and maintaining 36flats.de (https://codeberg.org/MagnoliaElectricCo/flathunter) and am looking for a new local position as a back end or full stack engineer, data engineer or similar. I worked in health tech in the past, and this project sparked my interest in working with geospatial data and building data pipelines. I'm happy to hear about your leads in either of those fields, or anything else", "context": "back end / full stack engineer job seeker", "use_case": "back end web development", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 746354849, "item_id": 46647178, "url": "https://news.ycombinator.com/item?id=46647178", "by": "victorveloso", "date": "2026-01-16", "stance": "recommend", "quote": "Since I love FastAPI and PostgreSQL", "excerpt": "I am a mechanical engineer with a deep interest in the reliability of engineering systems and the power of logical reasoning. It's been a while since I've been learning coding with the objective of creating my own 'systems engineering application'. It's almost an obsession for me working on this project. So, as the years went by, I've tested several frameworks for web development. The thing is, I realized I was spend", "context": "", "use_case": "backend framework", "switched_from": "", "story": "Show HN: Define a production-ready backend CRUD FastAPI using a JSON schema"}, {"id": 787743825, "item_id": 49233989, "url": "https://news.ycombinator.com/item?id=49233989", "by": "eljonny", "date": "2026-08-09", "stance": "neutral", "quote": "on the back i use fastapi with postgresql and oauth2", "excerpt": "my own high speed train viewer (trainradar) that i use to further develop my software development skills. so far i'm happy with it and its performance, and it has forced me to learn how to scrape without being detected/banned i'm using react on the front, pretty interesting how it manages states in the frontend and how to come up with new strategies to not trigger so manny re-renders of the UI, and on the back i use ", "context": "", "use_case": "backend of train viewer", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}]}, {"label": "Lightweight layer", "summary": "One commenter replaced Cog with a thin FastAPI layer for GPU model serving and was immediately unblocked.", "quotes": [{"id": 737917505, "item_id": 46119844, "url": "https://news.ycombinator.com/item?id=46119844", "by": "tzury", "date": "2025-12-02", "stance": "recommend", "quote": "I replaced it with a lightweight FastAPI layer, which immediately unblocked me", "excerpt": "I gave Replicate a shot but needed to run on my own GPUs, so I initially used Cog to port the workload. I quickly realized Cog was an obstacle rather than an accelerator. I replaced it with a lightweight FastAPI layer, which immediately unblocked me: 1. Native I/O with Google Cloud Storage. 2. Freedom to use the latest Torch and Nvidia Docker images without abstraction overhead. 3. Running Torch and TensorFlow in par", "context": "", "use_case": "serving ML models on own GPUs", "switched_from": "Cog", "story": "Why Replicate is joining Cloudflare"}]}, {"label": "API design", "summary": "Its API design is credited as work that other libraries have copied.", "quotes": [{"id": 758982608, "item_id": 47436413, "url": "https://news.ycombinator.com/item?id=47436413", "by": "retep_kram", "date": "2026-03-19", "stance": "recommend", "quote": "the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested", "excerpt": "One of those instances of AI-generated code replicating another library's API, using a more low-level language for the core implementation. I love the idea of using new low-level languages and making libraries faster. But I wonder if there is a better way to recognize and value the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested in to make those libraries. Without the API", "context": "", "use_case": "Python web API framework", "switched_from": "", "story": "FastAPI-compatible Python framework with Zig HTTP core; 7x faster"}]}, {"label": "Python ecosystem", "summary": "It is cited as part of what pulled a long-time Ruby developer over to Python.", "quotes": [{"id": 742124897, "item_id": 46382806, "url": "https://news.ycombinator.com/item?id=46382806", "by": "RomanPushkin", "date": "2025-12-24", "stance": "recommend", "quote": "Python has won for me: fastapi, pytorch, langchain, streamlit, and so on and on.", "excerpt": "I'm happy to see v4.0, but 2025 was the year I switched from Ruby to Python after gradually drifting back to it more and more. The tipping point was when I had Claude Code automatically convert one of my Ruby projects to 100% Python - and after that, I just had no Ruby left. I spent over a decade enjoying Ruby and even wrote a book about it. At this point, though, Python has won for me: fastapi, pytorch, langchain, s", "context": "Ruby developer for over a decade, wrote a book on Ruby", "use_case": "", "switched_from": "", "story": "Ruby 4.0.0 Released"}]}], "caveats": [{"label": "Async confusion", "summary": "People adopt it because it is \"faster\" even for compute-bound work, and async Python with types can get messy in larger apps.", "quotes": [{"id": 785066624, "item_id": 49066664, "url": "https://news.ycombinator.com/item?id=49066664", "by": "physicsguy", "date": "2026-07-27", "stance": "warn", "quote": "switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound", "excerpt": "I think people in the Python world just don't yet have a good mental model of async either. I recently have had conversations with a number of people who have switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound and there's nothing you can await on.", "context": "", "use_case": "serving ML models", "switched_from": "", "story": "Some more things about Django I've been enjoying"}, {"id": 732824896, "item_id": 45801556, "url": "https://news.ycombinator.com/item?id=45801556", "by": "davedx", "date": "2025-11-03", "stance": "warn", "quote": "I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types.", "excerpt": "Same experience working on FastAPI projects. I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types. Conversely all the node+typescript projects, big and small, have been pretty great the last 10+ years or so. (And the C# .NET ones). I use python for real data projects, for APIs there are about half a dozen other tech stacks I\u2019d reach for first. I\u2019ll", "context": "", "use_case": "API development", "switched_from": "", "story": "Why we migrated from Python to Node.js"}, {"id": 736911072, "item_id": 46056942, "url": "https://news.ycombinator.com/item?id=46056942", "by": "jerrygenser", "date": "2025-11-26", "stance": "neutral", "quote": "I used such a framework for a while", "excerpt": "A common use of asyncio is a server framework like fastapi that schedules tasks. I used such a framework for a while before realizing that I needed to create_task for within-task concurrency.", "context": "", "use_case": "async server framework", "switched_from": "", "story": "Await Is Not a Context Switch: Understanding Python's Coroutines vs. Tasks"}]}, {"label": "Build-it-yourself", "summary": "A long-time Django developer found that much of what Django provides must be assembled by hand.", "quotes": [{"id": 748742931, "item_id": 46796433, "url": "https://news.ycombinator.com/item?id=46796433", "by": "stuaxo", "date": "2026-01-28", "stance": "compare", "quote": "Coming to a FastAPI app with alembic and finding a lot of that is build-it-yourself (and easily break it) is a bit of a shock.", "excerpt": "Nice. As a mostly-django-dev for the last 15 years, who's been exposed to FastAPI and various ORMs again recently, I should get round to write a doc about some Django bits. Django is pretty nice, the changes between versions are small and can be managed by a human. Part of the reason that you can have the big ecosystem is that there is a central place to register settings and INSTALLED_APPS, middleware etc. That enab", "context": "Django dev for 15 years", "use_case": "web APIs", "switched_from": "", "story": "Notes on Starting to Use Django"}]}, {"label": "Extra over Starlette", "summary": "One commenter sees it as unnecessary baggage on top of Starlette.", "quotes": [{"id": 772658721, "item_id": 48291170, "url": "https://news.ycombinator.com/item?id=48291170", "by": "andrewstuart", "date": "2026-05-27", "stance": "compare", "quote": "FastAPI is built on Starlette - to be honest I don\u2019t see the point of the extra baggage - just use Starlette.", "excerpt": "Setting aside this issue, Starlette is a really great web server. If you do async python I strongly recommend it. FastAPI is built on Starlette - to be honest I don\u2019t see the point of the extra baggage - just use Starlette.", "context": "", "use_case": "async Python web apps", "switched_from": "", "story": "BadHost \u2013 CVE-2026-48710 Starlette Host-Header Auth Bypass"}]}, {"label": "Middleware streaming", "summary": "BaseHTTPMiddleware is reported to silently break streaming responses.", "quotes": [{"id": 757100868, "item_id": 47318804, "url": "https://news.ycombinator.com/item?id=47318804", "by": "brian200", "date": "2026-03-09", "stance": "warn", "quote": "FastAPI's BaseHTTPMiddleware silently breaks streaming responses", "excerpt": "I built a mem0-based personal memory server \u2014 a knowledge vault Claude can read/write to. Getting it working in Claude Code was easy. Claude.ai web, mobile, and Desktop? Much harder, because of auth. Claude.ai custom connectors require full OAuth 2.1. FastMCP gives you an in-memory test provider (useless in prod) or a proxy that requires Google/GitHub/Auth0 as an identity provider. I didn't want to set up Auth0 for a", "context": "", "use_case": "", "switched_from": "", "story": "Personal MCP server on every Claude platform without Auth0"}]}, {"label": "Per-request transactions", "summary": "One commenter criticizes it for encouraging a DB connection and transaction at the start of every request.", "quotes": [{"id": 780315521, "item_id": 48769720, "url": "https://news.ycombinator.com/item?id=48769720", "by": "schrodinger", "date": "2026-07-02", "stance": "warn", "quote": "FastAPI encourages you to open a db connection and a transaction at the front of every request", "excerpt": "Interesting! I'd love to hear what type of work you do where you can get away without any of those because frankly I think most of those are pretty garbage too. Postgres is decent for a free ($$$) database, although it's lack of clustered indexes and in-place updates (its MVCC approach) sucks for many use cases. I find it a sensible default but not the best at any one use case. Python, frankly, sucks nowawadays. Mayb", "context": "", "use_case": "backend framework", "switched_from": "", "story": "A native graphical shell for SSH"}]}], "who": [{"by": "caivi", "context": "AI-powered forward engineer looking for work", "url": "https://news.ycombinator.com/item?id=50081293", "date": "2026-10-14"}, {"by": "curioustinkerer", "context": "Python backend engineer, 7+ years", "url": "https://news.ycombinator.com/item?id=49989699", "date": "2026-10-07"}, {"by": "36f", "context": "back end / full stack engineer job seeker", "url": "https://news.ycombinator.com/item?id=49924864", "date": "2026-10-01"}, {"by": "stakent", "context": "senior systems engineer seeking work", "url": "https://news.ycombinator.com/item?id=49922575", "date": "2026-10-01"}, {"by": "emanuelecz", "context": "self-taught AI engineer", "url": "https://news.ycombinator.com/item?id=49224408", "date": "2026-08-08"}, {"by": "zayd7861", "context": "22 year old solo dev", "url": "https://news.ycombinator.com/item?id=48661295", "date": "2026-06-24"}, {"by": "loleci5", "context": "solo developer", "url": "https://news.ycombinator.com/item?id=48195920", "date": "2026-05-19"}, {"by": "geophph", "context": "has about 4 users", "url": "https://news.ycombinator.com/item?id=48142544", "date": "2026-05-14"}, {"by": "Jignesh_1313", "context": "final-year engineer building AI projects", "url": "https://news.ycombinator.com/item?id=47690225", "date": "2026-04-08"}, {"by": "Yigtwx", "context": "3rd-year software engineering student", "url": "https://news.ycombinator.com/item?id=47186498", "date": "2026-02-27"}, {"by": "RichardOdds", "context": "solo founder", "url": "https://news.ycombinator.com/item?id=47021167", "date": "2026-02-14"}, {"by": "stephanschulz", "context": "solo developer", "url": "https://news.ycombinator.com/item?id=46796089", "date": "2026-01-28"}], "tags": ["for solo devs", "for side projects", "for ML model serving", "for AI agent backends"], "use_cases": ["backend", "backend framework", "backend development", "back end web development", "backend sidecar", "backend of train viewer"], "compared": [{"slug": "postgresql", "name": "PostgreSQL", "co": 12, "switched_from": 0, "switched_to": 0}, {"slug": "claude-code", "name": "Claude Code", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "react", "name": "React", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "next-js", "name": "Next.js", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "celery", "name": "Celery", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "supabase", "name": "Supabase", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "redis", "name": "Redis", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49922568", "title": "Ask HN: Who wants to be hired? (October 2026)", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49740400", "title": "Show HN: DrillFlow \u2013 a diagram editor where every node opens into a sub-diagram", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49712621", "title": "Show HN: Panel \u2013 A research workspace where the agent can build its own panes", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49502091", "title": "Show HN: M\u00e9dicos por Venezuela \u2013 Non-profit medical help", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49233423", "title": "Ask HN: What are you working on? (August 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49156682", "title": "Ask HN: Who wants to be hired? (August 2026)", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 1, "neutral": 2}, "2025-12": {"recommend": 2, "neutral": 1}, "2026-01": {"neutral": 3, "recommend": 1, "compare": 1}, "2026-02": {"neutral": 3}, "2026-03": {"warn": 1, "recommend": 1, "neutral": 1}, "2026-04": {"neutral": 1, "recommend": 1}, "2026-05": {"neutral": 2, "compare": 1}, "2026-06": {"neutral": 1}, "2026-07": {"warn": 2}, "2026-08": {"neutral": 3}, "2026-09": {"neutral": 2}, "2026-10": {"neutral": 3, "recommend": 1}}, "quotes": [{"id": 801300698, "item_id": 50081293, "url": "https://news.ycombinator.com/item?id=50081293", "by": "caivi", "date": "2026-10-14", "stance": "neutral", "quote": "Sentry, FastAPI, Express/Hono", "excerpt": "Location: Minneapolis, MN, USA Remote: Yes Willing to relocate: No Technologies: Opencode / Codex / Jcode, Tmux, Docker, Python, Node, TypeScript, Ansible, Postgres, Supabase/Neon/Render, automated CI / CD test pipelines, Sentry, FastAPI, Express/Hono R\u00e9sum\u00e9/CV: https://drive.google.com/file/d/1swpa5LInVdPEtjhhwxFWGsge8K5... Email: christopherisler1@gmail.com Portfolio: https://github.com/chrisisler - AI-powered forw", "context": "AI-powered forward engineer looking for work", "use_case": "", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 799835185, "item_id": 49989699, "url": "https://news.ycombinator.com/item?id=49989699", "by": "curioustinkerer", "date": "2026-10-07", "stance": "neutral", "quote": "Python, Django, FastAPI, PostgreSQL, Celery", "excerpt": "Location: Lucknow, India Remote: Yes Willing to relocate: No Technologies: Python, Django, FastAPI, PostgreSQL, Celery, LLM APIs (Gemini, Claude), agentic workflows, embeddings/clustering, GCP, Terraform R\u00e9sum\u00e9/CV: https://drive.google.com/file/d/1pulNpC8VJnV01pCzg0QRhgqOTazTWhk7/view Email: 5ifocyqgf@relay.firefox.com GitHub: https://github.com/abhiabhi94 Python backend engineer, 7+ years. Lately building LLM system", "context": "Python backend engineer, 7+ years", "use_case": "backend development", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 798797824, "item_id": 49924864, "url": "https://news.ycombinator.com/item?id=49924864", "by": "36f", "date": "2026-10-01", "stance": "recommend", "quote": "My stack of choice would be FastAPI + Svelte + PostgreSQL", "excerpt": "I'm currently building and maintaining 36flats.de (https://codeberg.org/MagnoliaElectricCo/flathunter) and am looking for a new local position as a back end or full stack engineer, data engineer or similar. I worked in health tech in the past, and this project sparked my interest in working with geospatial data and building data pipelines. I'm happy to hear about your leads in either of those fields, or anything else", "context": "back end / full stack engineer job seeker", "use_case": "back end web development", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 798761201, "item_id": 49922575, "url": "https://news.ycombinator.com/item?id=49922575", "by": "stakent", "date": "2026-10-01", "stance": "neutral", "quote": "Technologies: Python, PostgreSQL, FastAPI", "excerpt": "Location: Rzesz\u00f3w, Poland Remote: Yes \u2014 remote only (~EU hours or async) Willing to relocate: No Technologies: Python, PostgreSQL, FastAPI; LLMs & embeddings, semantic search, self-hosted open-weights models (on-prem, offline); deterministic data/ML pipelines; PDF/document extraction, OCR, IoT, time-series, logs \u2192 decision-useful information R\u00e9sum\u00e9/CV: https://walat.eu/cv/ | https://linkedin.com/in/dariusz-walat Emai", "context": "senior systems engineer seeking work", "use_case": "", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 795846993, "item_id": 49740437, "url": "https://news.ycombinator.com/item?id=49740437", "by": "capydev42", "date": "2026-09-17", "stance": "neutral", "quote": "FastAPI + SQLite for the backend", "excerpt": "Hi there, I am the creator of DrillFlow, I would like to share my thoughts behind the creation of DrillFlow. Nowadays my job shifted from implementing of solutions to planning/understanding/explaining software solutions. So i got used to create diagrams on the fly while explaining or listening to others. My problem was to fit the most important abstractions and also details on the same canvas and keep it still readab", "context": "", "use_case": "backend", "switched_from": "", "story": "Show HN: DrillFlow \u2013 a diagram editor where every node opens into a sub-diagram"}, {"id": 795401971, "item_id": 49712623, "url": "https://news.ycombinator.com/item?id=49712623", "by": "greentfrapp", "date": "2026-09-15", "stance": "neutral", "quote": "a Python (FastAPI) sidecar that drives the agent backends", "excerpt": "Hi HN, I built Panel because research work means switching all the time between a chat with an agent, the papers I'm reading, the notebook I'm running and the data files I'm looking at. Panel is a local web app with dockable panes made with dockview. You get chat, files, PDFs, markdown and Jupyter notebooks. The agent can also create custom panes on request, like a protein structure viewer or an SQLite browser. There", "context": "", "use_case": "backend sidecar", "switched_from": "", "story": "Show HN: Panel \u2013 A research workspace where the agent can build its own panes"}, {"id": 792033569, "item_id": 49502098, "url": "https://news.ycombinator.com/item?id=49502098", "by": "softronic", "date": "2026-08-30", "stance": "neutral", "quote": "Backend: Python + FastAPI (Docker on AWS EC2)", "excerpt": "Hi HN, We (Softronic) built and deployed M\u00e9dicos por Venezuela (https://medicosporvenezuela.org/), an ad honorem, non-profit directory aimed at connecting patients with healthcare specialists in Venezuela. Given the local context, our main technical constraint was optimizing for unreliable or low-bandwidth mobile connections while keeping the UI friction-free. Tech Stack: - Frontend: Next.js (AWS Amplify + AWS WAF) -", "context": "", "use_case": "backend", "switched_from": "", "story": "Show HN: M\u00e9dicos por Venezuela \u2013 Non-profit medical help"}, {"id": 787743825, "item_id": 49233989, "url": "https://news.ycombinator.com/item?id=49233989", "by": "eljonny", "date": "2026-08-09", "stance": "neutral", "quote": "on the back i use fastapi with postgresql and oauth2", "excerpt": "my own high speed train viewer (trainradar) that i use to further develop my software development skills. so far i'm happy with it and its performance, and it has forced me to learn how to scrape without being detected/banned i'm using react on the front, pretty interesting how it manages states in the frontend and how to come up with new strategies to not trigger so manny re-renders of the UI, and on the back i use ", "context": "", "use_case": "backend of train viewer", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}, {"id": 787590529, "item_id": 49224408, "url": "https://news.ycombinator.com/item?id=49224408", "by": "emanuelecz", "date": "2026-08-08", "stance": "neutral", "quote": "Python, FastAPI, LangGraph, MCP, RAG, Postgres/pgvector, Redis, Celery, Docker", "excerpt": "Location: Gipuzkoa, Spain (CET) Remote: Yes, remote only Willing to relocate: No Technologies: Python, FastAPI, LangGraph, MCP, RAG, Postgres/pgvector, Redis, Celery, Docker, LLM evals, TypeScript, Next.js R\u00e9sum\u00e9/CV: https://www.emanuelecz.dev/emanuele-czofei-cv.pdf Email: emanuelecz06@gmail.com Self-taught AI engineer, two years building, four months at a startup. Strongest at the unglamorous half: retrieval that re", "context": "self-taught AI engineer", "use_case": "backend", "switched_from": "", "story": "Ask HN: Who wants to be hired? (August 2026)"}, {"id": 785066624, "item_id": 49066664, "url": "https://news.ycombinator.com/item?id=49066664", "by": "physicsguy", "date": "2026-07-27", "stance": "warn", "quote": "switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound", "excerpt": "I think people in the Python world just don't yet have a good mental model of async either. I recently have had conversations with a number of people who have switched to FastAPI because \"it's faster\" even when they're using it to serve ML models which are compute bound and there's nothing you can await on.", "context": "", "use_case": "serving ML models", "switched_from": "", "story": "Some more things about Django I've been enjoying"}, {"id": 780315521, "item_id": 48769720, "url": "https://news.ycombinator.com/item?id=48769720", "by": "schrodinger", "date": "2026-07-02", "stance": "warn", "quote": "FastAPI encourages you to open a db connection and a transaction at the front of every request", "excerpt": "Interesting! I'd love to hear what type of work you do where you can get away without any of those because frankly I think most of those are pretty garbage too. Postgres is decent for a free ($$$) database, although it's lack of clustered indexes and in-place updates (its MVCC approach) sucks for many use cases. I find it a sensible default but not the best at any one use case. Python, frankly, sucks nowawadays. Mayb", "context": "", "use_case": "backend framework", "switched_from": "", "story": "A native graphical shell for SSH"}, {"id": 778580721, "item_id": 48661295, "url": "https://news.ycombinator.com/item?id=48661295", "by": "zayd7861", "date": "2026-06-24", "stance": "neutral", "quote": "FastAPI, React, Celery, Postgres, and Redis", "excerpt": "Hey HN, I'm a 22 year old solo dev. Over the last 8 months, I wrote 315k lines of code to build an on-chain index fund platform. The stack is FastAPI, React, Celery, Postgres, and Redis running on AWS for $70/month. The core engine works by: Aggregating up to 5,000 user orders every 30 seconds. Routing them across DEX protocols for execution. Settling into a single Gnosis Safe transaction to cut gas costs by 80%. A c", "context": "22 year old solo dev", "use_case": "backend framework", "switched_from": "", "story": "Show HN: Wealtii \u2013 A multi-sig digital asset index fund built by a solo founder"}, {"id": 772658721, "item_id": 48291170, "url": "https://news.ycombinator.com/item?id=48291170", "by": "andrewstuart", "date": "2026-05-27", "stance": "compare", "quote": "FastAPI is built on Starlette - to be honest I don\u2019t see the point of the extra baggage - just use Starlette.", "excerpt": "Setting aside this issue, Starlette is a really great web server. If you do async python I strongly recommend it. FastAPI is built on Starlette - to be honest I don\u2019t see the point of the extra baggage - just use Starlette.", "context": "", "use_case": "async Python web apps", "switched_from": "", "story": "BadHost \u2013 CVE-2026-48710 Starlette Host-Header Auth Bypass"}, {"id": 771134721, "item_id": 48195920, "url": "https://news.ycombinator.com/item?id=48195920", "by": "loleci5", "date": "2026-05-19", "stance": "neutral", "quote": "Built on Python / FastAPI and Supabase for the backend.", "excerpt": "Hey HN, I\u2019m the solo developer behind RevCarData (https://revcardata.com). If you've ever tried building an app in the automotive space (insurance comparison, EV routing, auto-parts e-commerce, or even a side project), you know the data situation is a nightmare. You either pay thousands to legacy enterprise providers for ancient XML feeds, or you spend months writing and maintaining fragile web scrapers just to get b", "context": "solo developer", "use_case": "API backend", "switched_from": "", "story": null}, {"id": 770280704, "item_id": 48142544, "url": "https://news.ycombinator.com/item?id=48142544", "by": "geophph", "date": "2026-05-14", "stance": "neutral", "quote": "right now I use fastapi and write it all in Python", "excerpt": "I\u2019m curious if I could use this to write my webserver in Go, then call back to Python for the data sciencey stuff over stdin(?), but all in one nice tidy package? I mean right now I use fastapi and write it all in Python but I happen to enjoy writing Go. Does it matter either way? No I have like 4 users, but it seems not too crazy either?", "context": "has about 4 users", "use_case": "web server", "switched_from": "", "story": "Wrap Go binaries in Python wheels"}, {"id": 764007169, "item_id": 47750448, "url": "https://news.ycombinator.com/item?id=47750448", "by": "hk__2", "date": "2026-04-13", "stance": "recommend", "quote": "one Python app (FastAPI/SQLAlchemy) for the backend that exposes a REST API", "excerpt": "Not a big thing, but I\u2019m happy to work again on a side project I started last year and abandoned because of some limitations from the stack I chose. It\u2019s https://napodico.it, a very simple online Neapolitan dictionary. Nothing extraordinary here but it\u2019s something that will tremendously help me organize my notes on Neapolitan words and expressions that are currently scattered across Google docs. I\u2019ve built https://ww", "context": "", "use_case": "backend REST API", "switched_from": "", "story": "Ask HN: What Are You Working On? (April 2026)"}, {"id": 763043601, "item_id": 47690225, "url": "https://news.ycombinator.com/item?id=47690225", "by": "Jignesh_1313", "date": "2026-04-08", "stance": "neutral", "quote": "FastAPI/PostgreSQL infrastructure backbone I architected from scratch", "excerpt": "The multi-agent + RAG combo is what I'm living in right now. At AmberFlux EdgeAI I'm building SHEELA \u2014 an intelligence layer that crawls, scores, and runs controlled self-improvement loops on top of a FastAPI/PostgreSQL infrastructure backbone I architected from scratch. LangGraph for the agent orchestration, async pipelines throughout. But the project that feels most relevant to what you're describing is something I", "context": "final-year engineer building AI projects", "use_case": "backend infrastructure", "switched_from": "", "story": "Ask HN: Who is hiring? (April 2026)"}, {"id": 760752448, "item_id": 47547028, "url": "https://news.ycombinator.com/item?id=47547028", "by": "velcee", "date": "2026-03-27", "stance": "neutral", "quote": "shared message board backed by FastAPI + SQLite", "excerpt": "Similar architecture - we run 4 agents (sales, social, finance, strategy) communicating through a shared message board backed by FastAPI + SQLite instead of IRC. Different transport, same pattern: separate agents with distinct roles, tiered inference, crash-recovery for resilience. The /day hard cap is smart. We built spend caps into the governance layer instead. The rate limit panic in AI coding is really a cost gov", "context": "", "use_case": "agent message board", "switched_from": "", "story": "Show HN: I put an AI agent on a $7/month VPS with IRC as its transport layer"}, {"id": 758982608, "item_id": 47436413, "url": "https://news.ycombinator.com/item?id=47436413", "by": "retep_kram", "date": "2026-03-19", "stance": "recommend", "quote": "the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested", "excerpt": "One of those instances of AI-generated code replicating another library's API, using a more low-level language for the core implementation. I love the idea of using new low-level languages and making libraries faster. But I wonder if there is a better way to recognize and value the hard work that the original designers of libraries like FastAPI, Zod, Pydantic, have invested in to make those libraries. Without the API", "context": "", "use_case": "Python web API framework", "switched_from": "", "story": "FastAPI-compatible Python framework with Zig HTTP core; 7x faster"}, {"id": 757100868, "item_id": 47318804, "url": "https://news.ycombinator.com/item?id=47318804", "by": "brian200", "date": "2026-03-09", "stance": "warn", "quote": "FastAPI's BaseHTTPMiddleware silently breaks streaming responses", "excerpt": "I built a mem0-based personal memory server \u2014 a knowledge vault Claude can read/write to. Getting it working in Claude Code was easy. Claude.ai web, mobile, and Desktop? Much harder, because of auth. Claude.ai custom connectors require full OAuth 2.1. FastMCP gives you an in-memory test provider (useless in prod) or a proxy that requires Google/GitHub/Auth0 as an identity provider. I didn't want to set up Auth0 for a", "context": "", "use_case": "", "switched_from": "", "story": "Personal MCP server on every Claude platform without Auth0"}, {"id": 754983968, "item_id": 47186498, "url": "https://news.ycombinator.com/item?id=47186498", "by": "Yigtwx", "date": "2026-02-27", "stance": "neutral", "quote": "The backend is built with FastAPI.", "excerpt": "Hi HN, I\u2019m a 3rd-year software engineering student. Every semester, I waste hours trying to find specific rules, passing grades, or course details buried inside my university\u2019s endless, poorly formatted PDFs. I just wanted a fast, completely offline way to search through them, so I built this. Instead of jumping straight into a heavy LLM or RAG setup, I decided to keep it simple and lightweight. The backend is built ", "context": "3rd-year software engineering student", "use_case": "search backend", "switched_from": "", "story": "Show HN: An offline document search engine for my university's messy PDFs"}, {"id": 754955137, "item_id": 47184696, "url": "https://news.ycombinator.com/item?id=47184696", "by": "Frannky", "date": "2026-02-27", "stance": "neutral", "quote": "The endpoints are hosted on a separate VPS running FastAPI", "excerpt": "I recently installed Zeroclaw instead of OpenClaw on a new VPS(It seems a little safer). It wasn\u2019t as straightforward as OpenClaw, but it was easy to setup. I added skills that call endpoints and also cron jobs to trigger recurrent skills. The endpoints are hosted on a separate VPS running FastAPI (Hetzner, ~$12/month for two vps). I\u2019m assuming the claw might eventually be compromised. If that happens, the damage is ", "context": "", "use_case": "hosting rate-limited endpoints", "switched_from": "", "story": "Don't run OpenClaw on your main machine"}, {"id": 754516946, "item_id": 47157309, "url": "https://news.ycombinator.com/item?id=47157309", "by": "Frannky", "date": "2026-02-25", "stance": "neutral", "quote": "The endpoints are hosted on a separate VPS running FastAPI", "excerpt": "I recently installed Zeroclaw instead of OpenClaw on a new VPS(It seems a little safer). It wasn\u2019t as straightforward as OpenClaw, but it was easy to setup. I added skills that call endpoints and also cron jobs to trigger recurrent skills. The endpoints are hosted on a separate VPS running FastAPI (Hetzner, ~$12/month for two vps). I\u2019m assuming the claw might eventually be compromised. If that happens, the damage is ", "context": "", "use_case": "hosting endpoints", "switched_from": "", "story": "Sandboxes won't save you from OpenClaw"}, {"id": 752338677, "item_id": 47021167, "url": "https://news.ycombinator.com/item?id=47021167", "by": "RichardOdds", "date": "2026-02-14", "stance": "neutral", "quote": "Python/FastAPI backend managing asynchronous requests", "excerpt": "Hi HN, I\u2019m the solo founder of Snaprookies. I was tired of the \u2018SaaS sprawl\u2019 in my workflow - paying for 5 different AI subscriptions just to get one project done. I built SnapRookies as a unified orchestration layer that routes tasks to specialized models based on the specific creative intent. The Architecture: Rather than a simple wrapper, we use an ensemble approach. For example, our 'Professional Headshot' pipeli", "context": "solo founder", "use_case": "backend", "switched_from": "", "story": "Show HN: Snaprookies a unified orchestrated layer for 27 generative AI workflow"}, {"id": 748742931, "item_id": 46796433, "url": "https://news.ycombinator.com/item?id=46796433", "by": "stuaxo", "date": "2026-01-28", "stance": "compare", "quote": "Coming to a FastAPI app with alembic and finding a lot of that is build-it-yourself (and easily break it) is a bit of a shock.", "excerpt": "Nice. As a mostly-django-dev for the last 15 years, who's been exposed to FastAPI and various ORMs again recently, I should get round to write a doc about some Django bits. Django is pretty nice, the changes between versions are small and can be managed by a human. Part of the reason that you can have the big ecosystem is that there is a central place to register settings and INSTALLED_APPS, middleware etc. That enab", "context": "Django dev for 15 years", "use_case": "web APIs", "switched_from": "", "story": "Notes on Starting to Use Django"}, {"id": 748737427, "item_id": 46796089, "url": "https://news.ycombinator.com/item?id=46796089", "by": "stephanschulz", "date": "2026-01-28", "stance": "neutral", "quote": "Technical Stack: React Native (Expo), Next.js, FastAPI, PostgreSQL.", "excerpt": "I've been building software for over 20 years, mostly for clients. Trailward started as a tool to manage my own habit of \"constant learning,\" but it evolved into something I wanted to ship. The Problem: I wanted to solve two things: 1. Sustained Exploration: How to learn effectively over a long timeframe, avoiding the \"one-night research binge\" that fades away. 2. Discovery: How to find meaningful learning goals when", "context": "solo developer", "use_case": "backend API", "switched_from": "", "story": "Show HN: Trailward \u2013 Learn anything in 90-second micro-sessions"}, {"id": 748545121, "item_id": 46784070, "url": "https://news.ycombinator.com/item?id=46784070", "by": "robinbaertschi", "date": "2026-01-27", "stance": "neutral", "quote": "Built with FastAPI and PostgreSQL", "excerpt": "Hi HN, I\u2019m the creator of TypoGuard. I built this specialized engine to help protect brands against typosquatting and phishing domains before they are used in active attacks. The Core Logic: Unlike basic permutation tools, TypoGuard uses a multi-factor risk scoring system (High Risk >= 8 points). The scoring is based on: Domain Metadata: Real-time WHOIS age (domains \u2264 30 days are flagged), MX record presence, and SSL", "context": "", "use_case": "backend framework", "switched_from": "", "story": "Show HN: TypoGuard \u2013 A typosquatting monitoring engine with automated reporting"}, {"id": 746354849, "item_id": 46647178, "url": "https://news.ycombinator.com/item?id=46647178", "by": "victorveloso", "date": "2026-01-16", "stance": "recommend", "quote": "Since I love FastAPI and PostgreSQL", "excerpt": "I am a mechanical engineer with a deep interest in the reliability of engineering systems and the power of logical reasoning. It's been a while since I've been learning coding with the objective of creating my own 'systems engineering application'. It's almost an obsession for me working on this project. So, as the years went by, I've tested several frameworks for web development. The thing is, I realized I was spend", "context": "", "use_case": "backend framework", "switched_from": "", "story": "Show HN: Define a production-ready backend CRUD FastAPI using a JSON schema"}, {"id": 745946787, "item_id": 46621674, "url": "https://news.ycombinator.com/item?id=46621674", "by": "JonasN21", "date": "2026-01-14", "stance": "neutral", "quote": "I also built a backend service using Flask and FastAPI.", "excerpt": "Hi HN, I'm the developer of this tool. Why I built this App: I was hanging out on a Discord call with a friend, and we wanted to make a quick beat together. We had no music production skills and didn't want to install a complex DAW or sign up for a service. I couldn't find a tool that was instant and multiplayer, so I built this. The Tech: The frontend is built with React and uses Tone.js for the audio scheduling. I ", "context": "developer of the beat maker", "use_case": "backend service", "switched_from": "", "story": "Show HN: I built a collaborative browser-based beat maker (no login required)"}, {"id": 742124897, "item_id": 46382806, "url": "https://news.ycombinator.com/item?id=46382806", "by": "RomanPushkin", "date": "2025-12-24", "stance": "recommend", "quote": "Python has won for me: fastapi, pytorch, langchain, streamlit, and so on and on.", "excerpt": "I'm happy to see v4.0, but 2025 was the year I switched from Ruby to Python after gradually drifting back to it more and more. The tipping point was when I had Claude Code automatically convert one of my Ruby projects to 100% Python - and after that, I just had no Ruby left. I spent over a decade enjoying Ruby and even wrote a book about it. At this point, though, Python has won for me: fastapi, pytorch, langchain, s", "context": "Ruby developer for over a decade, wrote a book on Ruby", "use_case": "", "switched_from": "", "story": "Ruby 4.0.0 Released"}, {"id": 738878866, "item_id": 46179929, "url": "https://news.ycombinator.com/item?id=46179929", "by": "prajjawal-12345", "date": "2025-12-06", "stance": "neutral", "quote": "Backend: Python (FastAPI) hosted on Render.", "excerpt": "\"Hi HN, OP here. I\u2019m the solo developer behind this. I built Morph-AI-Era because I was frustrated that the only options for data visualization were either expensive subscriptions (Tableau/PowerBI costing $70+/mo) or tools with steep learning curves (Python/Pandas) for non-tech business owners. The core idea is to kill the monthly subscription. You only pay credits when you actually upload a file or run a complex cal", "context": "solo developer", "use_case": "backend", "switched_from": "", "story": "Show HN: Morph-AI-Era \u2013 Turn CSV files into interactive dashboards instantly"}, {"id": 737917505, "item_id": 46119844, "url": "https://news.ycombinator.com/item?id=46119844", "by": "tzury", "date": "2025-12-02", "stance": "recommend", "quote": "I replaced it with a lightweight FastAPI layer, which immediately unblocked me", "excerpt": "I gave Replicate a shot but needed to run on my own GPUs, so I initially used Cog to port the workload. I quickly realized Cog was an obstacle rather than an accelerator. I replaced it with a lightweight FastAPI layer, which immediately unblocked me: 1. Native I/O with Google Cloud Storage. 2. Freedom to use the latest Torch and Nvidia Docker images without abstraction overhead. 3. Running Torch and TensorFlow in par", "context": "", "use_case": "serving ML models on own GPUs", "switched_from": "Cog", "story": "Why Replicate is joining Cloudflare"}, {"id": 736911072, "item_id": 46056942, "url": "https://news.ycombinator.com/item?id=46056942", "by": "jerrygenser", "date": "2025-11-26", "stance": "neutral", "quote": "I used such a framework for a while", "excerpt": "A common use of asyncio is a server framework like fastapi that schedules tasks. I used such a framework for a while before realizing that I needed to create_task for within-task concurrency.", "context": "", "use_case": "async server framework", "switched_from": "", "story": "Await Is Not a Context Switch: Understanding Python's Coroutines vs. Tasks"}, {"id": 736363009, "item_id": 46022688, "url": "https://news.ycombinator.com/item?id=46022688", "by": "Chet-Fitzgerald", "date": "2025-11-23", "stance": "neutral", "quote": "Backend: FastAPI (Python) + some Go workers for Demucs processing", "excerpt": "I\u2019ve been building https://beatstorapon.com as a vertical, music-only alternative to generic freelance / gig marketplaces (Fiverr, Upwork etc.). Right now, if you\u2019re a rapper, producer, engineer, playlist owner or promoter, you get thrown into the same bucket as \u201cI\u2019ll design your logo for $5\u201d and \u201cI\u2019ll do data entry\u201d. The category is \u201cMusic & Audio\u201d, the incentives and UX are not built around how music actually works", "context": "", "use_case": "backend", "switched_from": "", "story": "BeatsToRapOn \u2013 A music-only marketplace and AI tools for artists"}, {"id": 732824896, "item_id": 45801556, "url": "https://news.ycombinator.com/item?id=45801556", "by": "davedx", "date": "2025-11-03", "stance": "warn", "quote": "I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types.", "excerpt": "Same experience working on FastAPI projects. I don\u2019t know how big production apps are maintained (and supported operationally) with the mess that is python+async+types. Conversely all the node+typescript projects, big and small, have been pretty great the last 10+ years or so. (And the C# .NET ones). I use python for real data projects, for APIs there are about half a dozen other tech stacks I\u2019d reach for first. I\u2019ll", "context": "", "use_case": "API development", "switched_from": "", "story": "Why we migrated from Python to Node.js"}]}