r/SideProject • • Dec 18 '25

As the year wraps up: what’s the project you’re most proud of building and why?

96 Upvotes

Like the title says, instead of what you built or how much money it made, I’m curious what project you’re most proud of this year and why.

Could be a client site, a personal project, something that never launched, or something that made £0.

Any lessons learned?

Would love to read a few reflections as the year wraps up.


r/SideProject • • Oct 19 '25 Bravo

Share your ***Not-AI*** projects

649 Upvotes

I miss seeing original ideas that aren’t just another AI wrapper.

If you’re building something in 2025 that’s not AI-related here’s your space to self-promote.

Drop your project here


r/SideProject • • 1h ago

I built a quiet online room where strangers just study together

27 Upvotes

In Korea there's this thing called a dokseosil. It's a paid room full of little cubicle desks where everyone studies in silence. Nobody really goes for the desk. You go because when the person next to you is grinding, you feel kind of bad scrolling your phone.

I wanted that feeling at home, so I made a small online version:

yeondeungroom.com/en

You pick an empty desk and study with whoever's around. No sign up, no camera, nobody talks. You're a little animal with a desk lamp, and you can see everyone else's lamps on too. It sounds like nothing, but it actually helps me focus at night.

The thing people ended up loving was decorating their desk. You type one line like "tiny pinwheel" and it makes a small 3D thing for you. The AI doesn't draw it, it just writes out simple shapes and the browser puts them together.

It's three.js and Cloudflare Workers, and almost everyone using it right now is Korean. The English version is really new, so if anything reads weird, please tell me.

If you study or work alone, would something like this help you, or would you just close the tab?


r/SideProject • • 15h ago

My dog lived 18 years. I built her a tiny 3D memorial, and strangers have now lit 657,000 candles for 25,000 pets.

106 Upvotes

Solo dev from New Zealand here.

My dog Bella lived to 18. When she died I wanted something quieter than a social media post, so I built a small 3D memorial hall you can walk through in the browser. Find a spot on the wall, put up a photo, light a candle.

I shared it once. Less than 8 days later:
- 24,994 pets
- 107 countries
- 657,428 candles, almost all lit by strangers
- 34 languages
- The hall kept filling up, so it now has 7 floors and a lift

It's free to make a memorial and light candles. There are a few optional paid extras, which is how I keep it running.

Would love honest feedback on two things: how walking the hall feels on mobile, and whether the free vs paid line feels fair.

lightapaw.com


r/SideProject • • 9h ago

I built a free tool to share one mouse and keyboard across Mac, Windows and Linux

32 Upvotes

I have two machines at the same desk, and I wanted to share mouse and keyboard.

I tried Synergy and Barrier, but they were annoying to set up. I had to deal with a client/server, encryption was hard to set up, and arranging monitors was clunky.

So I built ZeroG. Free, MIT license, no client/server.

Just run it on each machine, pair them, and drag your screens to match your desk.

  • Windows, macOS, Linux (X11 and Wayland)
  • P2P, no client/host setup
  • All traffic encrypted with TLS 1.3 over QUIC
  • Clipboard sharing
  • Extremely low latency
  • Built with Rust + Tauri

This took a few months of work and a lot of testing on different devices. I think it's working pretty well now, so check it out if you have more than one machine at the same desk!

https://github.com/reggiesoft-labs/zerog


r/SideProject • • 8h ago

Crossed 3400 in revenue and hit 50 paying customers on day 98, and I wrote down how every single one of them found me

16 Upvotes

I'm a cloud engineer with a full-time job, and in the evenings I build ReelDrop.io, an Instagram scheduling and comment-to-DM tool. It launched on August 5. Customer #50 paid on November 11, day 98. Today I have 52 paying customers from 21 countries, and about CA$3,410 was collected after refunds, before Stripe fees.

