Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slopsource

We open source the slop.

One overpriced AI wrapper gets a real, self-hostable replacement. Every day.

drops unsubscribed models license


Slopsource — we open source the slop

The thesis

A $25/month subscription for a system prompt and somebody else's API key is not a company. It's a markup.

Slopsource ships the thing underneath. One folder at a time, every day, until the pricing pages stop making sense.

Every drop is a real, working application — not a demo, not a UI clone with mocked data, not a "coming soon." You clone it, you run it, you own it. It talks to your model: a local one on your own hardware, or your own API key.

There is no Slopsource account. There will never be a Slopsource account.


Why "slop"?

Slop isn't "built with AI." Plenty of good software is built with AI.

Slop is the business model:

  • A 900-line wrapper priced like infrastructure
  • A free tier engineered to be exactly useless enough
  • Five credits a month, and a paywall in the middle of your work
  • A cancel flow with four confirmation screens and a retention offer
  • An app that charges you $9/month to hide the apps on your own phone

The code in this repo is not slop. That's the entire point.


The drops

# Folder Replaces They charge Status
001 unlovable/ Lovable $25/mo ✅ shipped
003 offcal/ Cal AI $29.99/yr 🔨 built — accuracy not yet measured
004 undeck/ Gamma $10/mo ✅ shipped — 12 layouts, charts, icons, 6 templates
006 ledge/ Dropover · Yoink $7 · $8.99 ✅ shipped — native macOS, no permissions, no network

Running total: $35/mo + $30/yr + $16 one-time unsubscribed.

Drop 006 is a native Mac app, not a container — no Docker, no model, no .env. cd ledge && ./build.sh and it's yours.

On the block

Perplexity · Cursor · Wispr Flow · Rize · Opal · Napkin · Granola · every screentime app charging a subscription to turn off notifications

Nominate one →


Quickstart

Clone once. Configure once. Every drop — today's and every one after it — just works.

git clone https://github.com/micahc123/slopsource
cd slopsource/unlovable
docker compose up

Open http://localhost:4321 and connect a model — pick a provider, paste a free key, done. Drops read the repo root .env too if you prefer a file.

If it takes longer than a minute, that's a bug — open an issue.


Bring your own everything

Every drop reads the same three variables from the root .env. Drop #001 and drop #100 take identical config, so you set this up once and never think about it again.

LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_MODEL=google/gemma-4-26b-a4b-it:free
LLM_API_KEY=                             # free key, no card

You do not need a GPU. The default is a free hosted model — no download, no credit card, about a minute to get a key. Nothing here assumes a frontier model.

Anything that speaks the OpenAI chat-completions shape works — Ollama, LM Studio, llama.cpp, vLLM, OpenRouter, Groq, Together, Cerebras, Google AI Studio, OpenAI itself. Point LLM_BASE_URL at https://api.anthropic.com and drops that support it switch wire format themselves (x-api-key, anthropic-version, system prompt hoisted out of the messages) rather than making you configure it.

Two things worth knowing before you start:

  • There is no keyless free model. Every hosted provider rejects unauthenticated requests — checked, not assumed. Free means free of charge, not free of signup.
  • Free tiers are smaller than they look. Measured, not quoted: OpenRouter gives 50 requests/day on :free models, Google AI Studio gives 20/day on gemini-2.5-flash. A 5-page site is 6 requests; a 10-slide deck is 11. Switch provider, go local, or add credits when you hit it.
  • A daily cap is not a rate limit. Google answers a daily quota with retryDelay: "26s", which is useless advice — the limit resets at midnight. Drops recognise the difference and fail fast instead of backing off for three minutes.
Free providers, no credit card
Provider Free key Base URL
OpenRouter openrouter.ai/keys https://openrouter.ai/api/v1
Groq console.groq.com/keys https://api.groq.com/openai/v1
Cerebras cloud.cerebras.ai https://api.cerebras.ai/v1
Google AI Studio aistudio.google.com/apikey https://generativelanguage.googleapis.com/v1beta/openai
NVIDIA NIM build.nvidia.com https://integrate.api.nvidia.com/v1

On OpenRouter the free models are the ones ending in :free. List the current set without a key:

curl -s https://openrouter.ai/api/v1/models | grep -o '"id":"[^"]*:free"'
Fully local — nothing leaves your machine

Still supported, just no longer required.

brew install --cask ollama
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
ollama pull qwen2.5-coder:7b
LLM_BASE_URL=http://localhost:11434/v1
LLM_MODEL=qwen2.5-coder:7b
LLM_API_KEY=

OLLAMA_CONTEXT_LENGTH is not optional. Ollama defaults to 4096 tokens and truncates longer prompts silently — generation looks fine while editing appears completely broken.

LM Studio (:1234), llama.cpp and vLLM (:8080) work the same way.


The bar

Every drop clears all five, or it doesn't ship that day.

1. Your model. Always. Local on your own GPU, or your own API key. Never ours. If a drop can't run fully offline against a local model, it doesn't ship.

2. One command. docker compose up. If installing it needs a wiki, it isn't self-hostable — it's homework.

3. The core job, end to end. The thing the product is actually for, working, with real output. Mocked backends are not drops.

4. An honest "What this doesn't do." Every drop README has one, near the top. Scope you state up front is a feature. Scope discovered at 2am is a betrayal.

5. It gets used before it ships. If I wouldn't reach for it over the thing it replaces, it isn't finished.

Missing a day is survivable. One broken folder isn't.


Layout

slopsource/
├── .env.example        # one config, inherited by every drop
├── unlovable/          # 001 · replaces Lovable
│   ├── docker-compose.yml
│   └── README.md       # quickstart · what it doesn't do · tested models
├── offcal/             # 003 · replaces Cal AI
├── undeck/             # 004 · replaces Gamma
├── ledge/              # 006 · replaces Dropover — a Mac app, so ./build.sh instead
└── <next drop>/        # tomorrow

Each folder is fully standalone — its own compose file, its own dependencies, its own README. Nothing is shared between drops except the three env vars. Delete every folder but one and it still runs.

Native drops are the same deal with a different verb: ./build.sh instead of docker compose up, and no model config at all when the app has no business calling one.


Contributing

Nominate a target. The best ones are specific: what it costs, what it actually does under the hood, and the exact moment the paywall ruined your day.

Improve a drop. Ship day is day one, not the last day. PRs welcome on any folder.

Ship your own. Clear all five bar rules, open a PR with your folder, and it gets indexed above with your name on it.


What this is not

Not a pile of half-finished clones. See the bar. A drop that doesn't work doesn't get merged.

Not scraped or decompiled. Every drop is written from scratch against the idea, never the original's code or assets.

Not a startup. No funding, no waitlist, no Discord-gated beta, no hosted tier, nothing to buy. The moment there's something to sell, this stops working.

Not affiliated with any company named here. Names appear only to describe what each drop replaces. No logos, no trademarks, no assets. All original work, MIT licensed.


Star the repo. New drop, every day.

MIT — take it, sell it, host it, fork it. That's the whole idea.

About

We open source the slop. One overpriced AI wrapper gets a real, self-hostable replacement — every day. Runs on your own local model or your own API key.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages