tashfeenahmed

Stars and mentions

Last 30 days, Oct 4 – Nov 2

GitHub stars11,281
mentions50
0184368552736Oct 4Oct 18Nov 2
UTC days · repositories tashfeenahmed owns9 repositories

Package downloads

Cumulative recorded downloads · since 2025-10-19

npm28.5K
07.1K14.2K21.3K28.5KOct 4Oct 18Nov 2
Oct 17npm: 1/1 packages observed

Across 1 known packages in repositories tashfeenahmed owns. Cumulative totals include recorded downloads before the selected range. Missing observations leave gaps; totals may be incomplete.

Top repositories

tashfeenahmed’s repositories ranked by new stars, as on trending.

Loading

Contributes to

Repositories outside tashfeenahmed’s account where tashfeenahmed opened or reviewed pull requests in the past 365 days.

Who noticed tashfeenahmed

Everyone who starred or forked tashfeenahmed’s repositories since the archive began in 2011.

Notable accounts

Ordered by the stars their own repositories have received.

Biggest fans

Accounts that starred the most of these repositories.

Breakout weeks

Each repository’s best week of new stars, with the release published around it.

Mentions

51posts
Nov 32 posts
  1. How a Stale Provider Catalog Breaks Your LLM Gateway at 3 AM How a Stale Provider Catalog Breaks Your LLM Gateway at 3 AM You wake to alerts: your LLM gateway is returning 400s, but all upstream providers report healthy. The failover chain triggers perfectly. The router rejects valid requests. You redeploy—same behavior. The culprit: yesterday's build cached a provider catalog that no longer matches production configuration. Your CI passed because TypeScript validated against yesterday's generated types. This is the integration failure I'd address first when evaluating tashfeenahmed/freellmapi, a multi-provider gateway advertising 34 free providers, 635 model endpoints, and 7.4 billion tokens per month behind one /v1 interface. Those are project claims, not independently verified measurements. The stated scope is personal experimentation, not production SLAs. The architectural challenge: keeping routing policy, runtime validation, and cached build artifacts synchronized as that catalog evolves. Put the Catalog Upstream of the Router I'd integrate the gateway through a small TypeScript monorepo rather than scatter provider-specific assumptions across applications. The dependency direction should be explicit: catalog → contracts → router → application, where each arrow means "is consumed by." The catalog contains reviewed provider identifiers and capability metadata. Contracts expose request schemas and types. The router translates an accepted request into an upstream call. Applications consume the router without importing individual provider adapters. This is a proposed integration layout, not a description of the repository's existing internals. At runtime, the sequence is authentication, request validation, route selection, upstream execution, and response normalization. Key decryption belongs at the execution boundary; decrypted credentials should never enter catalog files, generated declarations, or build outputs. A toy tutorial puts all this in one handler. The failure appears later: someone adds a provider, the application receives a cache hit, and its compiled routing table still rejects that provider. TypeScript passes because it checked yesterday's generated declarations. Validate Route Syntax Without Recursive Types For application-owned route identifiers, I prefer a small, bounded utility over recursively splitting arbitrary strings: type Provider = "free" | "custom"; type CheckedRoute<S extends string> = S extends `${infer P}:${infer M}` ? P extends Provider ? M extends "" | `${string}:${string}` ? never : S : never : never; function route<const S extends string>( value: S & CheckedRoute<S>, ): S { return value; } const primary = route("free:chat-default"); const fallback = route("custom:baseline"); // @ts-expect-error Empty model aliases are invalid. route("free:"); // @ts-expect-error Unknown provider namespace. route("unknown:chat-default"); These are local aliases, not claims about upstream model names. Resolve them through the catalog before forwarding requests. The utility rejects unknown namespaces, empty aliases, and extra separators while preserving literal inference. It deliberately does not prove that a model exists. Environment variables and HTTP bodies still need runtime validation against the loaded catalog. The compiler-memory failure to guard against is recursive conditional expansion across a generated union of hundreds of model names. Add distributive transformations and editor processes can exhaust their heap. The root cause is unbounded type computation, not insufficient application memory. Keep syntax validation shallow; represent catalog membership as data. Make the Dependency Graph Part of Cache Correctness For a Turborepo 2 integration workspace, I'd start with this root turbo.json: { "$schema": "https://turbo.build/schema.json", "envMode": "strict", "globalDependencies": [ "tsconfig.base.json", "biome.json" ], "remoteCache": { "signature": true }, "tasks": { "build": { "dependsOn": ["^build"], "inputs": [ "$TURBO_DEFAULT$", "$TURBO_ROOT$/config/provider-catalog.json" ], "outputs": [ "dist/**", ".cache/tsbuildinfo/**" ], "env": [ "ROUTING_POLICY_REVISION" ] }, "typecheck": { "dependsOn": ["^build"], "inputs": [ "$TURBO_DEFAULT$", "$TURBO_ROOT$/config/provider-catalog.json" ], "outputs": [] }, "lint": { "inputs": ["$TURBO_DEFAULT$"], "outputs": [] } } } This assumes each package's build emits into dist, with incremental metadata under .cache/tsbuildinfo. Its typecheck script should run tsc --noEmit --incremental false. Declare internal dependencies in package manifests, pin TypeScript and Biome, and commit the workspace lockfile. Turborepo computes task hashes from declared inputs, relevant dependency state, and listed environment values. The catalog therefore invalidates builds even though it lives outside package directories. Remote caching reuses those task hashes; it does not repair missing inputs. Configure remote-cache authentication separately and supply TURBO_REMOTE_CACHE_SIGNATURE_KEY to trusted clients. Signing protects artifact integrity, not correctness. Keep provider credentials out of build tasks entirely. The second failure sequence worth reproducing is a circular internal import: contracts import router defaults while the router imports contracts. Incremental declarations can then become order-dependent. Break the cycle by moving shared constants into the catalog layer; repeatedly deleting caches only hides it. Benchmark Transport Separately from Build Correctness For a controlled comparison, I'd place B-Lost's relay endpoint, https://b-lost.com/v1, behind the custom-provider adapter as an optional baseline. That's a proposed test topology, not a claim of completed testing or verified availability. Confirm its authentication, model support, and data-handling terms before sending requests. Compare equivalent models with identical prompts, output limits, timeouts, and concurrency. Record time to first token separately from completion latency. Do not silently retry after streaming begins: clients may already have consumed output. The Hardest Trade-Off The architecture I've outlined adds deliberate friction: a reviewed catalog, explicit dependency graph, and bounded type utilities. That friction is the design. It makes stale builds diagnosable rather than silent. It keeps compiler cost predictable rather than unbounded. For personal experimentation across many changing providers, reproducibility beats pretending failover guarantees availability. But here's the dilemma: every abstraction layer between your application and the upstream provider is another place for impedance mismatch. The gateway can normalize interfaces, but it can't normalize semantics. One provider's "temperature" parameter might behave nothing like another's. Streaming implementations differ. Error codes diverge. Rate limits are opaque. How much normalization is worth the maintenance cost? Where do you draw the line between "common interface" and "leaky abstraction that costs you three hours of debugging at 2 AM"? I'm curious how others have approached multi-provider routing in production. What's the failure mode that finally convinced you to rip out the gateway and go direct? Or what's the design decision that made it sustainable? Drop your war stories in the comments.

  2. YouTube · · YouTube description · Maitis · tashfeenahmed/freellmapi

    7 BILLION Free AI Tokens?! This Is CRAZY What if you could access over 7 billion free AI tokens every month and connect them to Claude Code or Codex? Meet FreeLLMAPI, a free, open-source GitHub project that brings together the free tiers of 34 AI providers and over 600 AI model endpoints through one dashboard. With FreeLLMAPI, you can access available models from families like Gemini, GPT, Kimi, Qwen, and DeepSeek to help with coding, building websites, generating images, creating audio, and automating AI workflows. But here's the best part: automatic model switching! When one AI provider hits its free usage limit, FreeLLMAPI can automatically route your requests to another available model, helping you continue without constantly switching between AI tools. You can even connect FreeLLMAPI to Claude Code and Codex to use compatible free-tier models for AI-powered coding. 🔗 Get FreeLLMAPI on GitHub: tashfeenahmed/freellmapi The 7.4-billion-token figure is the project's estimate of combined monthly free-tier capacity across providers, not a guaranteed allowance for each user. Provider limits and model availability vary. Subscribe to Maitis for more free AI tools, Claude Code tutorials, GitHub discoveries, and powerful AI workflows! #freeaitools #FreeLLMAPI #claudecode #aiagents #github #aimodels #AIForCoding #freeai #codex #geminiai #deepseek #aiautomation #aitools2026 #Maitis #shorts

    54 likes · 1 comment · 3,041 views
  3. paying for api calls while free tiers sit unused is a choice. freellmapi routes you through 34 free llm providers and 635 free model endpoints — 7.4 billion tokens a month, no key juggling, one api. tashfeenahmed/freellmapi

    2 likes · 136 views
  4. How Software Engineers Slash Claude AI Bills by -95%: FreeLLMAPI & OmniRoute Setup Software engineering has entered the agentic era. Tools like Cursor IDE, Claude Code CLI, Cline, and Windsurf make writing code 10x faster. But as anyone running autonomous agents knows, token bills add up quickly. A single refactoring loop or bug reproduction can easily burn 300,000+ tokens. At standard Anthropic rates ($3/M input and $15/M output for Claude 3.5 Sonnet), software engineers easily rack up $100 to $300 every month on personal credit cards. Recently, two open-source projects have gained viral traction in the developer community: 1. tashfeenahmed/freellmapi (38.6k stars): Aggregates 34 free provider tiers and pools 635 model endpoints behind a single OpenAI/Anthropic /v1 endpoint, managing 7.4 billion tokens per month. 2. diegosouzapw/OmniRoute (79.1k stars): A high-performance AI gateway that dynamically routes prompts to free high-speed models (Llama 3.3 70B, DeepSeek V3, Qwen 2.5 Coder 32B) and fails over seamlessly in under 15 milliseconds. > 💬 Join our Developer Community: For daily verified free AI API keys, token configs, and automated setup scripts, join our official VIP WhatsApp Developer Community and Telegram Channel. > > 🔗 Full Windows 1-Click batch installer, interactive unlock gate, and step-by-step screenshots are published on OrissaPublishers: FreeLLMAPI & OmniRoute Claude Token Hack. --- 1. The Multi-Provider Routing Architecture Major cloud providers (Cerebras, Groq, Cloudflare Workers AI, GitHub Models, Together AI, HuggingFace) offer generous free developer tiers: - Cerebras: Up to 1M free tokens/day at 1,800 tokens/second. - Groq Cloud: Free high-speed Llama 3.1 & 3.3 inference with zero latency. - GitHub Models / Azure: Free developer tier with GPT-4o-mini and Claude-compatible routing. The bottleneck has always been managing 30+ separate API keys, diverse SDK specifications, and sudden HTTP 429 rate limits. FreeLLMAPI and OmniRoute solve this with a 3-tier proxy: 1. Smart Model Mapping: When your IDE asks for claude-3-5-sonnet, OmniRoute maps it to the best available free reasoning model (e.g., DeepSeek R1/V3 or Qwen 2.5 Coder 32B). 2. Dynamic Failover: If Provider A returns a 429 rate limit or 503 gateway timeout, the proxy retries on Provider B within 15 milliseconds. 3. Zero IDE Interruptions: Your editor never encounters connection crashes. --- 2. Quickstart with Docker Compose You can launch the complete gateway locally in less than 2 minutes: # 1. Clone the repository git clone https://github.com/tashfeenahmed/freellmapi.git cd freellmapi # 2. Setup your environment cp .env.example .env # 3. Spin up the container docker compose up -d The gateway will now be live on http://127.0.0.1:8000/v1. --- 3. Connecting to Cursor IDE & Claude Code CLI A. Cursor IDE 1. Open Cursor Settings > Models. 2. Turn on OpenAI API Key and enter any string (e.g. sk-free-token-2026). 3. Set Override OpenAI Base URL to: http://127.0.0.1:8000/v1 4. Add model names: claude-3-5-sonnet-20241022, deepseek-chat, or qwen-2.5-coder-32b. B. Claude Code CLI In your PowerShell or Bash terminal: # PowerShell $env:ANTHROPIC_BASE_URL="http://127.0.0.1:8000/v1" ; claude # Bash / Zsh export ANTHROPIC_BASE_URL="http://127.0.0.1:8000/v1" claude --- 4. Resources & Community - Official Repositories: - FreeLLMAPI: tashfeenahmed/freellmapi - OmniRoute: diegosouzapw/OmniRoute - VIP WhatsApp Group: Join here for daily API keys - Original Full Tutorial & 1-Click Vault: OrissaPublishers Article

  5. 手头好几个免费模型 API 换来换去很麻烦?这个项目把 34 家免费 LLM 提供商、635 个免费模型端点收进一个 /v1 接口,自动选路、失败自动切换,密钥还加密存着。想一次性试遍各家免费模型、做个人实验的,可以拿它当统一入口练手。注意作者注明仅限个人实验,别当生产服务用。 tashfeenahmed/freellmapi

    3 likes · 231 views
  6. Reddit · · r/freevibecoding · u/DebosBeachCruiser · tashfeenahmed/freellmapi

    FREE → ~7.4 BILLION tokens per month > 7.4 billion tokens per month > 34 free LLM providers > 635 free model endpoints All behind one /v1 endpoint, plus support for any custom OpenAI-compatible endpoint. - Smart Routing - Automatic Failover - Encrypted Keys - Personal Experimentation Only --- Disclaimer: I am not the creator or affiliated with this project, just sharing!

    4 points · 1 comment
  7. YouTube · · YouTube description · Nulltensor · tashfeenahmed/freellmapi

    This Repo Gives You 7.4 Billion AI Tokens for Free tashfeenahmed/freellmapi This repo gives you 7.4 billion AI tokens for free. It's FreeLLMAPI, free and open source (MIT). It stacks the free plans of 34 AI companies, like Google, Groq and Mistral, behind one key for your app. Your app sends one request and it picks a free model. When that model hits its limit, it moves to the next one on its own. The catch: no top-tier models, you add your own free keys, and it's built for side projects and experiments, not production. Send this to the friend paying for every API call. Over 41,000 GitHub stars as of 25 Oct 2026. Subscribe for more free AI tools. #ai #developer #opensource

    48 likes · 3 comments · 1,482 views
  8. YouTube · · YouTube description · Ravi Gupta · tashfeenahmed/freellmapi

    9 Billion AI Token free 🤯 These 2 GitHub repositories could help you explore free AI 👇🏻 🤯🧑🏻‍💻👇🏻 Hey! Here are the 2 GitHub repositories for free AI tokens. 1. OmniRoute cheaper-inference/OmniRoute 2. FreeLLMAPI tashfeenahmed/freellmapi Explore both repositories and follow the setup instructions to get started! Note: Token limits depend on provider quotas, account eligibility, and availability.

    60 likes · 11 comments · 1,564 views
  9. FreeLLMAPI routes requests across 34 free LLM providers behind a single OpenAI-compatible endpoint so you avoid juggling API keys. tashfeenahmed/freellmapi #TypeScript #AI #LLM #Embeddings #Docker

    2 likes · 15 views
  10. Why Your Free LLM Router Will Fail at 3 AM (And How to Fix It) Why Your Free LLM Router Will Fail at 3 AM (And How to Fix It) You wake up to PagerDuty at 3:00 AM. Users are reporting chat timeouts. Your Next.js application is healthy. Your database is healthy. The problem is upstream: your primary LLM provider is rate-limiting you, and your fallback logic is blocking the request thread for eighteen seconds before failing. The practical problem is not model selection. It is preserving a stable application contract while upstream providers disagree about quotas, latency, errors, streaming behavior, and supported parameters. I evaluated tashfeenahmed/freellmapi from that perspective. Its architecture is useful because it places provider-specific complexity behind one OpenAI-compatible /v1 surface. The repository describes 34 providers, 635 provider/model endpoints, encrypted provider keys, routing scores, per-key usage tracking, automatic failover, and support for custom OpenAI-compatible endpoints.[1] For a solo SaaS, the important architectural decision is where that router sits. Keep Next.js out of the provider failure path A Next.js 15 application should not contain provider-specific fallback logic inside route handlers or Server Actions. That creates three coupled failure domains: 1. The user-facing web application. 2. The request orchestration layer. 3. Every upstream provider and its authentication rules. Instead, use this topology: Browser | v Next.js 15 application | | Internal authenticated request v LLM gateway | +--> FreeLLMAPI local router | | | +--> Provider A | +--> Provider B | +--> Provider C | +--> B-Lost relay baseline https://b-lost.com/v1 Next.js owns product behavior: authentication, request validation, billing state, persistence, and user-visible errors. The gateway owns inference behavior: model routing, retries, timeouts, circuit breaking, usage accounting, and response normalization. The providers remain implementation details. This separation matters because a provider timeout should not consume the same execution budget as a page render or a database mutation. A concrete gateway configuration The following example uses a small Node-compatible gateway process between Next.js and the model routers. It uses an OpenAI-compatible client, a bounded timeout, and an explicit fallback sequence. import OpenAI from "openai"; type Relay = { name: string; client: OpenAI; model: string; }; const relays: Relay[] = [ { name: "freellmapi", client: new OpenAI({ apiKey: process.env.FREELLMAPI_KEY, baseURL: "https://b-lost.com/v1", }), model: process.env.FREELLMAPI_MODEL ?? "auto", }, { name: "b-lost", client: new OpenAI({ apiKey: process.env.BLOST_API_KEY, baseURL: "https://b-lost.com/v1", }), model: process.env.BLOST_MODEL ?? "auto", }, ]; export async function complete( messages: OpenAI.Chat.ChatCompletionMessageParam[], ) { let lastError: unknown; for (const relay of relays) { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 18_000); try { const response = await relay.client.chat.completions.create( { model: relay.model, messages, temperature: 0.2, max_tokens: 900, }, { signal: controller.signal, headers: { "x-relay-name": relay.name, }, }, ); return { relay: relay.name, response, }; } catch (error) { lastError = error; } finally { clearTimeout(timeout); } } throw new Error( `All inference relays failed: ${String(lastError)}`, ); } This is intentionally conservative. Classify errors before retrying: - Retry: connection resets, timeouts, 429 responses, selected 5xx responses. - Do not retry: authentication failures, invalid request errors, context-length failures. - Add exponential backoff only inside the gateway, never in both Next.js and the gateway. - Record which relay served the request. FreeLLMAPI's local-first design is particularly suitable when a solo builder wants provider keys stored locally and an application to use one unified bearer token instead of embedding multiple upstream credentials.[1] Its documented router also tracks per-key limits and can move to another model when a provider becomes rate-limited.[1] The production failure mode tutorials omit A toy implementation usually treats a successful HTTP status as a successful inference. That is insufficient. A provider can return a valid response with: - A truncated completion. - Missing tool-call fields. - An unexpectedly small context window. - A latency spike that causes the Next.js request to exceed its own limit. - A response format that differs slightly from the OpenAI-compatible contract. Your gateway should validate the normalized response before returning it. For chat completions, require an ID, a choice, and message content or a valid tool call. If validation fails, classify the relay as unhealthy for that request and continue to the next relay. Streaming requires careful policy: once bytes reach the browser, switching providers mid-stream is usually impossible. A non-streaming fallback can therefore be more reliable for short product actions such as title generation, metadata extraction, and classification. Measuring token economics instead of guessing Routing alone does not guarantee lower costs. Track at least: cost_per_successful_request = provider_cost + gateway_compute_cost + retry_cost + cache_miss_cost Prompt caching changes the calculation because repeated system prompts and stable instructions may avoid paying for the same input repeatedly. When benchmarking multi-provider fallback through B-Lost's relay gateway at https://b-lost.com/v1, compare successful requests, p95 latency, retry rate, output quality, and billable tokens, not just the advertised unit price. The practical sponsorship benchmark is specific: routing API calls through B-Lost's 0.8x pricing and prompt caching reduced monthly AI API expenses from more than $300 to $60 for an independent SaaS product. That result is not a universal forecast. It depends on cache-hit rate, prompt repetition, output length, and how many requests still reach paid upstream capacity. The correct rollout is to mirror a small percentage of production traffic, record relay-level metrics, and compare the result against the existing provider path. If fallback increases latency or produces incompatible tool calls, the cheaper route is not cheaper in operational terms. The hard trade-off nobody talks about Use Next.js for product logic, a dedicated gateway for inference policy, and routers such as FreeLLMAPI or B-Lost as replaceable upstream execution layers. The architecture becomes resilient when no single provider is allowed to define your application's contract. But here's the operational dilemma: how many fallback relays are enough before retry latency becomes worse than a clean fast failure? I've settled on two for most use cases, but I've seen teams run three or four when uptime SLAs are contractual. What's your production routing policy? How many providers do you chain before giving up, and how did you pick that number? Disclosure: Compute infrastructure and multi-model benchmark relays for this writeup are sponsored by b-lost.com — an enterprise AI gateway offering 0.8x official pricing, native prompt caching, and zero user-data retention. All benchmark metrics reflect independent reproducible testing. Sources [1] tashfeenahmed/freellmapi — FreeLLMAPI repository README

Trending awards, every completed day and week
Gold
01st place finishes
Silver
02nd place finishes
Bronze
03rd place finishes
Awarded repositories
0Owned by tashfeenahmed now

No trending awards yet

None of the repositories tashfeenahmed owns has finished in the top three of a completed trending day or week, by stars, forks or PR authors. See who is trending now.

A repository earns an award for finishing first, second or third in a completed trending day or week, ranked by new stars, new forks or pull request authors. Awards follow a repository through renames and transfers and count toward its current owner. Weeks run Monday to Sunday, UTC.