1
150
2
154
3
28
me irl (lemmy.today)
submitted 44 minutes ago by sanitation@lemmy.today to c/me_irl@lemmy.world
4
26
Baddies (quokk.au)
submitted 45 minutes ago by Quokka@quokk.au to c/femcelmemes
5
16
submitted 34 minutes ago* (last edited 3 minutes ago) by Wudi@feddit.uk to c/fuckcars@lemmy.world
6
52
7
45
World Map (media.piefed.world)
8
67
9
161
10
76
summerule (lemmy.blahaj.zone)
submitted 1 hour ago by not_IO to c/onehundredninetysix
11
22
Google is Killing uBlock Origin in Chrome (protonprivacy.substack.com)
12
19
Meow (quokk.au)
submitted 47 minutes ago by Quokka@quokk.au to c/transmemes
13
8
submitted 30 minutes ago by D_a_X@feddit.org to c/netzkultur@feddit.org
14
36
15
101
Dating apps metaphor (discuss.online)
16
60
Muscat on couch (lemmy.world)
submitted 1 hour ago by rcmd@lemmy.world to c/cat@lemmy.world

Okay, tell me.

17
16
submitted 43 minutes ago by Gormadt@slrpnk.net to c/comicstrips@lemmy.world
18
20
submitted 57 minutes ago* (last edited 56 minutes ago) by Wudi@feddit.uk to c/fuckcars@lemmy.world
19
8
submitted 35 minutes ago by D_a_X@feddit.org to c/dach@feddit.org
20
15
Remember? (lemmy.world)
21
10
submitted 27 minutes ago by n2024@lemmy.world to c/selfhosted@lemmy.world

I read every single day. At home it's on my Kobo running KOReader (yes, I'm that open-source guy), and I love it. The problem: I don't always have the e-reader on me. On the train, at work, waiting somewhere — I just have my phone.

I tried Kobo's own Android app to bridge the gap and... I really didn't like it. Promos everywhere, adding your own books is a pain, the reader itself feels clunky, and the Wi-Fi handling is annoying.

So I built my own thing: Varbook, a small self-hosted EPUB library.

Varbook library on mobile: dark UI with a "Continue Reading" section showing progress bars and reading time, search bar, status/sort filters, and a book cover grid below

You drop EPUBs into it in one click. From there:

  • They're readable on your phone through a simple but well-made PWA. Books are cached locally, so you can read offline; when you're back online your reading position syncs to the server.
  • The server exposes everything over OPDS, so any compatible app works (KOReader, Moon+ Reader, etc.).
  • I also wrote a KOReader plugin that pushes/pulls your reading position to the server in a single gesture.

Varbook EPUB reader on mobile: dark theme, large serif font, chapter title and progress bar at the bottom showing 52.4%, reading time, and page count

My actual daily workflow:

  • Evening, at home: I wake up my Kobo in KOReader, tap the top-right corner → Wi-Fi turns on, my current book jumps to the right position, Wi-Fi turns back off to save battery.
  • I read.
  • Done reading: tap the top-right corner again → Wi-Fi on, my reading time + position sync to the server.
  • Next day, at work: I open the PWA on my phone. It drops me exactly where I left off, and syncs my position on every page turn.
  • Evening: back to the Kobo, which picks up my position from the phone.

All of this with fully open-source software, no commercial service in the loop, my books staying on my own server.

