[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"post-\u002Fblog\u002Fpocketbase":3},{"path":4,"title":5,"description":6,"date":7,"rawbody":8},"\u002Fblog\u002Fpocketbase","PocketBase: Stop Overengineering","One binary. Zero headaches.","2025-12-04","---\ntitle: 'PocketBase: Stop Overengineering'\ndescription: 'One binary. Zero headaches.'\ndate: '2025-12-04'\n---\n\nWe have a toxic relationship with complexity. You have a simple idea, but three hours later, you're debugging IAM roles on AWS or writing Docker compose files for a PostgreSQL cluster you don't need.\n\nStop it.\n\n> \"Your side project doesn't need Kubernetes.\"\n\n[PocketBase](https:\u002F\u002Fpocketbase.io\u002F) returns sanity to backend development. It’s an open-source backend in a single Go file. No dependencies, no convoluted setup.\n\n### How it works\n\nYou download a binary. You run it. You have a realtime database, authentication, and file storage.\n\n```bash\n$ .\u002Fpocketbase serve\n> Server started at http:\u002F\u002F127.0.0.1:8090\n```\n\nThat's it. You get a dashboard that actually looks good, and an SDK that gets out of your way.\n\n### The Code\n\nDon't write boilerplate. Just talk to your data.\n\n```javascript\nimport PocketBase from 'pocketbase';\n\nconst pb = new PocketBase('http:\u002F\u002F127.0.0.1:8090');\n\n\u002F\u002F Auth is solved\nawait pb.collection('users').authWithPassword('user@n0w.me', '12345678');\n\n\u002F\u002F Database is ready\nconst record = await pb.collection('posts').create({\n  title: 'Simplicity wins',\n  content: 'Always.',\n});\n```\n\nIt’s fast enough for 99% of what you’re building. For the other 1%, you probably have the budget to be miserable on AWS anyway.\n\nDownload the binary and ship the damn thing.\n",1783267423469]