DEV Community

Kat
Kat

Posted on

I Made A Silly Postcard Gamapp for my Friends and it's Kinda Cute

DEV Weekend Challenge: Community

This is a submission for the DEV Weekend Challenge: Community

Note: I edited it after the deadline because I don't know why, my embed link to my repository shows up as a sign in link for Gitlab, despite it being the correct link.


The Community

Alright, where's the piece of paper I wrote my mission statement on. So. I built Tiny Postcards for me and my friends! They are my community, and I love them dearly. For the most part, we met in the French equivalent of college, and the others are current and former PhD students. Sadly (this is where I start the sales pitch) I feel like adult life is pulling us all in different directions, and although I still speak with some of them daily, others are growing a bit distant through no fault of their own. It's just life!

And I feel like, I don't know why, maybe it's just how our society sees relationships or maybe I'm just an introvert, it's not super common for people to be comfortable with just sending a message saying "Hey, I thought about you today!". Most people would feel pressured to answer and have a conversation, or maybe it'd be seen as weird, but either way, most people will just let friendships fade even when they still think about the other person from time to time.

So yeah, I decided to build for groups of friends, young adults in particular, who'd like to keep contact in a low-pressure, lighthearted way with their friends. But even though I think it's a real issue, the app is mostly just for fun because I really like sending and receiving letters in Animal Crossing.

What I Built

And this is where Tiny Postcards come in! Think about it. Postcards are the ultimate form of one-sided communication. What does a postcard mean? "I was having a good time and yet you were on my mind." But no one answers postcards. No one even writes important things on them! The love is in the fact that the person spent a lot of time choosing the ugliest one from the store.

I sadly didn't get to design ugly postcards. But just use your imagination. Next time you go to the store, just look at them. Graphic design is always someone's passion.

Home

I built the app entirely on my own, with no AI agent/LLM-generated code or external weirdly supportive IDE. And I took some time to play Hearthstone, so I had to sacrifice some planned features for that. However, you can:

  • Write postcards, including choosing who you're sending them to, an image, and writing the text.
  • Receive postcards other people sent you through the clever mechanism described above.
  • Read said postcards from your mailbox, with a little notification dot (??) when you have new postcards.
  • Peruse your collection of postcards.

Yeaaaaah sorry, the big "Today's Postcard" thing doesn't do anything. It's like, five lines of code, but I just didn't have the time.

I also didn't fix a "bug" that makes it so that your username in the corkboard is always "Kat". Don't laugh but I only tested with my own name until the end.

Demo

There's an APK in the git repository below, with instructions on how to run the server locally, but here's a video too.

Code

https://gitlab.com/kataraxie-jams/postcards-app

I think I messed up when I initially moved the Unity project in a sub-directory, so don't mind the bloat at the root of the project.

How I Built It

Devlog

I honestly think the code is... alright. Code-wise, this is a very small project. The main difficulty was that I don't really know how to do server stuff (I know the basics, but I don't have a ready to use stack and I've never deployer anything in my life).

So the first day was entirely setting up the Python server and interfacing with Unity (learning how to do requests and use JSON).

On the second day I did the logic (sending postcards and receiving them), and here's a sneak peak of what the app looked like in the middle of the afternoon on the 28th. I'm almost considering removing this screenshot altogether because it's not centered and I don't like it.

Ugly app but the backend works

The end of the second day was entirely spent in Krita and Pinterest trying to figure out how to design something that's half a game and half an app, and then drawing the assets.

Today (the third day), I set up all of the scenes, with the correct assets, etc... then I implemented some small features such as rotating the cards and changing the image, as well as the corkboard.

Technologies

I have a terrible secret to share with you.

I don't know how to code apps... I mean, I did a bit of React + Node.JS a few years ago? I have no idea how to deploy a database and connect to it and the authentification and all. I know I could get a backend-as-a-service and/or ask an AI to do everything for me but I don't like that :))))

So I just decided to take what I knew (Unity) and to only step out of my confort zone a bit with a small Python server.

So yeah, the app is coded with Unity, and the backend is a Flask Python server, but I feel like it's the fourth time I say so.

Hmmm I think that's it.

Oh yeah, I used AI too! I asked Claude what would be a good solution for the server side with Unity, and it said Supabase, but it was too much for me, so it suggested Firebase, and then I said "what about a local Python server" and it suggested Flask + just the native Unity HTTP requests. Then I asked it why its example code was different from the Unity Documentation and it explained. And that's it for AI use? It helped me go through the unknown unknown phase of solutions for the backend, so for that it was kinda nice. But if I hadn't suggested the local server myself, I don't know if it would have.


Thank you so much for reading through my entry! If you like my work, consider following me here and commenting, and here's my Substack if you want to follow along my (game)dev adventures. I'm looking to connect with, let's say, AI-careful gamedevs out there, but everyone's welcome.

Top comments (0)