All projects

CosmoGato

A horoscope tailored to your pet

Live · 2026
Period
2026
Technologies
PWA · Next.js · React · TypeScript · Prisma · Supabase PostgreSQL/Auth · Claude · Stripe · Vercel

Where it started

A friend and I were looking for the most absurd idea we could find and chose horoscopes for pets.

Problems and decisions

Grounding the stars

To give the playful concept a concrete reference, I integrated an astronomical events calendar. Eclipses reference NASA data and conjunctions are checked against JPL Horizons.

Choosing a sustainable model

We compared local models with paid APIs and chose Claude Haiku within a fixed budget. I had to balance reading quality with generation cost and build the profile, credit and payment journey around the model.

How it works

  1. Pages and APIs share a Next.js PWA on Vercel. React, TypeScript and MUI power the interface.
  2. Supabase handles sign-in and PostgreSQL storage. The APIs use Prisma to connect pet profiles with their readings.
  3. Claude generates readings on the server. Stripe Checkout and webhooks support single readings and subscriptions.

AI integration lab

I treated security and resource use as part of the product design.

Prompt injection
Free text in a pet profile is bounded, filtered and passed to the model as data separate from its instructions. The server also checks the structure of the response.
Rate limiting
Before generation, a shared counter limits requests per user and enforces an overall daily cap. If the check is unavailable, the request stops.
Usage and credits
A response length limit bounds output. An equivalent request can reuse a completed reading. If the model fails, the fallback reading releases the reserved credit.

Transparency about AI

I built transparency measures with reference to Article 50 of the AI Act. CosmoGato labels AI-generated readings as entertainment. The interface identifies fallback text and the API marks its source. Account controls support exporting and deleting personal data.

AI Act · (EU) 2024/1689 · Art. 50 · GDPR · (EU) 2016/679

What I learned

CosmoGato made me treat AI as part of a product. Every reading has a cost, and the experience needs to remain usable when generation fails. That experience shapes how I assess other AI integrations.

Current status

The home page is public. Screens from the internal flow use demo data.

Open CosmoGato

SEO, GEO and AEO for public content

For the public side of CosmoGato, I incorporate SEO (Search Engine Optimization), GEO (Generative Engine Optimization) and AEO (Answer Engine Optimization). Content, context and structure are part of making the product easier to find and understand.

I organise pages around people’s questions and connect answers to examples, sources and verifiable results. How I work on SEO, GEO and AEO

An interesting problem?

Tell me what you want to build or improve, who will use it and what constraints you have. I’ll get back to you so we can work out where to start.