Can CeylanVienna-based, globally curious.

Learn

Backend

APIs, databases, scraping, background jobs, and auth.

AllAI & ToolsArchitectureBackendFrontendTestingProduct Thinking
Backend·intermediate

Batch email sends before rate limits look like caps

A newsletter send to 13 people reported 5 accepted and 8 failed. It looked like a hidden recipient cap. The real problem was parallel API calls hitting a provider rate limit.

2026-05-08

Backend·beginner

Separate the editorial date from the publish timestamp, they mean different things

Content systems routinely conflate two different concepts: the date the author wrote something, and when it was actually published. Treating them as one field causes sorting bugs, broken date displays, and incorrect analytics. They need to be separate from the start.

2026-04-25

Backend·intermediate

The data isolation audit: every endpoint must be scoped to the requesting user

The most common multi-tenant security bug is an endpoint that returns the right data for the right user, most of the time. A systematic audit ensures user_id filtering is never accidentally omitted.

2026-04-18

Backend·intermediate

Never use Promise.all() with the GitHub Contents API

The GitHub Contents API requires each file commit to complete before the next one starts. Parallel commits produce 409 conflicts, and the error message doesn't make it obvious why.

2026-04-18

Backend·intermediate

APScheduler vs Celery: choosing the right background job tool

APScheduler is the right tool for one background job on a fixed schedule. It becomes the wrong tool the moment you need per-user workloads, priority queues, or retry logic.

2026-04-18

Backend·intermediate

Why parallelising your scraper will get you silently banned

Anti-bot systems don't always return 403s. Sometimes they return empty results, and your logs look clean. Here's why sequential requests are the architecture, not a workaround.

2026-04-18

Backend·beginner

Scheduled publishing without a cron: runtime-evaluated date filters

You don't need a cron job to make content appear on schedule. Evaluate the scheduled date at request time and the content becomes visible automatically, no deployment, no job, no database update required.

2026-04-18

Backend·intermediate

Cache AI API results by content hash to prevent cost explosions

Users upload the same image multiple times. AI APIs charge per call. A cache keyed on SHA-256 of the input bytes ensures you pay for each unique input once, not once per upload.

2026-04-18

Backend·beginner

Financial data APIs fail silently, design for None, not for errors

Rate-limited financial data APIs don't raise exceptions. They return empty DataFrames and None values while your logs show no errors. Every metric computation must handle this explicitly.

2026-04-18

Backend·beginner

Layering data sources: accept both APIs as fallback, don't choose one

Financial data from a single free API is unreliable. Layer a secondary source on top, not as a replacement, but as a fallback when the primary returns None. You get resilience without complexity.

2026-04-18