The trickiest part was cross-device position sync — every reader engine (epub.js in the browser, KOReader's CREngine, Moon+) tracks position differently. Varbook uses a "pivot" format based on EPUB spine items (chapter index + percentage) so your position survives the jump from one device to another without throwing you 30 pages off.

Varbook reading statistics on mobile: KPI cards (17 books, 3 finished, 80h59m reading time, 2017 sessions), book status breakdown, and reading time by device (KOReader 8.8h, Moon+ 0.6h, Web Reader 71.6h)

It's open source (MIT), built with Laravel + React, and ships as a single Docker container (SQLite by default, no external DB needed). The entire UI is translated in English, French, and Spanish.

Honest disclaimer: a good chunk of this is vibe-coded. That said, I've been a developer for 20 years, so it's opinionated vibe-coding — I know what I'm looking at. It's been used daily and intensively by about 5 people for the last 3 months, and I keep improving it regularly. It's not bug-free, but I'd call it reasonably stable. I'm being upfront so you know what you're getting into.

There's a free public instance if you just want to try it without installing anything: https://varbook.hophop.be/

Happy to answer questions or hear what's missing — it scratches my own itch, but I'd love to know if it's useful to anyone else.

22
14
Hot Air Balloon (lemmy.world)

The reference was midday, I changed the time of day to dusk so it looked more like a great photograph and less like a postcard. And at least a few more hot air balloons left in me.

Timelapse: https://bsky.app/profile/ballshapedman.bsky.social/post/3mo22n6nodc26

23
12
submitted 43 minutes ago by BilSabab@lemmy.world to c/ClassicFilms@lemmy.world
24
13
submitted 56 minutes ago by ameeratawfik@lemmy.world to c/dogs@lemmy.world

Hello everyone,

I am sharing the story of my sweet puppy, Daisy. She was recently diagnosed with cancer and is currently fighting for her life. She urgently needs chemotherapy sessions to survive, but the veterinary treatment bills are incredibly expensive and hard to handle alone.

Daisy is a fighter, and I am doing everything I can to save her. If you can donate, even a small amount, or just share her story and keep her in your prayers, it would mean the world to us.

All payments are secure and go directly toward her medical bills through PayPal.

🙏 You can support Daisy's treatment and see her updates here: [https://linktr.ee/helpdaisy]

Thank you so much for your kindness and support! 🐾❤️

25
66
me_irl (lemmy.today)
view more: next ›

Blåhaj Lemmy

10,421 readers
380 users here now

Blåhaj Lemmy

Blåhaj Lemmy is brought to you by the kind folk at Blåhaj Zone, and while anyone is free to register for an account here, please bear in mind that this is a server that is very protective of our minority members and bigotry of any variety will be squashed with great prejudice.

We have several alternative lemmy frontends you can use. Just login with your regular blahaj login details.

We have a public matrix channel for all Blahaj users at #blahaj:chat.blahaj.zone

We also have a matrix channel for gender diverse folk and our allies! If you're already a matrix user, you can head straight to our application room https://matrix.to/#/#gv-apply:chat.blahaj.zone, or by searching for #gv-apply:chat.blahaj.zone from within your matrix client.

If you're new to matrix, you can find some more details and an instruction video on how to get up and running here https://chat.blahaj.zone/c/genderverse/

Community Guidelines

Blåhaj Lemmy is a space where everyone should feel able to participate safely, and to that end, our community is built on the guiding philosophies of empathy, inclusion and acceptance.

Empathy

We want our community members to be guided by compassion and empathy for others.

Examples of behaviour that are contrary to this philosophy are personal attacks, insults, doxing etc. If your comment is designed to hurt someone, this isn't the space for it.

Inclusion and Acceptance

Embracing inclusion and acceptance means listening when people tell you who they are and what their needs are. It means not telling people that you know their experiences better than they do. It means not gatekeeping experiences of identities of others. It means no bigotry such as racism, sexism, anti LGBT commentary, ableism etc. It means doing your best to ensure that you don't over-talk the voices of folk who don't share your privileges.

Supporting Blåhaj Lemmy

After much hesitation, we have a Ko Fi to enable people to help with supporting some of the running costs associated with our instances.

Providing a safe space for our community is the goal, so please only consider donating if you are in a position to do so without any financial stress.

Mascot and logo

Find out about our mascot Shonky (they/them) who appears on our site logo here.

--

founded 3 years ago
ADMINS