惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
IT之家
IT之家
Last Week in AI
Last Week in AI
J
Java Code Geeks
L
LangChain Blog
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
博客园 - Franky
博客园 - 司徒正美
月光博客
月光博客
博客园 - 叶小钗
Vercel News
Vercel News
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
H
Help Net Security
G
Google Developers Blog
D
DataBreaches.Net

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a 60-second reflection app that paints you a wate...
Vineet Negi · 2026-04-23 · via DEV Community

Vineet Negi

TL;DR

I spent the weekend building Evengood — a 60-second end-of-day reflection app — on MeDo, a no-code AI platform. You talk or type how your day was, it plays back a calming Tomorrow prompt in a soft voice, and it paints you a watercolor keepsake from the feeling behind your words.

Live: https://app-b3tuv7opfegx.appmedo.com/


The idea

Every journaling app I've tried feels like homework. Notebooks full of dashboards, streaks I fail at, prompts I resent. I wanted the opposite: a tiny ritual that takes under a minute, leaves you with something beautiful, and then gets out of the way. No login. Nothing saved on a server. Come back tomorrow if you want to.

The aesthetic target: a soft lavender-to-peach gradient, Playfair Display for the headings, deep-indigo text, a single breathing microphone circle. Feel, not features.

The MeDo stack

For non-builders reading this: MeDo is a chat-driven platform where you describe the app you want and it generates the full React + Vite + Tailwind codebase, wires in plugins, and hosts it. You iterate by sending follow-up prompts. It's not a template tool — it writes real code you can inspect and edit.

Evengood uses four MeDo plugins:

  • Speech-to-Text — captures the 60-second reflection when the user chooses to talk
  • Large Language Model (x2) — one call generates the Tomorrow prompt, a second call extracts a one-word "theme" like peaceful, proud, tender
  • Text-to-Speech — reads the Tomorrow prompt back in a calm voice
  • Kling (image generation) — paints the watercolor keepsake card using the theme word

The keepsake card — the part I'm proudest of

The theme word drives a Kling image prompt like:

soft dreamy watercolor, lavender to peach gradient, abstract calm feeling of peaceful, no text, no people, serene, ethereal, minimal

For my test reflection about finishing hard work and noticing the light through a kitchen window, the LLM picked peaceful and Kling painted me a field of lavender dissolving into a peach watercolor sky. The Tomorrow line ("Notice the way the air feels when you first open a window.") overlays in white serif. It's the kind of image you'd actually screenshot and keep.

Bugs, and how I debugged them without writing code

On v8, the Kling image silently fell back to a CSS gradient every time. Turned out the timeout was 15 seconds; Kling typically needs 20–40. I sent MeDo a fix prompt: bump the timeout to 45 seconds and add console.log statements before the call, on success, and on error. Next build, the logs made the whole flow observable:

[keepsake] calling Kling with prompt: soft dreamy watercolor, lavender to peach gradient, abstract calm feeling of peaceful...
[keepsake] Kling returned image url: https://...keepsake-ea752a84-....jpg

Enter fullscreen mode Exit fullscreen mode

22 seconds end-to-end, and the watercolor rendered. That's the pattern I keep returning to on MeDo: ask for observability first, then debug.

Three things I learned

  1. Feel is a spec. The best prompt I wrote wasn't a feature list — it was a paragraph describing how the app should feel when you use it. MeDo builds noticeably better when you give it emotional direction alongside technical constraints.
  2. Persist client-side, aggressively. No-account apps live or die by localStorage. The 7-day streak and ambient soundscape choice both persist without a backend, and that keeps the app feeling lightweight.
  3. One bundled prompt beats five small ones. I grouped my v8 changes (keepsake card + streak + soundscape) into a single well-scoped prompt with an explicit "DO NOT" list, and the output was dramatically cleaner than when I'd tried incremental changes.

Try it

https://app-b3tuv7opfegx.appmedo.com/

It takes 60 seconds. If it leaves you with a watercolor you actually want to keep, I'd love to hear about it.


Built for the Build with MeDo Hackathon — $50K in prizes, submissions open until May 20, 2026.