Sharing Thoughts and Stories ✌️ Positive Interactivity Encouraged
MVP: Built with Nuxt 4, Neon, Clerk, Cloudflare, and a lotta love for app development.
StoryCore34 (storycore34.com) is a Nuxt 4 SPA soft-launched as an MVP on August 20, 2026 with a Jamstack that includes Neon DB, Clerk Auth, and Cloudflare Workers.
Final words: “I think I’m done…” @10:10 AM on Aug 20, 2026

StoryCore34 is a site dedicated to the sharing of thoughts and stories* with an emphasis on positivity; like providing helpful, productive comments to others’ shares. Negativity is meant to be downvoted, as there are always positive ways of providing feedback to others, given the time to think it through first.
After near a year of learning what not to use with a Nuxt SPA using ssr: false for authentication (spoiler: LAMP), the app began to take hold, nook by nook. Claude and Opus took the final AI baton after Copilot and Antigravity, which is when things really began coming together in early to mid 2026.
For the last 3 months, every week was ‘going to be the week!’ after just… one. more. enhancement.
In the end, although only an MVP, the app has ended up about as true to my initial vision as I could have hoped. Although, I dare say a designer’s touch could probably do it wonders 🎨 (side note: I was dumbfounded by the artistry applied to a very generic PHP shopping cart catalog I used to resell and create 3rd party utilities for — their artistic beauty was captured as screenshots, and 3 of the 4 artist’s sites are still active).
The StoryCore34 site as a whole intends to serve as a fun, interactive, story-building site. This initial MVP release includes the app’s first primary feature, sharing thoughts. Although I actually plan to begin on feature 2 soon, the app will remain in Beta for awhile as it continues to be tested and tweaked. The app’s release status can be found on the about page (it also shows the release date if you hover over the release label).
- Feature 1: Thoughts
- Feature 2: StoryStarters (maybe starting soon 🙏)
- Feature 3: Stories and Poems (with plagiarism detection)
- Feature 4: Word Games + authoring (if possible)
And while sharing thoughts may not sound like a lot (or big deal, even), here’s a list of all the supporting features that were built:
- Accounts & identity
- Email/password and SSO (Google, Apple, Facebook)
- Full self-service: change email, password, or username; pause or delete account
- Public profile pages
- Up to 3 public identity URLs per user
- Custom attribution name (control how you’re credited)
- Make it yours (Preferences)
- Dark mode
- Custom avatars
- 4 typefaces + multiple text-size levels
- Story / Core menu transitions
- Sharing thoughts (Feature 1)
- Publish short “thoughts”
- Commenting and voting
- Similarity advisor + follower — this surfaces near-duplicate thoughts before
you publish, and links related work on the thought itself (a gentle,
built-in attribution nudge)
- Collections & Library
- Authored “Collections” of thoughts — for free or get paid
- My Library:
- Bookshelf (save thoughts you like)
- Writer’s Shelf (follow authors)
- My Drafts — private, encrypted draft space; promote a draft to public or a paid Collection in one step
- Purchased collections
- Export your thoughts and drafts (JSON / Markdown)
- Trust & safety
- Report content + appeals workflow
- AI-assisted abuse/moderation screening on contributions
- Multi-level, role-gated support structure:
- Site Admin oversees per-area Admin / Editor / Aide roles
- Covers public feedback, private support messaging, and moderation/appeals
- Money (all via Stripe)
- Subscription tiers
- In-app wallet
- Author payouts
- Sponsorships
- “Donations welcome” on every App Info page
- App Info
- Terms, Privacy, FAQ, Contact (email + link to private support), About, Tiers (with subscription status)
- Built-in privacy
- Cookieless analytics
App development took a few twists and turns as well:
- Replaced along the way:
- Nuxt 3 → 4
- LAMP → Jamstack:
- Cloudflare Pages
- Supabase
- Clerk Auth
- Node 22 → 26
- Cloudflare Pages → Workers
- Supabase → Neon DB
- Reason: Supabase refused to upgrade on free tier due to resource surges
- IDEs and LLM Agents:
- Copilot → Antigravity
- Antigravity → Copilot
- Copilot → Claude
Reasoning for this being an SPA (vs. an SSR): As a sole app developer, I chose to use ssr: false for one reason: For SSR (ssr: true), every initial page load, hard refresh, or search engine crawl forces the Worker script to wake up and generate the HTML on the edge. A SPA has zero server-side node execution: meaning you don’t need a live server, as the app compiles down to static HTML, JS, and CSS files. This also allowed me to look into solutions like Cloudflare Pages and some others without worrying about tripping a tier limit somewhere.
Feel free to let me know if you come across anything I missed. Always open to feedback (either in this blog post’s comments, or, the site itself allows for both public and private support).
P.S. While I wrote this entire blog solo, I did have AI help refactor a 40-item support feature list I put together into the list you see above (after final editing by me).
Cheers!
– Keith DC | https://keithdc.com