DEV Community

Cover image for Ghostland.app - A visual tribute to Día de Muertos, your digital graveyards.
Sujay Kundu
Sujay Kundu

Posted on Edited on

Ghostland.app - A visual tribute to Día de Muertos, your digital graveyards.

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine

What I Built

In the memory of Día de Muertos, celebrated as Day of the dead, I have built a digital graveyard, where you can upload the photos and audio of your loved ones, and create their digital avatars to interact with them.

A Ghost can be created by adding his reference images, date of birth and death, his bio, his audio, his videos etc, and the user can add more context to it, this creates a ghost whom others can interact with through chat interface.

the cost of running a ghost is $5/month or $60/year, you can either do it onetime, or recurring, think of it as you are spending on keeping her still alive in memories for the world :) They deserve it.

The user logs in to the app via Google, and then he gets to create his own graveyard, where the user generated ghosts can be added, when a ghost is clicked the individual ghost page is opened, each ghost is unique and can't be copied / created with same url / which can be private/public to other global users.

where he can add his own ghosts, and share the graveyard to their friends and family via inviting them, privately or publicly.

If he wants to make a ghost public, he just have enable public mode, and it will be available in the Global Graveyards page

About creating Ghosts :

Let's say you lost your grandma recently,

In the memory of her, your job is to create her digital avatar, internally to build her persona, you can upload reference images/context, tweak her personalities, based on how you knew her, her goods and bad, the way she spoke, you can customize the images by generating them using our ghosts/halloween/day-of-the-dead templates powered by our supported AI models, give her voice through a chosen open source audio model, and talk to her anytime :)

The original images, videos are automatically deleted from the system after the ai outputs are generated, so we dont store any original images.

Verifying if anyone is already dead ? This is the hard part, for that I am looking for data, that can make sure we verify if the person is actually dead, through public data references.

Ghost Birthday/Anniversaries ?
whenever her birthday/death anniversary happens, grandma now receives a surprise badge on that day, which you can claim behalf of her :), you can also give her gifts by buying items from our shop and gifting the item to her, which will be displayed by your graveyard audience as well.

Demo

https://ghostland.app

Demo videos and blog posts coming soon!

Code

Ghostland — Día de Muertos

Ghostland paid memorial setup

The public studio grants five free images per signed-in user, then offers a $1 USD five-image pack. Each successful generation consumes one free or paid use. Visitors can make their own ghost portrait or remember someone else. Generation is restricted to gemini-nano-banana-2.1 at 1K or 2K, using only Ghostland's server key. A paid pack is required before a visitor can publish a public Graveyard tribute, including one created with a free image. ChatGPT sign-in is required for generation, purchases, and publishing.

Configure these production runtime secrets in the Ghostland Site settings, then deploy a saved version so the revision takes effect:

  • GEMINI_API_KEY — paid Google AI Studio key for Ghostland.
  • STRIPE_SECRET_KEY — Stripe secret key for the account that receives the $1 payments.
  • STRIPE_WEBHOOK_SECRET — signing secret for a Stripe endpoint at https://ghostland.app/api/stripe-webhook.

Subscribe the Stripe endpoint to…

How I Built It

For image generation :

  1. Open Router Powering Qwen Image 2.1 via API
  2. Open Code for building the site using Gemma4 12b Model locally.
  3. Open Design for building the website interface
  4. I am using the DigitalOcean Harness to host the chat model

Currently the site was built using the following opensource tech stack:

I bought a VPS Server, and hosted the following their

  • ComfiUI (self hosted)
  • Coolify (self hosted)

Frontend:

  • Nextjs
  • Vite
  • Typescript
  • Vitest
  • Playwright

Apart from that I used this open source projects to build the backend.

  • Supabase
  • Uploadthing
  • Qwen Image 2.1 (https://qwen.ai/blog?id=qwen-image-2.1) - Open weight image to image model
  • Cloudinary for Image optimization
  • Ollama for local support
  • Coolify to host the frontend
  • Render to host the Python Backend Playground Server
  • DigitalOcean Inference Hosting
  • Hostinger for the VPS server (KVM 8GB RAM) Linux Server
  • blog.selfhoster.in (my site where i guide on how you can host your coolify in the vps server)

Why Does Open Innovation Matter?

It matters, I believe if you use open source, It can reduce the maintainence cost of running this web app services, a lot.

My Agent Session

I am using devrelay, will share the session soon.

The Spirit of It

The first chat that i had with my grandma, after i built this platform gave me chills, now i can chat with her anytime when i miss her.

Prize Categories

Best Gemma Usage
Best DigitalOcean Usage
Best Elevenlabs Usage
Best Render Usage

Top comments (0)