grusskarten-spruch.de


Idea

Everyone knows this problem: You’re sitting in front of a birthday card, Christmas card, or sympathy card and simply don’t know what to write. Maybe as a business person you even have to write many of them for all your business partners. The standard phrases from the internet often feel impersonal, and being truly creative takes time.

This is exactly where grusskarten-spruch.de comes in – an AI-based generator for personalized greeting card messages. The idea: Create an individual, heartfelt text with just a few clicks that perfectly matches the occasion and relationship.

Now one may ask, aren’t there like a thousand AI greeting card generators out there? Yes, there are. When you search for “AI greeting card generator” you find a bunch of services.

However, when you stick to the German terms “Grußkarten Spruch” there aren’t as many services available.

Mission

The mission was to create a greeting card message generator specifically for German greeting card messages. Users can select different styles from a variety of options for different themes like weddings or birthdays. After selecting the theme and options (or just reviewing the default options), a single click sends all the information to OpenAI, where the greeting message is generated.

Features

The generator offers a variety of features to create the perfect greeting card message with a single click.

Beside the different themes and various personalization options that you can see on the page, grusskarten-spruch.de has some more advanced features.

Local History

Previously generated messages are saved in cookies for easy access. This way, users can quickly revisit their past creations without needing to generate them again. Since these are first-party functional cookies (not used for tracking), no cookie consent banner is required under GDPR.

When opening a theme, featured greetings are displayed for it.

This is implemented as any greeting generated that does not contain personal information is stored in a PostgreSQL database hosted with Supabase.

A small admin panel helps to mark greetings as featured greetings that will then randomly be displayed on the page.

Quote of the Day

This is a small playground where I’d like to try getting into news feeds like Google News. The mechanic is simple: once per day, a greeting is automatically chosen to be the greeting of the day.

Alternatively, the greeting of the day can be set in the admin panel. This is useful e.g. during the Christmas season.

However, while the greeting of the day mechanic is already implemented, I guess there is still some meta information missing to be listed as a proper news result.

Privacy & Security

This topic was one of the most interesting ones and also some design decisions are how they are, because of privacy and security considerations.

GDPR Compliant

Personal data like names entered by users is only used for generating the greeting and sent to OpenAI, but never stored in the database. Only anonymous greetings (without names) are persisted. The user’s generated messages are stored locally in first-party cookies, keeping personal data in the user’s browser.

Rate Limiting

The rate limiting is implemented using a Redis hosted by Upstash to protect against abuse based on the user’s IP address. It is a simple check and it may not be sufficient in case of advanced attacks, but it protects against simple scripts.

Content Moderation

Of course, what is absolutely not wanted is that any kind of abusive language is used to generate greetings. To ensure all greetings have a proper tone, OpenAI’s Moderation API is used.

So any request that is sent to OpenAI for being processed by the GPT-4o mini model is first checked for abusive content.

And the best: using OpenAI’s Moderation API is free.

Admin Dashboard

The admin dashboard provides a password-protected interface for managing all generated greetings.

Key features include:

  • Filtering View greetings by theme, featured status, or whether they’re set as “Quote of the Day”
  • Toggle Featured Quickly mark or unmark greetings as featured with a single click
  • Edit Greetings Modify greeting text, style, and other metadata
  • Set Quote of the Day Assign any greeting to a specific date for the daily feature
  • Delete Remove inappropriate or low-quality greetings from the database

Authentication is handled via session storage after password verification through a secure API route.

SEO Optimization: The Key to Organic Traffic

As a Micro-SaaS without a large marketing budget, SEO is essential. Here are the key measures I implemented:

1. Metadata Management

Each page has individual, keyword-optimized meta tags.

2. Automatic Sitemap

Next.js generates the sitemap dynamically with correct priorities:

  • Homepage: Priority 1.0
  • Quote of the Day: Priority 0.95 (daily changeFrequency!)
  • Theme Pages: Priority 0.9

3. Robots.txt

Clean crawler instructions – API routes and admin area are excluded.

4. Structured Data

Open Graph and Twitter Cards for optimal social media previews.

5. “Quote of the Day” as SEO Booster

A daily updated page with fresh content – Google loves this!

Possible Next Steps

Keyword Monitoring Tool

To better understand how the site performs in search engines, I’m planning a separate project to monitor keyword rankings in Google and Bing. This would help track SEO progress over time and identify new keyword opportunities for the German greeting card market.

Greeting Card Designer (Monetization)

Currently, users can only copy the generated text. A natural next step would be to allow users to edit and refine their greeting, then place it directly onto a customizable greeting card design. This could open up monetization opportunities – either through downloadable designs, print-on-demand integration, or a premium subscription for advanced card templates.

Conclusion and Result

You can see the result live at Grusskarten-Spruch.de.

Even though there are many more possibilities to boost SEO and user engagement, the current implementation already shows promising results. The page was released just a few days before Christmas and quickly benefited from the holiday season, achieving over 300 impressions on Google alone.

Keywords for birthday and wedding greetings are now showing a low but steady impression rate, which is encouraging for a freshly launched niche site. With continued SEO efforts and the planned features, there’s good potential for organic growth in the German greeting card market.