featured · fullstack · 2026

Hobbly

A cozy hobby journal, first built for one person with too many hobbies to keep track of.

roleSolo — design to deploy
users~20
statusLive · polishing
Hobbly landing page
01 — why

My girlfriend has more hobbies than she can keep track of. Hobbly started as a way for her to log which one she did that day.

It felt like a waste to build something for two people, so I opened it up — anyone can sign up, collect their hobbies on one board, journal entries, and share them publicly if they want.

02 — architecture
One repo, one set of types
clientReact 18Vite · Tailwind v4
apiNestJSJWT cookies
ormPrisma 7packages/types
dbPostgreSQLNeon
monorepoTurborepo + npm workspaces
frontendReact 18, TypeScript, Vite, Tailwind CSS v4
backendNestJS, Prisma 7, PostgreSQL (Neon)
shared typespackages/types
authHTTP-only JWT cookies — access 15 min, refresh 7 d
external apiJikan (MyAnimeList)
deployRender
03 — inside the app
Board, entries, profile
Adding a hobby to your board
01Adding a hobby to your board
A journal entry with likes and comments
02A journal entry with likes and comments
Public profile with a yearly activity grid
03Public profile with a yearly activity grid
04 — hardest part
The frontend
problem

I come from the backend. Modules, auth and the database felt familiar — but layout, state, and making the UI feel cozy instead of functional was new ground. Almost everything on the frontend was hard.

approach

Lean on what I knew: a shared packages/types so React consumes the same contracts NestJS serves, and TypeScript catches mismatches before the browser does. The rest was reps — shipping screens, then refining them.

05 — where it is now
~20registered users

Not very active yet, and that’s fine — it’s live, it works, and it’s being used. I plan to come back to it and polish the experience further.