You are browsing as a guest. Sign up (or log in) to start making projects!

DreamMapper

  • 3 Devlogs
  • 14 Total hours

An online journal to log your dreams, chat with an AI, and get a visualization of how the dream looked.

Ship #1 Changes requested

I made a web journal for your wildest dreams. You can log your dreams and get a wild AI generated image from it, or…. you can made a video!!. You can talk to a AI chatbot too about your dreams!

  • 3 devlogs
  • 14h
Try project → See source code →
Open comments for this post

2h 55m 15s logged

Devlog 3 - ITS DONE!!!

WE DID IT. THE DREAM JOURNAL IS DONE. SHIPPED. DEPLOYED. REAL. I cannot believe I’m saying this after the Devlog 1 panic session, but here we are.

The Deployment Saga

So Cloudflare and I had a disagreement. Several disagreements. Over multiple hours.

First the build kept failing because my build output directory was wrong in the settings. Locally it builds to one folder, Cloudflare was looking in another, and instead of telling me that nicely it just gave me a vague error and a failed deploy. Cool. Very cool.

Then once the build finally passed, the site deployed and… nothing worked. Blank page. Turns out my environment variables never made it to production. I had them in my local .env file, feeling all safe and organized, completely forgetting that Cloudflare has no idea those exist. Had to go add every single one through the dashboard like a peasant. Twice, because I typo’d one.

At that point my brain was cooked. So I’ll be honest with you all: I let AI handle the rest of it.

The Confession: This Project Is 10% AI

That’s right. I said it. 10% AI, 90% me crying at my keyboard.

Here’s the thing though. This is production. Real users. Real data. And my real credit card attached to that very expensive 2k server. So when the AI started pointing out security issues, I listened, because I do NOT want to wake up to a drained bank account.

What it caught:

  • My API key was basically in public. Part of the AI request logic was reachable from the frontend. If anyone opened devtools they could have yoinked it and run up my bill into the stratosphere. Moved everything server side where it belongs.
  • No rate limiting. Someone could have spammed the dream analysis endpoint a million times and my card would have personally felt every single request. That’s fixed now.
  • Input sanitization. Turns out letting users type literally anything into a box and sending it straight to your backend is a bad idea. Who knew. (Everyone. Everyone knew. I just forgot.)
  • Tightened up the CORS config from “allow everything, we’re all friends here” to an actual allowlist.

Sleeping much better at night now.

Other Stuff That Got Done

  • Dark theme is IN. My eyes have forgiven me. The contrast actually contrasts now.
  • CSS is finally locked in, and I was right in Devlog 1: once that was done, the rest really was smooth sailing.
  • The duplicate dream bug from the testing days is long gone. The giant duck dreams rest in peace.
  • Production AI is running on the 2k server and holding up. My wallet is still in critical condition but stable.

Where To Get It

It’s available soon! Check the project bio for the link. Go journal your weird dreams. The giant duck one deserves to be written down.

What a journey. From “I have made nothing” to a real live product on the internet. See you all at the next one 🫡

0
0
8
Open comments for this post

6h 35m 40s logged

Devlog 2 - Ultra Crunch 2.0

Big progress today. Honestly bigger than I expected given how this week started.
The dashboard is finally up and running, which was the thing I was most worried about. Getting the layout to behave across screen sizes took way longer than it should have. There was one bug where the dream entries would just stack on top of each other and overflow the container, and I spent a good hour and a half convinced it was a CSS grid problem before realizing I had a duplicate key in my component props. Classic. Fixed it, moved on.
The API calls are healthy too. I ran into a weird rate limiting issue yesterday where Cloudflare was flagging my own requests as suspicious traffic, which took some head scratching. Turns out my retry logic was a little too eager and hammering the endpoint on every failed call. Throttled it properly and now everything responds clean.
Storage is working end to end. I can store and write dreams to the database, retrieve them, and the timestamps are behaving. Small win but it feels good.
Right now I’m deep in the Cloudflare worker, tightening up security and stability. This is the boring but critical stuff. I added input validation on the dream entries, set up proper error handling so a single bad request doesn’t take anything down, and locked down a few endpoints that were more open than they should have been. I also found a memory leak in one of the worker handlers that would have slowly eaten the instance over a few days. Caught it early, thankfully.
Next up once the worker is solid: AI based dream generation. The idea is the app will take your logged dreams and help you map patterns, themes, and recurring imagery over time, almost like a journal that talks back to you. That’s the core of what Dream Mapper is supposed to be, so this piece matters a lot.
If everything goes to plan, it ships tomorrow afternoon. Fingers crossed nothing explodes between now and then.
Let’s goooo.

0
0
12
Open comments for this post

4h 50m 8s logged

Devlog 1 - IT’S CRUNCH TIME BABY

Stardance is ending and I looked back at my project list and realized… I have made absolutely nothing meaningful. Zero. Nada. So here I am, panic-building a journal for your dreams at the last possible moment. Classic me.

The Idea

A dream journal. You wake up, dump whatever weird nonsense your brain cooked up at 3am, and an AI helps you make sense of it. I’m going for a full commercial product approach with this one. I actually want other humans to use it, so it’s hosted on Cloudflare and will be live by the end of Stardance. Mark my words. I WILL SHAVE MY HEAD, I AM NOT KIDDING, if this project is NOT DONE!!.

What’s Working

  • Main screen: done
  • Login: done (after a LOT of pain, more on that below)
  • Database: up in the back doing its job

The Pain (aka what actually happened)

Login tried to end me. Everything worked perfectly on localhost. Pushed to Cloudflare and suddenly nobody could stay logged in. Sessions just… vanished. Turns out my cookies weren’t set with the right SameSite and Secure attributes, so the browser was politely throwing them in the trash on every request. Spent way too long staring at devtools before figuring that one out.

Then CORS decided to join the party. My frontend and the AI backend live on different subdomains, so every API call got blocked until I fixed the headers. I now know more about preflight OPTIONS requests than I ever wanted to.

Database drama. My first schema was one giant table with everything crammed in. User info, dreams, timestamps, vibes, all of it. Felt smart until I had to actually query it. Redesigned it at like 11am into proper tables, wrote a migration, and immediately hit an error because I typo’d a column name. The error message was not helpful. It never is.

The white theme incident. So the current UI is white. Very white. The contrast is so bad that buttons look like vague rectangles floating in the void. Half my text is basically a eyesore. I keep squinting at my own app, which is generally a bad sign. Switching to a dark theme soon, both for aesthetics and for the health of my eyeballs.

The AI backend money pit. For testing, the AI backend is hosted on Hack Club, which works great except for the occasional cold start where the first request takes long enough for me to question my life choices. Fine for testing though. For production, it’s running on my very expensive 2k server. My wallet is crying. 😭

Honorable mention bug: dreams were saving twice for a while. Forgot event.preventDefault() on the form submit, so the page was reloading AND firing the request. Every dream, duplicated. My test account had 14 copies of “I was being chased by a giant duck.”

Next Up

  • Dark theme (top priority, my eyes need it)
  • Lock in the CSS
  • Polish the AI responses
  • Actually ship this thing

Once the CSS is locked in, I genuinely think the rest is smoooooth sailing. The hard plumbing is done, now it’s just making it pretty. Famous last words, probably.

0
0
3

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…