PocketBase... The Ultimate Side-Hustle Backend?
HTML-код
- Опубликовано: 6 фев 2025
- Take first look at PocketBase, a new backend platform using the Go programming language and SQLite database that compiles to a single executable. It is a lightweight alternative to tools like Firebase and Supabase for easy backend development.
#programming #firstlook #TheCodeReport
🔗 Resources
PocketBase Github github.com/poc...
Pocketbase HomePage pocketbase.io/
Firebase Alt Video • I tried 5 Firebase alt...
Edge Functions Video • Is "edge" computing re...
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
Atom One Dark
vscode-icons
Fira Code Font
🔖 Topics Covered
What is PocketBase?
Pocketbase vs Supabase
Pocketbase vs Firebase
Is PocketBase production ready?
How to choose a backend for an app?
"Destined to fail, but if not.. does it scale" This should be the motto for all side projects
Story of my f’n life
lol😟
I laughed so hard because it is true and also my life story
"Nah. I'd win."
we need another backend base service as an alternative to this one. and also a new javascript framework while we are at it
Written in rust
@@HAL-9000- Rust is 🙏
It's definitely my favorite language ever
@@Affax Mine too, followed by Go
Directus is a great alternative
@@HorsiMusic or hasura
Just want to say that I absolutely love your humour - "your side project which is destined to fail", saying "sharding" but putting "sharting" on-screen, etc...
Actually helps me retain the information because the laughs are keeping me focused, whereas other RUclipsrs lose me within seconds due to their long-winded, monotone, no-nonsense approach to teaching programming concepts.
I'm glad I was alone in the room when "your side project which is destined to fail" came up, I started 😂 like an idiot
Start your project now by building your backend from scratch ❌
Spend endless hours looking at BaaS alternatives and never actually start your project ✅
That's the way
why you gotta call me out like that
Start your project now by building your backend from scratch ❌
Spend endless hours looking at BaaS alternatives and never actually start your project ❌
Forget about the original project and create your own BaaS platform because none of the existing ones out there fit your "taste" ✅
So wait, all these services (firebase, supabase anythinbase) are used to avoid making a backend with node, flask, Django, c# etc?
I really thought they were meant to host your backend lol
Very noob much wow
@@wlockuz4467 Thats how most frameworks were born, maybe
He said he was gonna look at pocketbase over the weekend and here we are. Boy does he deliver!
TIL Firebase uses “sharting” to horizontally scale. Only downsides of this strategy are the underwear overhead and the smell, but I find the tradeoff to be worth it, especially if you aren’t doing much code-sniffing
Underwear overhead and the smell xD
Bruh 💀
Make sure you're consistently dumping your cache you'll be good to go 👍💩
@@shortkeys73 HELPPPP
bravo
I have a SASS project I made years ago with Laravel and uses SQLite. Never had an issue with it. On of the best engineering project of all time. A fully transactional database in just a simple file is awesome.
I’ve been using Laravel for Medium applications and it’s amazing the power it gives you for your backend. Even better when they switched Webpack with Vite 🤩
Now let’s talk about security with SQLite
@@ko-Daegu security should be implemented at the backend level, not the database level
@@ko-Daegu you make your own solution handling access control to your services. And following best practices when hashing things.
I also used sqlite in a project. It run very fast was very easy to backup. Then someone replaced the implementation with sqlite because the person in charge said sqlite is not "professional enough"
Follower for a while, thanks for all the hard work!
i love how pocketbase has real-time demo, so you can see other people testing it
I saw things I can’t unsee.
Wait , that's user generated stuff ,, huh
You can scale horizontally by giving each customer their own executable. You don't have to worry about "noisy neighbours", only one customer is affected if an app goes down, you can scale each customer independently and you can easily A/B test features or do progressive rollouts of new versions.
This is a surprisingly underrated strategy. For the small amount of communication that needs to be global, you can implement that as an integration and host that using whatever tech you like. You may never need it, depending on the use case.
cheapest horizontal scaling i can ever imagine
@@jameslay6505 It's because people still think of databases as this big shared multi-tenant setup. So all the effort in the last 20 years of devops has gone into optimizing a monolithic data store so there's not much tooling around "one stack per customer". They'll say it's too hard to manage lots of small instances, but sink $500,000 into standing up a Kubernetes cluster to scale 5 microservices.
@@soviut303 true, we use a different instance of our project for each client (each on a different machine), each with a separate database. And we have CI. No problems! This strategy is underrated
Wait, how? How does the executable get on their device and run?
This Pocketbase project is incredible. A single binary that does all that whereas Appwrite/Supabase require like 6 large containers.
Definitely using this for my next "startup".
I like Appwrite but can love PocketBase so much.
Appwrite is kind of overweight baas for a new startup
This is the ultimate wombo combo! Go with Echo framework and Svelte for the UI plus SQLite for maximum portability; no Docker required. This is the gold standard for me in my mind; three seriously underrated pieces of technology orchestrated together to create a small binary that is easily self-hostable.
SQLite is perfectly useful in production for mobile apps, to have local caching. Very useful for apps that require a lot of downloads while the user is likely not around a wifi-spot, or as a way to lower the amount of calls to servers.
I use it for small e-commerce websites where I know for sure the shop is never going to reach thousands of customers a day (usually just mom and pop shops that want to sell just a few products on the internet to returning customers with not much advertising) and also for Headless CMS projects
"It would work just fine for your side project that's destined to fail" - that hit hard man :)
Perfect for my side project which is "destined to fail!" 🤣
spoken like a true freelancer, hooraah.
If I expect my side project to fail, and it does fail, then it met expectations.
And if it met expectations, was it really a failure? 🤔
@@JohnDoe4321 dayum this guy here giving existential crisis to all freelancers
It is bound to fail because packetbase hasn't even reached version 1 yet
I’m about to migrate from Firebase to Self Hosted Supabase for our infra for some client specific storage location requirements that cannot be met through GCP.
Obviously I came to Fireship for inspiration!! Happy to read comments that say it’s not too tough ❤ 🤞
I've been running Supabase self hosted for a long time now, deploying on x86 was a really painless process if you follow their guide, and on the 1 CPU, 1GB of RAM I bought for the side project it's for it works great (the project also has super low traffic, but the specs are comparable to a basic Supabase plan). The only kink was when I tried to deploy on ARM, despite the images saying they're built for ARM and Supabase claiming they built them for ARM, the Postgres image simply doesn't work (the others do though). After a log of work, just building Postgres image from the supabase/postgres repo manually worked like a charm.
Hope you don’t mind me asking, but I’ve been wondering if I might try hosting it for my projects too, but no cloud functions in the self hosted version has me hesitating. Has that been a problem for you at all?
how to protect supabase studio? i don't have experience with traeffic.
@@winkleraron8175 Cloud functions haven't been a problem for me personally, I use Cloudflare Workers for anything on the edge.
Still years after arm went mainstream… arm support for docker images is abysmal.
Thanks for putting this out. I'm definitely considering this as the backend for a multiplayer browser game.
Use redis instead.
@@lionlike5856 why is that?
@@PMantis013 Redis is blazingly fast
you gotta be kidding me, I literally got to know about PocketBase about 12 hours ago and here's a Fireship video on it woah
Go & Svelte are my favorite languages, thanks for the report !!
You know what, You convinced me to build my own backend. It seems way more easier than using and managing these.
That is always the end goal, but you can create an MVP in half the time using a BAAS.
That's the Truth 100%. I highly recommend Laravel. The tooling and ecosystem is really amazing
Hello, yes I would like to sell my own BaaS using a BaaS as a backend.
For many CRUD apps just setting up a database plus Hasura may also be an option.
Writing a backend feels quite easy and fun to me. Frontend now just feels like an endless maddening search for the one true framework, hacking together a UI with CSS and a glorified text markup language, guessing types until you get a type error, and other nonsense. Writing a backend feels like you're engineering an intricate system with a goal of describing your data and how it changes state. You can choose any framework or programming language, use whatever cool thing you found convenient without fearing browser compatibility, and focus on real problems. It's quite fun if you have the time and it doesn't grow into a spaghetti codebase.
I'm in the middle of a PocketBase + Flutter build on my Twitch channel, I'm really enjoying it so far. Totally recommend that folks consider it.
Thanks for sharing this project, I am very excited to try it myself! Sqlite is a great database solution, but very underrated because engineers in companies gravitate towards complex setups to justify their jobs and salaries.
Haha this is 100% true. Unfortunately I am one of those. Corps that can afford M$ stack can afford to buy me all the shiny toys I so desire. But hell if I am using M$ for my side projects.
We use supabase in production for 4k+ users, and We have spent few hours figuring out how to setup email templates 😅😅, and now it's okay there are some bugs like sometimes reset password would not get processed but it can be a client sided thing
"Side projects that's destined to fail"
Developers: Why are we here, just to suffer!
Exactly my thought. It's a bitter truth. In last Code review, he mentioned 5 users and I was like. yeah. just kill me.
Apparently so💀
It really looks amazing. Self-hosting is the best hosting.
what about security when your webapp starts scaling? self-hosting is cool if your app keeps simple
i just rolled my own backend + api framework instead. after chasing my tail a little bit it’s now at a good point of stability and i really like it. it’s basically just micro services but in a single daemon w/ hot loading
Just wonna say, I love your videos and the way you present them to audience is brilliant . Thx ☺
Wooaa Then you definietly need to see SurrealDB !!!
I think that besides the real-time functionality, other HeadlessCMSs like Strapi, Directus, Keystone, Squidex, ParseServer or Cockpit can also be included in the same bucket of the previous mentioned technologies.
Hosting Supabase on my VPS behind Traefik currently and honestly didn't find it all that hard. Sure, some things were a bit finicky and not obvious but it wasn't a hair pulling exercise in my experience.
You are a bless to the dev community
normally i dont give reviews but maam youre amazing like i tried 2 videos on 2020 and one on 2022 but it wont work but i saw yr video today and it worked as being both content creators i respect your hard work and keep it up
My side project will never fail...
(*points to temple black man meme).
If I never start it!
Wooooo, time to support the devs, Pocketbase is GOAT
Amazing video. I think Directus is also a great Firebase alternative.
This channel is a rare gem
mind blown, this is exactly what I need and I've been looking for so long!
YES TO THE PROXIMITY HOVER TUTORIAL :)
I used ElefantCMS for years as a WP alternative which uses SQLite years ago. So fast!
Always enjoy your videos so much. Just last week I was checking pocketbase and it put me to think too 🤔. A video about surrealdb would be great.
Yes, surrealdb next please :)
my goodness! Your presentation blew my mind more than pb
Thanks for introducing this tool!
Yo after 50 seconds i am sold. Looks incredible!😍
Idk if removing the flashing intro was even asked, but thank you mister for our eyes !
It looks a lot like Directus which is also excellent.
Here we go again
Am using directus and I fkin love it
@@chaitanyakulkarni6416 I expect a Directus review after next weekend xD
@Fireship
Directus >> Supabase
It is blazing fast, baby!
I’ve already made 7 JavaScript frameworks since this came out.
To be honest , I did learn something out of this .
I am just an beginner but still fireship videos are knowledgeable :)
Watched this while “sharding”. Gained new perspective on the performance of my porcelain computer
would love a 100 seconds of surrealDB. it looks very interesting and unique, and written in rust ofc
this is right what i need! gonna restart my side-project again
> Sees firebase videos
Alright seems good enough, gonna try to use it in my project
> Posts supabase video
Now... Okay will be worthy at long term if i want to selfhost
> Goes back to firebase given sql databases and foreign tables are too much for me
>Posts another alternative to both
Pls can this end 😂
It never ends. There's always "one more thing" around the corner. You just have to pick a tech stack and get good at it.
You gotta learn SQL, it's part of the fundamentals. Don't run from it, it's not that hard
@@danielchettiar5670 Agreed. Being nosql is a downside of firebase, not an advantage. It gives you a document store that handles simple cases well and is relatively idiotproof in terms of making it difficult to accidentally create a poorly optimized query, but it can't handle anything complex that SQL or Cypher could.
@@BosonCollider Yeah exactly. Like even just in terms of making of yourself marketable for jobs, any serious endeavour out there tends to use SQL. So you just end up hurting yourself.
I'm super happy to see my comment there.
Go FTW! 💙
I mean, all that Go, Single Executable, Super Fast and such are very nice, but what you got me at was Svelte. Discovered Svelte months ago and fell in love. Hated Javascript/HTML/CSS/WebDev as a whole before (backend dev coming from java) and Svelte is insanity, but positive. And PocketBase sounds and seems so good (will definitely use it in my next project that'll definitely fail ;)) but than hearing it's using Svelte... not gonna lie, I had sex that felt worse than hearing that....
I would just hope it has more clients/sdks, e.g. Java for backend and Android support (never worked with Dart).
Well, the stack sounds like a dream to me. And Dart/Flutter is awesome for mobile, give it a try!
Missed an opportunity to add a reverb on the “Does it scale”
Just bought soft soft! So excited to get started!!
I’m sold.
"And I'm sure it'll work perfectly fine for your side project which is destined to fail". God... so true
Serious comment, can you do a comparison between Firebase / Supabase / Pocketbase / AnyOtherBase?
You think this is not a serious thing but some of us are new and just trying to learn the very big picture story so we can choose what technologies to focus on. Most of my time is spent not actually doing, but just keeping up with what is possible and what is worth investing my time in learning.
My comments on those as a self-hosted centric point of view
Firebase = NoSQL, Vendor lock with google,good language support, no self-hosting
Pocketbase = SQLite with guard rails, I think it’s pretty cool but not for me as it’s pretty hard to extend (like if you want to add graphql you’re hopeless)
Supabase = Postgres with a fancy ui pretty similar to pocketbase, you can self host with a docker image which makes it really convenient. And their preconfigured plug-ins 🤌 mwahh
If you want database as a service I’d probably pick d1 or turso.
For self hosting probably still pick plain postgress if I don’t need any fancy stuff.
But to be honest pairing most of these with drizzleorm will make it a piece of cake to manage your schema (and doing mutations if you’re using js/ts )
I love PocketBase!
"The next MySpace" 😂 One of your best ever lines Jeff
“Your side project that’s destined to fail”… 😂😂 getting a little personal this morning
"Your side project that's destined to fail"... Instant subscribe
I have found what i was looking for :-)
THANKS 😃
We are running supabase self hosted in production, and, it went. It took some time though. Some lots of time.
Thank you so much for this jeff… im building a little scratchpad for my team
Finally, there are now 15 standards available.
Love the recursive database relationship at the end 😆!
Interesting gonna check it out
I've always been a fan of SQLite and never understood some of the hate it gets
sqlite ftw
I don't know if people hate it, so much as think it's just suitable for bootstrapping and should be replaced ASAP - which absolutely isn't the case
@@MatthewTaylor86 I have seen so many cases where documentation states that 'Get Started' examples are using SQLite & replace it with a 'real' db ASAP.
I fell into the trap of believing it was not suitable to real workloads, but everyone is really positive about it & I need to re-think my life choices now.
Fantastic! 👏🏻👏🏻👏🏻👏🏻👏🏻
this in combination with railway is just fantastic to use !
How did you deploy it on railway? I had to deploy via a dockerfile in a github repo. I was wondering if there is an easier way
I love SQLite, I always use it for my projects. Good to see it gettin the love
Please do videos on side hustle projects. Love from India 🇮🇳
I'd love to see a video about htmx.
I feel that a video on Directus is already near lol
Wow, I didn't know I could self-host supabase. Who would have thought I'd learn that in a video about another software
1:54 Poor Firebase, it sharted itself...
Oh it used Svelte for its dashboard? I am switching immediately.
Just mentioning that if it is running on go, scaling vertically makes perfect sense due to the multi-threading capabilities.
I like how there's like ~30 people checking PocketBase demo out usually, but right now it's at 1k + ahahaha
Really cool, though I prefer my databases with sharting thank you.
This made me question everything I know and wonder if it's actually sharting and not sharding. Good to know it's just a typo ÷)
1:54 LMAO "SHARTING"
sharding? Looooooooooool.
TNice tutorials was excellent man, thank you so much! I'm a 40yr old noob that's always wanted to try making soft and never got around to it. I'm
"You're side project that's destined to fail"
Thanks for not lying to me like my high school guidance counselor always did
Finally, somebody who spells sharting correctly.
Go for the win!
Would love to see a video on SurrealDB. Looks like an incredible new technology
Damn that looks wonderful. Already made a small introduction about this nice piece of software :). Thanks for making this video
Love the embedded SQL idea!
Would love a video on Uppy!
It is literally my birthsday and today i decided to start learning GO wow
Awesome !!!!!!
I scale, therefor I shart 🔥
Well the realistic goal for my side hustle app is 100 users tops, so I think I'll go this route thanks Fireship!
thanks, will try this
Can u do a small tutorial on pocketbase
Nice. I love go. I'll see this new tech.
I changed two lines in pocketbase source code and now I have SQL cypher encryption on the database file.