Skip to content

Release v1.0.0: beta to live - #104

Merged
luidgi-dev merged 46 commits into
mainfrom
dev
Sep 20, 2026
Merged

luidgi-dev merged 46 commits into
mainfrom
dev

Conversation

@luidgi-dev

Copy link
Copy Markdown
Owner

Summary

This is the release pull request that takes Strive from beta to live. It is the
first dev to main merge since 6 July 2026 and covers 8 pull requests and 46
commits between 5 and 20 September.

Merging this triggers the production deploy. Once production is verified, the merge
commit is tagged v1.0.0, a GitHub Release is published from that tag, and a Linear
status update announces the launch.

Type

Release

What ships

Going live (#103)

The landing page no longer announces a product that has not shipped.

  • Both primary CTAs read "Create your account" instead of "Get early access", which
    announced a waitlist behind a closed door while the product is open. The same
    label in the hero and in the closing section, because both point at the same
    destination.
  • components/landing/landing-footer.tsx removed. It was never rendered, only
    re-exported from the barrel, and it carried the last three strings saying the app
    was not out yet: "Available soon", "Bientôt disponible", and "the application is
    coming soon" in both languages. Those i18n keys are gone from en.json and
    fr.json.
  • settings.unlockSheet.lifetimeBullet2, "Early access to new features", is kept.
    It is a lifetime plan benefit, not beta branding.

Product fixes, all traced to the July user study (#97, #98)

The synthetic beta study run on 30 July found that the app worked but did not say
so. These close that gap.

  • Confirmation on ritual creation (LUI-143, finding F1). All three participants
    tapped Create ritual, saw the sheet close, and could not tell whether it had
    saved. A Ritual defined · {name} toast now confirms it, through a new
    ToastProvider mounted in the protected layout so the toast survives the list
    replacing the empty state.
  • A more visible day picker in Define Ritual (LUI-145, finding F2), made
    prominent without becoming a blocking requirement.
  • A first-entry welcome moment (LUI-144), for a real first login and for demo
    entry. Participants landed on an empty Rhythm board with no acknowledgment of the
    sign-up to app transition. Stored as welcomed_at in Supabase auth
    user_metadata, so there is no schema change, no migration and no extra query.

Bug fix (#99)

The Arc rendered calendar dates in local time, so weekday labels shifted by a day
for some timezones. Dates are now parsed as UTC through parseIsoDateUtc, with
tests covering it.

Documentation and presentation (#96, #100, #101, #102)

Not user-facing, but this is what makes the repository readable.

  • The synthetic user testing study, written up in full with its protocol, findings,
    severity ratings and the decision attached to each one, plus the raw transcripts.
  • docs/BUILD_LOG.md, a first-person account of how the app was built: the momentum
    rebuild, the iOS status bar, the RLS recursion, the usage numbers stated without
    inflation, and what I would do differently.
  • A README header with a banner and a screenshot row, two bugs fixed in the quick
    start that made it impossible to follow, and the key docs surfaced in the index.
  • A pull request template, and four stale facts corrected in the PR reviewer prompt
    which had it reasoning about Next.js 15 and a "planned" i18n system.

Database

  • Nothing to apply.

The only file changed under data/ is README.md, correcting view names from
v_ritual_progress to ritual_progress. No schema, function, trigger or view
change, so no manual step before the deploy.

Checklist

  • Checked on a mobile viewport
  • Every new user-facing string exists in both messages/en.json and messages/fr.json
  • Docs updated
  • tsc --noEmit, ESLint, 83 Vitest tests and next build all pass

Known and accepted

Minor Phase 6 issues remain open in Linear. None is blocking, and shipping the live
landing today is worth more than clearing them first.

- Introduced a new protocol document detailing the objectives, methods, and participant profiles for the synthetic user testing study scheduled for September 2026.
- Outlined research questions and design choices to evaluate user interactions with the Strive app, focusing on demo mode and conversational logging.
- Documented participant personas to ensure diverse representation in testing scenarios.
- Created a new metrics.md file to document post-test question results from the synthetic user testing study.
- Included participant responses and thematic analysis for key questions regarding Strive's core philosophy, user experience, and areas for improvement.
- Provided aggregate data and insights on user interactions, highlighting friction points and overall clarity of the app's functionality.
- Created a new markdown file documenting the session transcript and think-aloud from user testing.
- Included detailed step-by-step interactions and participant feedback on the Strive app's demo mode and ritual creation process.
- Provided insights into user experience, highlighting areas of confusion and suggestions for improvement.
- Created a new markdown file documenting the session transcript and think-aloud from user testing.
- Included detailed step-by-step interactions and participant feedback on the Strive app's demo mode and ritual creation process.
- Highlighted user experience insights, particularly areas needing immediate feedback and clarity in the app's functionality.
- Created a new markdown file documenting the session transcript and think-aloud from user testing.
- Included detailed step-by-step interactions and participant feedback on the Strive app's demo mode and ritual creation process.
- Highlighted user experience insights, particularly areas needing clearer acknowledgment and feedback in the app's functionality.
…yment information

- Revised the run date to 30 July 2026 for all sessions.
- Clarified the build under test as production at `striveapp.cc`, commit `9bedeea`.
- Marked open items as completed regarding deployment URL and session dates.
- Created a new markdown file documenting insights from three user testing sessions.
- Summarized key findings, relevance ratings, and suggested fixes for identified issues in the Strive app's functionality.
- Highlighted user feedback on trust and clarity in ritual creation and logging processes, emphasizing areas for improvement in user experience.
- Changed the study date from September 2026 to July 2026 for the synthetic beta testing session.
- Maintained other details regarding participants, method, and status.
- Created new markdown files for findings and protocol related to the synthetic beta testing conducted on 30 July 2026.
- Documented key insights from user testing sessions, highlighting user experiences, areas of confusion, and suggestions for improvement in the Strive app's functionality.
- Included detailed protocol outlining study objectives, methods, and participant profiles to provide context for the findings.
…r-testing

 docs(research): add synthetic user testing study (LUI-109, LUI-142)
- Integrated a toast notification system to provide user feedback upon successful ritual creation.
- Updated the `DefineRitualButton` component to display a confirmation message with an icon when a ritual is saved.
- Modified the `RitualFormSheet` and `RitualForm` components to pass the saved ritual values to the toast notification.
- Introduced a new `ToastProvider` component to manage toast notifications across the application.
- Wrapped the main content in the ProtectedBaseLayout with the ToastProvider component to enable toast notifications throughout the protected layout.
- This integration supports consistent user feedback across the application, complementing recent enhancements to the ritual creation flow.
- Replaced the custom success toast implementation with the useToast hook from the ToastProvider.
- Simplified the feedback handling by removing the local state for success messages.
- Enhanced user feedback experience by integrating toast notifications directly upon successful feedback submission.
- Updated the `en.json` and `fr.json` files to include a new message for successful ritual definition.
- Added the "saved" key to provide user feedback upon defining a ritual, enhancing the overall user experience.
…e-ritual-form

Feat/lui 143 145 enhance define ritual form
…tracking

- Modified the sign-in flow for demo users to include a welcome flag in the redirect URL, ensuring a tailored experience.
- Implemented a new function to record when users have seen the first-login welcome, preserving the welcome state for shared demo accounts without affecting future visitors.
…ayout

- Added the WelcomeToaster component to display a welcome message for new users upon their first login.
- Implemented logic to track whether the user has been welcomed, ensuring demo users receive a tailored greeting.
- Wrapped the WelcomeToaster in a Suspense component to handle loading states effectively.
- Introduced the WelcomeToaster component to display tailored welcome messages for new users and demo accounts.
- Implemented logic to ensure the welcome message is shown only once per user session, enhancing the onboarding experience.
- Integrated with the existing ToastProvider for consistent user feedback across the application.
… French translations

- Introduced new "welcome" section in `en.json` and `fr.json` to provide tailored greetings for first-time users and demo accounts.
- Enhanced user onboarding experience by including specific messages for new users and demo exploration.
…eter handling

- Changed the icon displayed in the welcome toast from AudioWaveform to Hand for better visual representation.
- Enhanced URL parameter management by ensuring only the welcome parameter is removed, preserving other query parameters and the hash in the URL.
- Introduced a new function `parseIsoDateUtc` to parse calendar dates in the format `YYYY-MM-DD` as UTC instants for consistent display formatting.
- This function ensures that dates are interpreted in UTC, preventing local time zone discrepancies during rendering.
- Added unit tests for the new `parseIsoDateUtc` function to verify correct UTC parsing and weekday retention.
- Created a new test file for the `arc` module, implementing tests for the `buildArcModel` function, ensuring proper week structure, today marker, and log placement.
- Enhanced test coverage for date handling and ritual logging functionality.
- Renamed views in the documentation for clarity: `v_ritual_progress` to `ritual_progress`, `v_daily_summary` to `daily_summary`, and `v_ritual_log_history` to `ritual_log_history`.
- Improved formatting for better readability.
…ponents to use parseIsoDateUtc for consistent UTC formatting

- Updated date parsing in RhythmDayBar and OneTimeStatus components to utilize the new parseIsoDateUtc function, ensuring dates are correctly interpreted as UTC.
- Removed the local date conversion function from TheArc component and replaced it with parseIsoDateUtc for better consistency in date formatting across the application.
- Enhanced date display logic to include time zone specification, preventing discrepancies in date representation.
…fset

fix(arc): render calendar dates in UTC so weekday labels stop shifting
- Included a link to the build log in both DEEP_DIVE.md and PITCH.md for better transparency on the project's build process.
- This addition enhances the documentation by providing users with insights into how the project was constructed.
- Created a comprehensive build log detailing the development journey of the Strive application, including project scope, effort, and key decisions made throughout the process.
- The document serves as a first-person narrative, providing insights into the challenges faced and lessons learned during the build, enhancing transparency and understanding of the project's evolution.
…-docs

Docs/lui 146 strive narrative docs
- Changed the instruction for creating the .env file to specify that the runner loads `.env.local` from the repository root, ensuring users understand the correct configuration for environment variables.
- Revised the description of Strive to emphasize its live status and added a note about trying the demo without signing up.
- Clarified the prerequisites for setting up the database, including the need for Python packages.
- Improved formatting and consistency in various sections for better readability.
- Introduced a new HTML file for the README banner, including detailed instructions for capturing screenshots in both light and dark themes.
- Implemented CSS variables for theming and layout, ensuring consistency with existing wireframes.
- Added JavaScript functionality for theme switching and embedded mode handling.
- Replaced existing wireframe images for both light and dark themes of Rhythm and The Arc with updated versions to enhance visual design consistency across the application.
…tegration

- Updated framework versions to Next.js 16 and React 19.
- Clarified i18n implementation details, specifying the use of `next-intl` for user-facing text.
- Enhanced descriptions for mobile-first PWA features and design system requirements.
- Deleted the LandingFooter component from the landing section.
- Removed footer-related translations from both English and French JSON files.
- Changed the call-to-action label from "Get early access" to "Create your account" in the main section and the final section of the home page.
…age-to-live-deploy

Fix/lui 150 prepare landing page to live deploy
@vercel

vercel Bot commented Sep 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
strive Ready Ready Preview Sep 20, 2026 1:22pm UTC

@github-actions

Copy link
Copy Markdown

Strive PR Agent Review

The review could not be generated for this run (model unavailable or rate-limited). Push again to retry.

@luidgi-dev
luidgi-dev merged commit dfb59aa into main Sep 20, 2026
11 checks passed

This branch was successfully deployed

1 active deployment
Preview — df3f7875 Deployed Sep 20, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant