mcpField
L
low-code-platforms

low-code-platforms

github.com/travisjneumanDevelopment10695 installsUpdated 1d ago
Repository

About low-code-platforms

A selection and integration guide for developers evaluating low-code platforms, including Retool, Supabase, Appsmith, Tooljet, n8n, and Zapier. It also covers custom code, API-first backends, hybrid architectures, and data synchronization patterns.

Key features

  1. 01Compare common low-code platform uses
  2. 02Show a Supabase authentication example
  3. 03Demonstrate a Retool SQL query pattern
  4. 04Outline n8n workflow structure
  5. 05Describe custom code and hybrid architectures
  6. 06Cover webhook data sync and self-hosting

Use cases

  1. 01Choose a platform for internal tools or admin panels
  2. 02Build an authenticated backend with Supabase
  3. 03Sync SaaS data through n8n or Zapier
  4. 04Assess self-hosted platforms for data sovereignty needs

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/travisjneuman/.claude --skill low-code-platforms

After installing, type/low-code-platformsin Claude Code to confirm it loaded.

Details

From the project README

Low-Code & Internal Tool Platforms

Platform Selection

PlatformBest ForPricing Model
RetoolInternal tools, admin panelsPer-user
SupabaseBackend-as-a-service, auth, DBUsage-based
AppsmithInternal tools (open source)Self-host free
TooljetInternal tools (open source)Self-host free
n8nWorkflow automation (open source)Self-host free
ZapierSaaS-to-SaaS integrationsPer-task

Supabase

import { createClient } from '@supabase/supabase-js';

const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);

// Auth
const { data: { user } } = await supabase.auth.signUp({
  email: '[email protected]',
  password: 'secure-password',
});

// Database (auto-generated REST API from Postgres)
const { data, error } = await supabase
  .from('posts')
  .select('*, author:users(name)')
  .eq('published', true)
  .order('created_at', { ascending: false })
  .limit(10);

// Real-time subscriptions
supabase.channel('posts')
  .on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'posts' },
    (payload) => console.log('New post:', payload.new))
  .subscribe();

// Row Level Security (RLS)
// CREATE POLICY "Users can only see own posts"
//   ON posts FOR SELECT
//   USING (auth.uid() = user_id);

// Storage
const { data: upload } = await supabase.storage
  .from('avatars')
  .upload('user_123/avatar.png', file);

// Edge Functions (Deno)
// supabase/functions/hello/index.ts
Deno.serve(async (req) => {
  return new Response(JSON.stringify({ message: 'Hello!' }));
});

Retool

// Retool query (SQL)
SELECT * FROM orders
WHERE status = {{ statusDropdown.value }}
AND created_at >= {{ dateRange.start }}
ORDER BY created_at DESC
LIMIT {{ pagination.pageSize }}
OFFSET {{ (pagination.page - 1) * pagination.pageSize }}

// Retool transformer
const enriched = data.map(row => ({
  ...row,
  total_formatted: `$${row.total.toFixed(2)}`,
  status_color: row.status === 'paid' ? 'green' : 'red',
}));
return enriched;

n8n Workflow Automation

{
  "nodes": [
    { "type": "n8n-nodes-base.webhook", "name": "Webhook Trigger" },
    { "type": "n8n-nodes-base.httpRequest", "name": "Fetch Data" },
    { "type": "n8n-nodes-base.if", "name": "Check Condition" },
    { "type": "n8n-nodes-base.slack", "name": "Send Notification" }
  ]
}

Integration Patterns

  • Custom code escape hatches: When low-code hits limits, embed custom JS/Python
  • API-first backend: Use Supabase/Firebase as backend, custom frontend
  • Hybrid architecture: Low-code for admin panels, custom code for customer-facing
  • Data sync: Webhook-triggered n8n/Zapier workflows between SaaS tools
  • Self-hosting: Prefer Appsmith/Tooljet/n8n for data sovereignty requirements

Comments

Markdown supported