惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
Recent Announcements
Recent Announcements
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
J
Java Code Geeks
博客园_首页
Jina AI
Jina AI
美团技术团队
H
Help Net Security
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
S
SegmentFault 最新的问题

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a backend platform that generates REST APIs from ...
Srikar Phani Kumar Marti · 2026-05-29 · via DEV Community

Every side project I've shipped starts the same way: I have a frontend idea, and I immediately have to stop and go build a backend for it.

Not because the backend is hard. Because it's tedious. The same patterns, every time. Define a model. Wire up routes. Handle errors. Write docs nobody reads. Set up auth. Repeat.

At some point I stopped asking "how do I build this backend faster" and started asking "why am I building it at all?"

That question became Crudly.

What it actually does

You create a project, add a collection (think: a database table with a name and fields), and Crudly instantly gives you a live REST API at:

https://api.crudly.org/v1/{your-project}/{collection-name}

GET, POST, PUT, DELETE — all working, all authenticated, all documented. You didn't write a single line of backend code.

Here's what that looks like in practice. I created a project called sample, added a todos collection, and within about 30 seconds I had:

# List all todos
curl "https://api.crudly.org/v1/sample/todos" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Create a todo
curl -X POST "https://api.crudly.org/v1/sample/todos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Repair Watch", "done": false}'

That's it. No Express. No Postgres migrations. No deploy step.

The architecture decision that makes this possible

Crudly doesn't generate code. There's no Express app being scaffolded and deployed per user. That approach sounds appealing until you think about what it costs — cold starts, isolated infra per project, deployment latency, and a maintenance nightmare.

Instead, the API server uses dynamic runtime routing. Every request to api.crudly.org/v1/{project}/{collection} hits the same handler. At request time, it reads your schema configuration, validates the request against it, and serves or persists data accordingly.

The schema is the source of truth. The routes don't exist as code — they're resolved at runtime from what you defined in the dashboard.

This is the same pattern that makes tools like Hasura and PostgREST compelling, except Crudly's surface area is intentionally smaller. You're not writing GraphQL. You're not pointing it at your own Postgres instance. You create a collection, you get endpoints. That's the whole contract.

What ships with it

The thing I kept running into with minimal API tools is that they solve one problem and leave you to figure out everything adjacent. Crudly ships the full surface:

Playground — A browser-based HTTP client (Postman style) built into the dashboard. Select your collection, pick a method, fire a request. I built this because switching to Postman or Insomnia mid-flow kills momentum. The response comes back formatted, with status codes and timing.
Playground

Auto-generated docs — Every collection gets docs that reflect the actual schema. They update when the schema changes. The curl examples use your real endpoint URLs. No Swagger YAML to maintain.
Auto Generated Docs

Request logs — Real-time traffic visible from the dashboard, filterable by method, status, endpoint, and date. Useful enough that I've caught integration bugs in client apps just from watching the log stream.
Request Logs

Webhooks — POST callbacks on create, update, or delete events per collection. If you're integrating with n8n, Zapier, or your own service — this is how you wire it up without polling.

API key auth — Read-only and read-write keys per project. Generate and revoke from the dashboard. Keys go in the Authorization: Bearer header.

Admin Panel — A generated data dashboard. Browse records, create entries, edit, delete. Useful during development and for non-technical stakeholders who need to manage content.

What I didn't build (deliberately)

No custom logic. No middleware hooks. No computed fields. No joins across collections.

If you need those things, you need a real backend and you should build one. Crudly is not trying to be Firebase or Supabase. It targets a specific use case: you have a frontend, you need persistent data with a REST interface, and you want it running in under five minutes.

The constraint is the feature. Every time I was tempted to add "just a bit of custom logic support," I asked whether it would break that five-minute promise. Usually it would.

Where it actually fits

The use cases where Crudly earns its keep:

  • Prototyping and MVPs — Wire up a real API before you've decided whether the product is worth building a proper backend for.
  • Frontend demos and portfolios — Stop mocking data in JSON files. Ship something that actually persists.
  • Internal tools — A quick admin data store for a side dashboard, without standing up another service.
  • Hackathons — The entire backend setup takes less time than arguing about which framework to use.

Try it

Crudly is live at crudly.org. Free plan available. Create a project, add a collection, hit the endpoint — it takes about two minutes to get to a working API call.

If you run into anything broken or have a use case it doesn't handle, I'm interested. Still actively building this.