[{"data":1,"prerenderedAt":186},["ShallowReactive",2],{"post-\u002Fblog\u002Fpocketbase":3},{"id":4,"title":5,"body":6,"date":177,"description":178,"extension":179,"meta":180,"navigation":103,"path":181,"seo":182,"sitemap":183,"stem":184,"__hash__":185},"blog\u002Fblog\u002Fpocketbase.md","PocketBase: Stop Overengineering",{"type":7,"value":8,"toc":173},"minimark",[9,13,16,22,32,37,40,77,80,84,87,163,166,169],[10,11,12],"p",{},"We 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.",[10,14,15],{},"Stop it.",[17,18,19],"blockquote",{},[10,20,21],{},"\"Your side project doesn't need Kubernetes.\"",[10,23,24,31],{},[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fpocketbase.io\u002F",[29],"nofollow","PocketBase"," returns sanity to backend development. It’s an open-source backend in a single Go file. No dependencies, no convoluted setup.",[33,34,36],"h3",{"id":35},"how-it-works","How it works",[10,38,39],{},"You download a binary. You run it. You have a realtime database, authentication, and file storage.",[41,42,47],"pre",{"className":43,"code":44,"language":45,"meta":46,"style":46},"language-bash shiki shiki-themes github-light github-dark","$ .\u002Fpocketbase serve\n> Server started at http:\u002F\u002F127.0.0.1:8090\n","bash","",[48,49,50,66],"code",{"__ignoreMap":46},[51,52,55,59,63],"span",{"class":53,"line":54},"line",1,[51,56,58],{"class":57},"sScJk","$",[51,60,62],{"class":61},"sZZnC"," .\u002Fpocketbase",[51,64,65],{"class":61}," serve\n",[51,67,69,73],{"class":53,"line":68},2,[51,70,72],{"class":71},"szBVR",">",[51,74,76],{"class":75},"sVt8B"," Server started at http:\u002F\u002F127.0.0.1:8090\n",[10,78,79],{},"That's it. You get a dashboard that actually looks good, and an SDK that gets out of your way.",[33,81,83],{"id":82},"the-code","The Code",[10,85,86],{},"Don't write boilerplate. Just talk to your data.",[41,88,92],{"className":89,"code":90,"language":91,"meta":46,"style":46},"language-javascript shiki shiki-themes github-light github-dark","import 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","javascript",[48,93,94,99,105,111,116,122,128,133,139,145,151,157],{"__ignoreMap":46},[51,95,96],{"class":53,"line":54},[51,97,98],{},"import PocketBase from 'pocketbase';\n",[51,100,101],{"class":53,"line":68},[51,102,104],{"emptyLinePlaceholder":103},true,"\n",[51,106,108],{"class":53,"line":107},3,[51,109,110],{},"const pb = new PocketBase('http:\u002F\u002F127.0.0.1:8090');\n",[51,112,114],{"class":53,"line":113},4,[51,115,104],{"emptyLinePlaceholder":103},[51,117,119],{"class":53,"line":118},5,[51,120,121],{},"\u002F\u002F Auth is solved\n",[51,123,125],{"class":53,"line":124},6,[51,126,127],{},"await pb.collection('users').authWithPassword('user@n0w.me', '12345678');\n",[51,129,131],{"class":53,"line":130},7,[51,132,104],{"emptyLinePlaceholder":103},[51,134,136],{"class":53,"line":135},8,[51,137,138],{},"\u002F\u002F Database is ready\n",[51,140,142],{"class":53,"line":141},9,[51,143,144],{},"const record = await pb.collection('posts').create({\n",[51,146,148],{"class":53,"line":147},10,[51,149,150],{},"  title: 'Simplicity wins',\n",[51,152,154],{"class":53,"line":153},11,[51,155,156],{},"  content: 'Always.',\n",[51,158,160],{"class":53,"line":159},12,[51,161,162],{},"});\n",[10,164,165],{},"It’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.",[10,167,168],{},"Download the binary and ship the damn thing.",[170,171,172],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":46,"searchDepth":68,"depth":68,"links":174},[175,176],{"id":35,"depth":107,"text":36},{"id":82,"depth":107,"text":83},"2025-12-04","One binary. Zero headaches.","md",{},"\u002Fblog\u002Fpocketbase",{"title":5,"description":178},{"loc":181},"blog\u002Fpocketbase","-U2nbcHnH3A8M_FsrEQTpO9ebVsjUq7dzbJcytklinA",1783186628091]