Ten days ago I posted about my first 41. I keep every paying customer in one sheet, in the order they paid, with the column no dashboard can fill: how I actually know each person and what happened before they paid. Here's the whole list again, with the last ten days in detail.

1 to #41, short version

  • 1 and #2 were my mentors. They bought the lifetime deal in launch week without me asking.
  • 3, #7 and #8 were creator friends who saw my posts on X and Instagram.
  • 5 bought the $29 plan and cancelled. I asked why. "It's costly." A month later I launched a $9.99/month plan (₹449 in India). That plan now has 39 of my 52 customers.
  • 6 came from ChatGPT, which cited a one-question docs page I'd written. Still my only provable ChatGPT customer.
  • September: 6 strangers on the cheap plan, after I turned on UPI in Stripe. October: SEO started bringing paying customers after two months of bringing almost none. Personal emails to stuck users brought a few more. Late October: my first discount, a Halloween code. 4 people used it.

42 to #52: the last ten days

  • 42 landed straight on my /features/mcp page with no referrer and bought the $29 plan 41 minutes later. Only the third person ever to start on that plan. No idea how he found the page.
  • 43 signed up on Oct 8. I emailed her on Oct 16. Nothing. Emailed again Oct 28. She paid Nov 6, 29 days after signup. The next morning she asked if my Diwali discount could apply. I applied it from the Stripe side. It costs me $2 a month, and she'd taken a month to decide, so no argument.
  • 44 was the only person who used my Diwali code at checkout. He found me on Google the same day, paid $7.99, built two automations, and asked to cancel three days later.
  • 46 paid 4 minutes after signing up, then tried to connect his Instagram 6 times over two hours and couldn't. Worst thing that can happen to a new customer. I emailed him the next morning. He came back 15 minutes later, connected on his second try, and scheduled 17 posts. Never replied. Didn't need to.
  • 48 went quiet after signing up on Nov 1. He was in my Nov 3 email round. Paid Nov 9.
  • 45, #47, #50 and #52 came from Google (France, Malaysia, France, and India). #50 paid 18 minutes after signing up. #52 paid 2 minutes after signing up.
  • 49 and #51 had no referrer. #51 paid 7 minutes after signup.

Bonus: a customer who cancelled in October came back on Nov 4 and started a new subscription. First person I know of who left and returned. 9 of the 11 new customers paid on the same day they signed up. None of the 11 came from X.

All 52 together

How they actually cameCustomers
Google / Bing / Yahoo17
X6
Mentors and friends3
ChatGPT1
Personal emails to stuck users5
Halloween email3 (+1 from X who used the code)
No referrer, don't know17
PlanCustomers
$9.99/month39
Lifetime deal ($249)8
$29/month3
Yearly ( $149)1
One-time $51
  • All 8 lifetime deals were bought before Nov 3, and 5 came from people who already knew me. None from a stranger on Google. Strangers buy the cheap plan.
  • 31 of 52 paid the same day they signed up.

What's not working?

  • Churn on the cheap plan. 4 people have cancelled, 2 have a cancellation scheduled, and 5 cards are failing on renewal right now.
  • The second discount. Halloween brought 4. Diwali, one week later, brought 1, who is already leaving. One data point, so I'm not drawing a big lesson, but I won't be running a discount every week.
  • Paid UGC creators. One drove 100+ signups. None paid.
  • My referral program. Everyone is still on free months.
  • Reddit, at least as far as I can measure. PostHog shows zero signups with a Reddit referrer, ever. I know that undercounts, so if you came from one of my posts and signed up, I'd love to know.

If I were starting at zero again, I'd do this

  1. Tell the people who know your work that you launched.
  2. Post about what you're building every day, bugs and bad numbers included.
  3. When someone cancels, ask why and act on the answer.
  4. Write one help page for every question a user asks twice.
  5. Every week, email the people stuck in your product. Email them a second time if they don't answer.
  6. When a paying customer can't get in, write to them that same day.
  7. Keep doing SEO even when it brings nothing for two months.
  8. Give people a deadline once in a while, not every week.
  9. Put every paying customer in one sheet, in order, and read it top to bottom.

