Tools: Why Are You Still Using AI to Generate Table Code? 😀

Tools: Why Are You Still Using AI to Generate Table Code? 😀

Source: Dev.to

What is TableCraft? ## Backend Setup (Hono) ## Frontend Setup (React) ## What You Get ## Available Packages ## Save Your Tokens Every time I asked ChatGPT to create a data table, I got the same 200+ lines of code. Filtering. Sorting. Pagination. Search. Export. Column visibility. Date pickers. New project? Same prompt. Same code. Same debugging. I realized something: I was paying tokens for work that never changes. That's not what AI is for. AI is for creative problems. Repetitive boilerplate should be abstracted away. So I built TableCraft. A Drizzle ORM-powered table engine that auto-generates everything from your database schema. That's it. One component. No column definitions. Next time you need a data table, don't prompt AI. πŸ”— GitHub: https://github.com/jacksonkasi1/TableCraft πŸ“š Docs: https://jacksonkasi.gitbook.io/tablecraft Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse CODE_BLOCK: import { Hono } from 'hono' import { createHonoApp } from '@tablecraft/adapter-hono' import { defineTable } from '@tablecraft/engine' import { db } from './db' import * as schema from './db/schema' const users = defineTable(schema.users) .hide('password') .search('email', 'name') .sort('-createdAt') const app = createHonoApp({ db, schema, configs: { users }, }) new Hono().route('/api/engine', app) Enter fullscreen mode Exit fullscreen mode CODE_BLOCK: import { Hono } from 'hono' import { createHonoApp } from '@tablecraft/adapter-hono' import { defineTable } from '@tablecraft/engine' import { db } from './db' import * as schema from './db/schema' const users = defineTable(schema.users) .hide('password') .search('email', 'name') .sort('-createdAt') const app = createHonoApp({ db, schema, configs: { users }, }) new Hono().route('/api/engine', app) CODE_BLOCK: import { Hono } from 'hono' import { createHonoApp } from '@tablecraft/adapter-hono' import { defineTable } from '@tablecraft/engine' import { db } from './db' import * as schema from './db/schema' const users = defineTable(schema.users) .hide('password') .search('email', 'name') .sort('-createdAt') const app = createHonoApp({ db, schema, configs: { users }, }) new Hono().route('/api/engine', app) CODE_BLOCK: import { DataTable, createTableCraftAdapter } from '@tablecraft/table' const adapter = createTableCraftAdapter({ baseUrl: '/api/engine', table: 'users', }) export function UsersPage() { return <DataTable adapter={adapter} /> } Enter fullscreen mode Exit fullscreen mode CODE_BLOCK: import { DataTable, createTableCraftAdapter } from '@tablecraft/table' const adapter = createTableCraftAdapter({ baseUrl: '/api/engine', table: 'users', }) export function UsersPage() { return <DataTable adapter={adapter} /> } CODE_BLOCK: import { DataTable, createTableCraftAdapter } from '@tablecraft/table' const adapter = createTableCraftAdapter({ baseUrl: '/api/engine', table: 'users', }) export function UsersPage() { return <DataTable adapter={adapter} /> } - βœ… Auto-generated columns from schema - βœ… Server-side filtering, sorting, pagination - βœ… Global search - βœ… Date range picker - βœ… CSV/Excel export - βœ… Column visibility & resizing - βœ… URL state sync (shareable links) - βœ… Role-based access control - βœ… Soft delete support - βœ… TypeScript type generation