BeReal 📸🕑⏳ as a progressive web app. - https://bereal.pages.dev
📢 This project is undergoing a major rewrite and currently does not work.
BeReal is the simplest photo sharing app to share once a day your real life in photo with friends. Every day at a different time, everyone captures a photo within 2 minutes. Capture and post in time to discover what your Friends are up to.
BeReal's Android app was originally really poorly designed, unlike their iOS app. I took it upon myself to create a platform agnostic PWA using their iOS app design. Since starting the project, BeReal's Android app UI has been updated to match their iOS app (🎉).
This project still exists since it works on any device, including laptops and tablets.
- Nuxt 3 (+ Vue.js)
- Nuxt Image
- Shadcn for Vue
- TailwindCSS
- TanStack Query
- VueUse
- Vite PWA
- Cloudflare Pages
BeReal does not offer a public API and made it difficult to find values their source code, so they aren't include in this source code. BeReal Web handles these values server side only through environment variables. If you need them, you're probably technical enough to find them yourself, at which point also look here.
In editors, we need to make the TypeScript language service aware of .vue
types. We'll use Volar's Take Over Mode. You can enable it by the following steps:
- Disable the built-in TypeScript Extension
- Run
Extensions: Show Built-in Extensions
from VSCode's command palette - Find
TypeScript and JavaScript Language Features
, right click and selectDisable (Workspace)
- Run
- Reload the VSCode window by running
Developer: Reload Window
from the command palette.
Make sure to install the dependencies:
pnpm install
Start the development server on http://localhost:3000
pnpm run dev
Build the application for production:
pnpm run build
Locally preview production build:
npm run preview
Check out the deployment documentation for more information.
Lint with ESLint
pnpm run lint