Stargazerr

A social app built around a digital garden. Users plant "lilies" for wishes, goals and reflections, and watch them grow through visible stages — alongside a friends-only feed, a private journal and a real notification system.

Solo — product, frontend and backend
2025 — present
  • SvelteKit
  • ASP.NET Core
  • PostgreSQL
  • Cloudinary
  • JWT
  • PWA
  • Render
  • Vercel
The Stargazerr garden: pink lilies scattered across a pale landscape with a reflection pond, trees and a reading bench

Stargazerr is a social app built around a digital garden. It has the parts you would expect — accounts, a mutual friend system, a photo and video feed scoped to you and your friends, likes and comments — but the centrepiece is the Garden.

The Garden

Users plant lilies. Each lily stands for a wish, a goal or a reflection, and it grows through four visible stages: Seedling, Sprout, Bud, Bloom. The growth is the point — you plant something, and the app makes you wait for it.

Why there are two growth modes

One schedule could not serve both kinds of lily. A reflective entry has no deadline — it is a feeling you are sitting with, so it grows on a fixed calendar schedule and blooms when it blooms.

A concrete goal is different: it has a date you picked, and the app has no way of knowing whether you actually did the thing. So a goal lily is tied to a user-set target date, and when that date arrives it does not silently bloom — it asks. Confirm that you did it, or extend the date. That confirm-or-extend step is what keeps the garden honest.

Around the Garden

There is a Journal for letters and diary entries, which can be kept private or shared. Notifications are properly persisted rather than fired and forgotten, so a bloom waiting on confirmation is still waiting when you come back three days later. Profile pictures and feed media go through Cloudinary. The whole thing installs as a PWA on mobile.

Architecture

A SvelteKit frontend on Vercel talks to an ASP.NET Core API on Render, backed by PostgreSQL, with Cloudinary handling media and JWT for auth. Splitting the deploy across two hosts kept each side simple, at the cost of having to think about cold starts and CORS.

Something to say?

Thoughts, corrections, or just hello. It goes straight to Farish and is not published anywhere — no other visitor can see it.

Up to 2000 characters. No email address needed.