Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Un point de départ honnête, puis un plan de trente jours qui se réécrit selon ce que tu fais vraiment.
Translation pending
LifestyleTypeScript · JavaScriptGitHub @soulkushh-botOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Devenir une nouvelle version de soi — bilan, plan de 30 jours et rituel hebdomadaire pour femmes en transition.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Devenir une nouvelle version de soi. Une web-app mobile-first pour des femmes en transition de vie : faire le point, décider qui l'on veut devenir, et repartir avec un plan de trente jours qui se réécrit selon ce qu'on fait vraiment. Le pourcentage de femmes qui complètent le rituel de la semaine 2. Pas les inscriptions, pas les bilans terminés, pas le temps passé. Un questionnaire qui rend un document est un moment fort suivi de rien ; la seule preuve que ce produit vaut quelque chose, c'est qu'elle revienne une deuxième semaine. Tout le reste de ce dépôt existe pour ce chiffre.Read the full README ↗
Devenir une nouvelle version de soi.
Une web-app mobile-first pour des femmes en transition de vie : faire le point, décider qui l'on veut devenir, et repartir avec un plan de trente jours qui se réécrit selon ce qu'on fait vraiment.
Le pourcentage de femmes qui complètent le rituel de la semaine 2.
Pas les inscriptions, pas les bilans terminés, pas le temps passé. Un questionnaire qui rend un document est un moment fort suivi de rien ; la seule preuve que ce produit vaut quelque chose, c'est qu'elle revienne une deuxième semaine. Tout le reste de ce dépôt existe pour ce chiffre.
L'événement à suivre : weekly_ritual_completed avec semaine = 2, rapporté à plan_generated.
/ Une promesse, et la première question du bilan posée tout de suite
/bilan Confidentialité, puis 6 écrans · 22 questions · ~8 minutes
/profil Le Profil de Renaissance — le seul moment animé du produit
/aujourdhui Le retour quotidien : une seule chose au-dessus de la ligne
/plan 30 jours détaillés · 90 jours esquissés · 1 an en une phrase
/rituel 3 minutes par semaine — la boucle de rétention
/recits 11 parcours illustratifs, signalés comme tels
/reglages Confidentialité, export, suppression totale
Node 20 ou plus.
npm install
npm run dev
| commande | ce qu'elle fait |
|---|---|
npm run dev | serveur de développement sur http://localhost:3000 |
npm run build | build de production |
npm run start | sert le build de production |
npm test | 70 tests Vitest sur le moteur et le contenu |
npm run typecheck | TypeScript strict, sans émission |
Aucune variable d'environnement n'est nécessaire, ni en local ni en production. C'est une propriété du projet, pas un oubli : elle rend le déploiement reproductible et garantit qu'aucune donnée personnelle ne peut partir vers un service tiers.
Un moteur de règles déterministe en TypeScript. Pas d'appel LLM : c'est instantané, gratuit, testable, ça marche hors ligne et ça ne dépend d'aucune clé d'API.
src/lib/engine/
score.ts réponses → 0–100 par dimension (jamais affiché : ni chiffre, ni jauge, ni radar)
profile.ts scores → archétype de situation, forces, tensions, sa phrase à un an
plan.ts profil → 4 semaines × ≤3 actions, 1 seule prioritaire
adapt.ts progrès → plan réécrit + la liste lisible de ce qui a changé
Les règles qui font le produit
Math.random, aucune horloge dans la sélection. Deux ouvertures du
même profil donnent le même plan — c'est ce qui rend le moteur testable.Les 92 actions vivent dans src/content/actions.ts. Tout ce qui est local — devise, montants,
services de paiement, villes, guichets — passe par src/config/market.ts : changer de marché,
c'est éditer un seul fichier.
Tout est dans localStorage, derrière l'interface StorageAdapter (src/lib/storage/). Ses
réponses sur son argent, son travail et sa famille ne quittent pas son téléphone. Pas de compte, pas
de base de données, pas de serveur.
C'est un argument produit autant qu'une décision technique, et il est dit en clair dans l'onboarding
et dans les réglages. Brancher Supabase plus tard demande une deuxième implémentation de
StorageAdapter et une ligne changée dans src/lib/storage/index.ts — aucun écran ne connaît le
mode de stockage.
Budget tenu, mesuré sur le build de production :
| contrainte | cible | mesuré |
|---|---|---|
| JS par route (hors polices) | < 200 Ko | 129 Ko au maximum (/rituel) |
| JS partagé | — | 103 Ko |
| bibliothèque d'icônes | aucune | aucune, les icônes sont des <svg> inline |
| images | aucune photo | aucune, tout le visuel est vectoriel |
motion n'est chargé que sur /profil, en import dynamique. prefers-reduced-motion coupe toute
animation.
Hors ligne — vérifié en production. Deux mesures, pas une intention :
fetch, XMLHttpRequest et sendBeacon instrumentés :
zéro appel réseau, y compris pour réécrire le plan. Tout est calculé sur l'appareil, et l'état
vit dans localStorage.renaisens.vercel.app, le service worker (public/sw.js, écrit à la main) s'enregistre,
s'active sur la portée /, et met en cache les six routes de la coquille — /, /aujourdhui,
/plan, /rituel, /recits, /reglages. Vérifié : /rituel revient du cache en 200
text/html.Stratégie : réseau d'abord avec repli sur le cache pour les navigations, cache d'abord pour
/_next/static (noms hachés, donc immuables).
@vercel/analytics et @vercel/speed-insights, derrière src/lib/analytics.ts (silencieux en
développement). Six événements : onboarding_started, onboarding_completed, plan_generated,
first_action_checked, weekly_ritual_completed (avec le numéro de semaine), day30_reached.
src/app/api/waitlist/route.ts, prêt pour Resend ou Supabase, journalise pour l'instant).Les onze récits sont illustratifs, et l'app le dit sur la liste et sur chaque récit. Aucun témoignage inventé n'est présenté comme réel, aucun chiffre de traction n'est fabriqué, aucun partenariat n'est évoqué. Sur ce produit, la confiance est le produit.