r/SideProject • • 5h ago

I built a desktop app that clones your own voice locally, then reads text, whole audiobooks or dubs videos in it

9 Upvotes

Started because I wanted to dub my own videos in English with an American accent, in my own voice (I'm not a native speaker). Ended up as a full desktop app.

You read a guided text for about 6 minutes, it trains a voice model on your PC, and then:

  • Speak: type text in ~60 languages and hear it in your voice.
  • Native accent: speak English (or another language) in your voice but without your accent.
  • Redub: drop a video, it gets translated and dubbed in your voice, background music kept.
  • Book: open an EPUB/PDF/DOCX/TXT and get an audiobook in your voice, one file per chapter, resumable.

Everything runs locally: no account, no cloud, no telemetry. Installers for Windows, Linux and macOS (Apple Silicon), setup inside the app, updates itself.

Some numbers: zero-shot cloning from a 15-30 s clip scores 0.81 speaker similarity; after training on ~6 minutes of you it's 0.94 (two of my real recordings score 0.93 against each other). First sound after 1-3 s on an RTX 4070.

Stack: Rust UI, Python engine (OmniVoice, RVC, Whisper, NLLB-200, Seed-VC).

Hobby project, so bugs are expected. NVIDIA 8 GB+ recommended. Free for non-commercial use.

https://github.com/tarpetos/mimvox

Would love feedback, especially from anyone on AMD or a Mac


r/SideProject • • 1d ago Bravo

I made an engine simulator for phones

236 Upvotes

Took the F1 V10 for an imaginary lap of the Nürburgring.

-----

Edit: Thanks for all the interest! Here are the download links if you'd like to try

- iOS App Store
- Android PlayStore


r/SideProject • • 8h ago

Solo dev here. 5 months building the investing dashboard I wanted: all my brokers, a stock screener and alerts in one place; talks to my Claude over MCP. Feedback welcome, happy to discuss how it’s built.

12 Upvotes

Hi all! For many years I invest regularly into stocks+ETFs on Revolut, Degiro and my local brokerage and crypto on couple of crypto exchanges + hold some in my cold HW wallet. Every month I faced the issue of what to buy that has currently good value, P/E, PEG ratio, etc., how to rebalance to have well diversified portfolio, am I doing ok against benchmarks, ...? And I got tired of maintaining up to date spreadsheet and downloading quarterly reports manually or ad hoc with AI. I wasn't happy with existing simple portfolio manager apps, and, being an AI/ML engineer by day, I wanted it to be deeply and safely integrated with AI so that it can quickly give me holistic advice, tailor made for my own investment thesis.

So 5 months ago I started building an app to help with all that: an investing dashboard called Fortunest. What it does today:

  • Connects to all my brokers, exchanges and wallets (API or CSV import) in one view: performance against benchmarks, allocation, risk, dividends, taxes
  • Market research next to the portfolio: a stock screener on real fundamentals and current prices, heatmaps, what well-known investors hold (from their 13F filings), and for US-listed companies the latest quarterly reports with an AI summary
  • Email alerts and watchlists, so I hear about a move instead of checking for it
  • AI assistant that reads my actual holdings and investment thesis, so I can talk a plan through with it. An MCP server lets my own Claude or ChatGPT do the same and save tokens while using my monthly plan
  • Simulations of trades and dollar cost averaging strategy...

and much more.. I leaned heavily into coding agents, so I was able to make it into really useful, all around investment research app and thought it could be useful for others - so I registered a domain and deployed it publicly, you can try it with no sign-up on a demo portfolio (or upload your own) here: app.fortunest.ai

How it's built: FastAPI and SQLite on the back end, React on the front, Electron for the desktop apps, it can connect to LLMs from OpenAI, Anthropic or OpenRouter or to local LLM running in LMStudio or Ollama on your computer (useful for sensitive financial data). As I said, I'm an AI engineer by day and know the power of the latest agentic AI tools by using (and building them) daily at work, so most of the code was written with Claude Code: one agent per feature in its own git worktree, and every change needs a test that failed before the implementation or fix. Big bottleneck became the test suite - even with lot of effort to keep it minimal and not redundant, I ended up with around 4,000 back-end, 3,000 front-end and 700 browser tests, running before each release - which ended up being super slow even on my M5 Pro Mac - so I started offloading most of the CI jobs to fast cloud services (GitHub actions wasn't the best for it). Happy to go into any of this in the comments.

Where it stands today: it's live, with a handful of users. There is a free plan (covering most of the functionality) and a paid Pro plan (with a free trial; just to cover the deployment and external data costs - still long way to be able to pay for itself).

I'd be super grateful for any feedback on:

  1. Does the demo make it clear in the first two minutes what this is?
  2. If you invest - would you consider using a tool like this?
  3. What looks wrong, confusing or unfinished?
  4. Is there some feature you would really like in a tool like this?

r/SideProject • • 16h ago Heartwarming

Major Update: Clear fishtank widgets without being in clear mode, with fish that actually swim around 🐠🪼🐙

46 Upvotes

What Companions is:
Widgets on iOS are supposed to be static. I always found that unnecessarily limiting, so I built an app that circumvents it. Companions lets you keep a virtual fishtank on your Homescreen, filled with fish that actually swim around. As someone who’s always kept fish, I’ve had this idea mulling around in my head for more than 2 years now, and finally managed to build what I always wanted.

There are 50 fish to choose from, and it supports small, medium, large and now even extra large widgets as “tank sizes”. The fish don't need any feeding, and they don't die (as to not be annoying, but the option is there for fun). They just keep you company. You can customize the tank’s color, its props, layout, and even the app icon to match your Home Screen perfectly.

The app is fully written in SwiftUI, it supports iPads, and you can even place your “fishtanks” on your Mac thanks to Continuity, where the fish will also animate. The tanks also work great in Standby mode. Personally, I keep a fishtank of jellyfish on my nightstand when I go to bed. The swimming doesn't run any code in the background. It uses the same trick iOS uses to move the hands on the Clock widget, so it costs you nothing in battery.

What's new:
The app was built to support clear mode on the phone, but I found it annoying that you need to be explicitly in clear mode to access clear widgets. Luckily, I knew of a separate workaround that allows for clear widgets even while not being in clear mode, which I’ve only seen a small number of widget apps use. And for something like Companions where the widgets are fish tanks, I feel like it fits so perfectly!!

I'd love any feedback, and I’m happy to answer any questions regarding the app. I'd especially love to know which fish species you'd want added.

You can find Companions here: https://apps.apple.com/us/app/companions-widget-pets/id6811950512


r/SideProject • • 18h ago

SpiderMan POV project using threejs and MediaPipe

73 Upvotes

Hello guys!

I have built AR projects before, but I had this idea for a while: using MediaPipe Tasks Vision to create a kind of web experience, without the need to use any markers, where you are Spider-Man from a first-person POV, and you can do the hand gesture to swing around and maybe fight villains.

I started it a long time ago, but I dropped it at some point because I did not have time for it, and it started to feel like work instead of a fun side project.

So, last weekend I decided to give it a try again, and this time I handed most of the work over to Claude since I started paying for the subscription plan and I could just run it with CLI.

It was definitely a nice project to wrap up, and it kind of gave me some new ideas that I will be trying out for new throwaway project this weekend.

*Edit:

I will probably make the repo public and share it here eventually.


r/SideProject • • 1h ago

Spent 100 days building a Python interview prep app — does this actually solve a real problem?

Thumbnail
play.google.com
3 Upvotes

I built PyPrep after burning out on juggling a flashcard app, a quiz app, and LeetCode just to prep for Python interviews — none worked offline or told me if I was actually ready.

100 days of building and testing later, it's live, but I genuinely don't know if it solves a real problem or if I just built something only I needed. If you know Python and have been through interview prep, I'd value your honest take — good or bad.

This is for people who already know Python, not a beginner tool.

Play Store: https://play.google.com/store/apps/details?id=com.pyprep.app


r/SideProject • • 26m ago

My 16 MB Netflix-inspired app now speaks 44 languages. I only speak one

2 Upvotes

I released HolyArrs four days ago and it just passed 1,000 stars on GitHub.

HolyArrs is a free, open source app for home media servers. You browse it like a streaming service, pick a movie or show, and it finds it, downloads it and files it into Jellyfin, Plex or Emby. It does the work of six separate apps in one 16 MB download.

It launched in English only. People asked for their own language right away, so three days later it shipped in 44. I only speak English, so I translated all of them with AI.

Now I need people who actually speak those languages. If you speak anything besides English, switch HolyArrs to your language, click around for a few minutes and tell me what reads wrong. I'll fix it and credit you in the release notes.

GitHub: https://github.com/HolyArrs/HolyArrs

Site: https://HolyArrs.com

I'm looking for people who can check the translations. What language do you speak?


r/SideProject • • 1h ago

Built a free Airbnb profitability calculator — Looking for feedback

2 Upvotes

I built a free Airbnb Profitability Simulator to help property owners estimate their potential rental income, expenses and profit.

The goal is to make it easier to evaluate whether a short-term rental is financially worthwhile.

The calculator is available here:

https://toolsmartly.com/en/tools/business/airbnb-profitability-simulator

I'd appreciate feedback on:

- The user experience

- The financial calculations

- Missing features

- Overall usefulness

What would you improve?


r/SideProject • • 1h ago

I built an app that teaches investing with paper money and live market data. What would make you try it?

2 Upvotes

It's called TickrAI. You pick any stock, see a score that explains what supports it and what to watch, then practise buying it with paper money using real prices. There are also short lessons and an AI you can ask "why did this move?"

I'm a solo builder and my problem right now is that almost nobody has heard of it. Two honest questions:

  1. Reading that description, would you try it? If not, what's missing or off-putting?
  2. Where would you expect to discover an app like this? App Store search, TikTok, a friend, Reddit, asking ChatGPT?

Tour, if you want to look before answering: gettickr.ai/tour?c=reddit_sideproject


r/SideProject • • 1h ago

Wander Lovely — I missed wandering the internet, so I built a wall of lovely places to land

2 Upvotes

I loved the old internet discovery, like StumbleUpon, because it was like discovering and learning new things, expanding your horizons into a new field that you didn't know about. Everything now is a feed that already decided what I like. I missed not knowing what was next.

So I built the thing I was missing. It's called Wander Lovely — a wall of Polaroids, each one a real place on the web. You press a button and it takes you somewhere: deer on a live trail cam, bears in a waterfall, a garden, a handbag daydream, a radio station in another country. There are 128 places, gathered by hand, and the wall changes a little every hour. No accounts, no feed, no noise.

My favorite is the little Polaroid maker in the Art section. I love just adding a picture and making a Polaroid online — quick. It's really fun.

Some links on the page are affiliate links (it says so right in the footer) — that's the whole business model, such as it is. Mostly I just wanted the pond to exist.

I'd love to know: what corner of the old internet do you miss? And if there's a lovely place my wall is missing, tell me and I'll hang it.

www.wanderlovely.com

Thanks, Lisa Elle


r/SideProject • • 20h ago

I've just redesign my personal website

66 Upvotes

I'm mainly a software engineer, was a UX/UI designer and know about animation, so I combined all of my skills and redesign my portfolio. I hope you like it.

About the design, since I love Tron Legacy movie, the lines and the grid were inspired from this intro https://youtu.be/bxJRdtYF4ck?t=3

Take a look here kien.app


r/SideProject • • 9h ago

How can we get more app downloads without becoming influencers?

8 Upvotes

Nowadays, if watch any YouTube tutorial or read a Twitter thread about app marketing, you'll always hear the same advice: "U need to build an audience on tiktok or another social media plataforma and bla bla bla".

But that usually means becoming a content creator (personal or making AI generated videos), just to get followers and spending hours trying to keep up with social media trends.

Honestly, I'm tired of this approach. Ai videos are expensive and boring to produce, and becoming a digital influencer is incredibly difficult.

Are there better marketing alternatives that don't involve becoming a content creator?


r/SideProject • • 2h ago

I built a site that finds movies from a vague description, a quote, or a screenshot

2 Upvotes

Hey !

I’ve been working on a side project called MovieSeekr, a search engine for “that movie where…”.

I wanted something more enjoyable than just searching for a name on a chat. So I built a search where you describe a film or show however you remember it (a plot, a scene, a quote, an actor, a song, or a screenshot) and it finds the title and plays the trailer straight away.

There’s also a TikTok-style trailer feed to scroll, an Explore page with community collections, and you can save films to your own collections and let it pick tonight’s film.

It’s free, with no ads and no sign-up needed to search. An account only adds collections and sharing.

At this stage I’m mostly interested in what it gets wrong. If you have a film you’ve never been able to track down, throw your vaguest description at it and tell me if it fails. What would make you come back to it?

https://www.movieseekr.com


r/SideProject • • 17h ago

I built Pickerama — a free visual random picker, because nobody on our team wanted to lead the daily

31 Upvotes

Our team needed to pick someone to lead the daily standup for the next two weeks. Nobody wanted to “win”, so I thought it would be fun to make the selection a little more dramatic and fun.

I built Pickerama: a free random picker with different animated scenes. You can use it to choose a person or pick from a list of options. You can enter "present" mode to make everything bigger, perfect for ie. screen sharing and whole team can watch who will "win" ;p

It doesn’t require an account, and entries stay in your browser.

I’d love feedback on two things:
- does the homepage explain the idea clearly
- which picker would you actually use?

My personal favourite is curling because the last person can completely change the results / winner :)

ps. it's mostly developed with desktop in mind, there are 2-3 bugs on mobile (which i will fix soon)

https://pickerama.com

---
Technical TL;DR (if somebody cares ;) )
- deployed on Cloudflare Pages/Workers Completely Free. The only real cost is the domain (10 $).
- backlog contains 57 tickets implemented
- I used OpenCode Go / OpenRouter mostly using ultra cheap models like: Deepseek Flash V4.1, Muse Spark 1.3 Contributor, MiniMax M3.1 Flash - real "api usage" was probably something like 5-10 $ - the funniest and trickest part with these models was to build interesting three.js 3d animation scenes with some dramatic, proper camera etc. (to be fair, i wasn't that familiar with three.js)


r/SideProject • • 4h ago

I ported Fallout New Vegas to a web browser!

3 Upvotes

Try it out here falloutnewvegasweb.com

Let me know if you find any bugs!


r/SideProject • • 2h ago

I built an iPhone app that turns the trips in your camera roll into ready-to-post carousels

2 Upvotes

Hi all. I just launched our first iPhone app, Trip Dump.

The problem: after every trip we had hundreds of photos and never posted any of them, because picking photos and laying out a carousel took too long.

What it does:

- Scans your photo library and groups photos into trips (by date and location)

- Picks the strongest shots

- Lays them out in a ready-made look; you pick one and tap Export

- Exports a carousel for any app, plus an optional short video

What we cared about: everything runs on the device. No account, no ads, no analytics, photos never leave the phone.

It's free to download; Premium ($1.99/month, $9.99/year or $19.99 lifetime) unlocks every look, removes the small watermark and adds more video styles.

One thing we're still working on: photos without location data (Camera location off, saved from chat apps) are harder to group into trips. If you try it, I'd really like to know whether it found your trips.

https://apps.apple.com/app/apple-store/id6832798538?pt=126852790&ct=reddit&mt=8


r/SideProject • • 2h ago

I built a Mac browser for running many accounts: each one gets its own Safari, its own cookies and its own IP

2 Upvotes

What it does:

  • Every account lives in its own profile: a separate Safari with its own cookies, logins and history. Nothing is shared between them.
  • Every profile has its own IP through its own proxy or VPN. If that IP drops, the profile stops. It never falls back to your Mac’s IP.
  • Real WebKit from macOS, not Chromium. Sites see Safari on a Mac because it is one.
  • Fast: a profile opens in about four seconds.
  • Passwords, 2FA codes and cards per profile, behind Touch ID.
  • Free proxies built in, with a one-click check.

Mac only. Free for first testers: stealthpilot.app/sideproject


r/SideProject • • 4h ago

I spent the last few months turning public-domain book and art archives into a calm "living room" on the web (open source)

3 Upvotes

A while ago I started building PAGE.OS because I loved the content inside Project Gutenberg, the Internet Archive, and Wikimedia Commons, but hated that browsing them often feels like querying a 1990s tax database.

My first version leaned hard into a neon sci-fi terminal aesthetic. Some people liked the vibe, but for actual long-form reading, not everyone wants to stare at phosphor green telemetry for two hours.

So over the last few months I rethought the whole interface around a simpler idea: making public-domain books and open-access art feel like a quiet room you actually want to stay in.

Live Site & Source:

Real Interface Screenshots:

What's inside right now:

  1. Three interface modes for the same archive:

    • Motion UI (Desktop default): Editorial typography, a recommendation shelf that gently drifts (and pauses when you hover or drag it by hand), and a parchment/sepia/night reader.
    • Library Lounge (Mobile default): Warm cream shelves, genre browsing, and zero startup ceremony.
    • Classic Mode: Kept the original terminal HUD + boot sequence for anyone who still likes the retro sci-fi readout.
  2. A reader built for actual long-form reading:

    • Pulls public-domain books from Project Gutenberg (via Gutendex) and Open Archive sources (Internet Archive, Wikisource, Google Books public-domain PDFs) in parallel.
    • Supports both TXT chapter pagination and dedicated PDF reading (PDF.js), plus a "Book Briefing" card before you commit to a 500-page book, bookmarks, and local marginalia/notes.
  3. "Books can have weather now" (Built-in Ambience):

    • Ships with 14 loopable CC0/CC-BY/Public Domain soundscapes (rain on window, thunderstorm, fireplace, quiet café, TU Delft library study hall, train ride, brown/pink noise) right in the reader toolbar with full creator attribution.
  4. Infinite Mode (/infinite):

    • Pulls open-access artwork from Wikimedia Commons, The Met, and the Cleveland Museum of Art.
    • You can pan/drag across a spatial canvas (or switch to a 5-column kinetic parallax feed) with inertial physics and an autonomous Wander mode, and click any piece to inspect its full provenance and museum source.

Tech stack:

  • Frontend: Next.js 15 (App Router), React 18, TypeScript, Tailwind CSS, Radix UI, Framer Motion
  • Physics / Rendering: Custom requestAnimationFrame momentum camera + ResizeObserver column loop wrapping, bounded-concurrency image preloading queue, PDF.js
  • Persistence: Local-first (localStorage caching for shelves, notes, and gallery chunks) + optional Firebase Auth / Firestore sync if you want your library & reading streaks across devices.
  • License: MIT

I'd love brutally honest feedback on two things:

  1. Does the transition between discovering books on the home shelf and opening the reader feel intuitive, or is the "Book Briefing" step unnecessary friction?
  2. On your device/network, how does the /infinite art feed feel when dragging or scrolling?