TikText

feed · 01 / 11

TikText

Historias

Historias que se leen palabra por palabra en un feed vertical

velocidad
App social de lectura y monetización para escritores2026Prototipo de alta fidelidad — front-end completo, integración con API en curso

Diseño de producto y desarrollo front-end (React + TypeScript)

02 / La conversación

Lo que pasa cuando el pulgar decide

La misma consola de chat del Writing Studio, usada aquí para contar por qué existe TikText.

lector

Leer ficción larga en el móvil compite contra formatos diseñados para el pulgar: el video vertical entrega estímulo inmediato y la lectura tradicional exige abrir un libro, encontrar la página y sostener la atención. Además, un escritor independiente no tiene una forma directa de cobrar por un capítulo suelto: publica gratis o desaparece detrás de una plataforma editorial.

tiktext

TikText adopta la gramática de la red social vertical y la aplica al texto. El feed es una pila de pantallas con scroll-snap obligatorio; cada tarjeta reproduce la historia con técnica RSVP (una palabra fija en el centro, 92 ms por palabra) para eliminar el movimiento ocular, acompañada de banda sonora, carrusel de capítulos y barra de progreso. Sobre esa base el creador monta su negocio: bloquea capítulos con precio en monedas, recibe propinas, sigue sus ingresos en una billetera con analíticas semanales y genera texto y portadas con herramientas asistidas por IA dentro de la misma app.

92 ms por palabra
scroll-snap obligatorio
capítulos con precio
propinas en monedas
650 WPM
La
NV12.4k850Tip
Neon RainVoid Collective
CH 01CH 02CH 03120CH 04180

Dead Frequency

Seis técnicos, una antena que no debería seguir transmitiendo.

@nova.writesVerified

Feed de lectura RSVP

03 / La mecánica

Una palabra fija, cero movimiento ocular

92 msEl intervalo650 palabras por minuto salen exactamente a 92 milisegundos por palabra. La palabra sale del centro y la siguiente entra con un fundido de 60 ms.
1 timerSólo la tarjeta activaEl contenedor divide scrollTop entre la altura de ventana para saber qué historia se está viendo; el resto de tarjetas no ejecuta ningún intervalo.
snap-yEl feedsnap-y mandatory con snap-always: cada historia se ancla a la pantalla completa y no hay estados intermedios. Esta misma página lo usa.

Cyberpunk nocturno: negro absoluto, violeta eléctrico y verde neón con vidrio esmerilado, halos difuminados y oro para todo lo que cuesta dinero. Inter para la interfaz, JetBrains Mono en negrita a 48 px para la palabra que se lee.

04 / Piezas clave

Seis piezas que sostienen el feed

01

Lector RSVP a 650 WPM

Un intervalo de 92 ms avanza palabra a palabra sobre un halo violeta difuminado; el temporizador solo corre en la tarjeta activa del feed, detectada por la posición de scroll.

02

Feed vertical con scroll-snap

Contenedor de altura completa con snap-y mandatory y snap-always: cada historia se ancla a la pantalla y un listener de scroll calcula el índice activo para pausar el resto.

03

Capítulos premium y propinas

Los capítulos bloqueados se muestran con miniatura difuminada, candado y etiqueta de precio en monedas doradas; el botón de propina late con un aura radial animada.

04

Cuatro herramientas de creación

StoryLab agrupa en pestañas el AI Lab (semilla, género, banda sonora, roadmap de capítulos), el Writing Studio, el Visual Synth y el Dashboard de métricas.

05

Editor con consola de IA

Writing Studio divide la pantalla 60/40: lienzo contenteditable con barra flotante al seleccionar texto (Summarize, Expand, Make Aggressive) y consola de chat con seis directivas rápidas.

06

Billetera con analíticas

Saldo en USDT sobre Binance Pay, gráfico semanal de ingresos y lectores con Recharts, transacciones recientes y control de precio por capítulo.

05 / El estudio

Cuatro herramientas dentro de la misma app

Las mismas tarjetas isométricas del selector de géneros, una por destino del estudio. Toca una para abrir su pantalla.

Draft Saved
Type your story seed here...
Expand Idea

Genre Framework

Sci-FiNoirRomanceThrillerFantasy

Story Soundtrack

Neon RainVoid Collective · 3:42
Static BloomKyra Nine · 4:18Dreamy
Sube tu propio audio

Story Roadmap

CH 01The Last Signal
CH 02Dead Frequency
CH 03Static Bloom
AI LabWriterVisualWallet
pantalla 1 de 4

AI Story Lab

Semilla narrativa, cinco marcos de género en tarjetas isométricas, biblioteca musical y un roadmap de capítulos con score de complejidad e interruptor de monetización por capítulo.

Las maquetas reproducen la interfaz real; los datos que muestran son de ejemplo.

06 / Monetización

Todo lo que cuesta dinero se pinta en oro

Capítulos con candado, propinas que laten y una billetera que lleva la cuenta: el escritor cobra dentro de la misma pantalla donde publica.

120–180

monedas por capítulo bloqueado

USDT

saldo sobre Binance Pay

7 días

de ingresos y lectores en el gráfico

07 / Funcionalidades

El roadmap, capítulo a capítulo

Las diecisiete funcionalidades presentadas con la misma fila que el Story Roadmap del AI Lab: manija, código monoespaciado y barra de complejidad.

CH 01Feed vertical de historias con scroll-snap a pantalla completa
CH 02Lector RSVP que revela una palabra a la vez a 650 WPM con halo pulsante
CH 03Carrusel de capítulos con miniatura, número, estado completado y bloqueo premium
CH 04Barra de progreso de lectura y medidor de velocidad flotante
CH 05Reproductor de banda sonora por historia con visualizador de ondas animado
CH 06Acciones sociales: perfil con anillo giratorio, like, comentarios y propina en monedas
CH 07Drawer de comentarios deslizante con avatares degradados, verificación y likes por comentario
CH 08Ficha de creador con portada, estadísticas en rejilla, rendimiento e historias populares
CH 09AI Lab: campo de semilla narrativa, cinco marcos de género en tarjetas isométricas y biblioteca musical
CH 10Roadmap de capítulos con score de complejidad e interruptor de monetización por capítulo
CH 11Writing Studio: editor contenteditable con barra flotante de acciones de IA y consola de chat
CH 12Visual Synth: generación de portadas por prompt, 16 presets de estilo, variaciones y biblioteca
CH 13Vista previa del overlay RSVP sobre la imagen generada
CH 14Creator Dashboard con KPIs, filtro publicados/borradores y paginación contra la API
CH 15Creator Wallet con saldo USDT, gráfico semanal, transacciones y ajustes de monetización
CH 16Rejilla de descubrimiento con insignias de tendencia, premium y contadores de vistas
CH 17Sistema de toasts tipado que traduce errores de validación y de red del backend
08 / Arquitectura

Tres capas y un solo cliente HTTP

Router por estado, sin dependencia externa: la vista decide el modo, los servicios tipan la respuesta y el cliente axios centraliza los errores.

CAPA 1 · VISTAApp.tsxrouter por estadoStoryCardfeed + RSVPStoryLab4 pestañasCreatorWallet4 pestañasCAPA 2 · SERVICIOScreatorStudio.tsCreatorStats · CreatorContenttypes.tsPaginatedResponse<T>toast.tsparser de erroresCAPA 3 · CLIENTE HTTPhttp.tsaxios · X-Api-Key · X-Timezoneapi.tsget · post · put · patch · delAPI REST v1Creator Studio
src/

Aplicación de una sola página montada en src/main.tsx sobre createRoot. App.tsx actúa como router por estado con tres modos raíz — reader, lab y wallet — sin dependencia de router externo. El modo reader renderiza una pila de StoryCard dentro de un contenedor con snap-y mandatory; un efecto sobre el evento de scroll divide scrollTop entre la altura de ventana para calcular el índice activo, y solo esa tarjeta ejecuta el intervalo RSVP. StoryLab es un contenedor de pestañas que monta WritingStudio, VisualSynth y CreatorDashboard, con navegación inferior fija de cuatro destinos. CreatorWallet repite el patrón con sus propias cuatro pestañas (feed, studio, marketplace, wallet) y recibe callbacks para devolver al lector la portada elegida en FeedGrid. La capa de datos está separada en tres niveles: src/lib/http.ts crea la instancia axios con cabeceras X-Api-Key y X-Timezone derivada del navegador e interceptores que disparan toasts de error; src/lib/api.ts expone envoltorios genéricos get, post, put, patch y del tipados; src/services/creatorStudio.ts declara los tipos CreatorStats y CreatorContent y consume los dos endpoints del estudio con el sobre paginado genérico PaginatedResponse<T> definido en src/lib/types.ts. La biblioteca visual vive aparte en src/app/components/ui con 46 primitivos shadcn/ui, de modo que los 9 módulos de dominio suman unas 4.195 líneas propias sin mezclarse con el sistema de diseño.

09 / Retos

Cinco cosas que no salieron a la primera

síntoma 01

Cinco lectores RSVP simultáneos en el DOM significaban cinco temporizadores de 92 ms corriendo a la vez, consumiendo CPU y desincronizando las historias que el usuario no estaba viendo.

patch

El estado de tarjeta activa se calcula en el contenedor padre a partir del scroll y se propaga como prop isActive; el efecto que crea el setInterval retorna temprano si la tarjeta no está activa y limpia el intervalo al desmontar, de forma que solo hay un temporizador vivo.

síntoma 02

Cambiar de capítulo dentro de una historia obligaba a reiniciar el flujo de palabras sin dejar el índice apuntando fuera del nuevo arreglo, lo que producía palabras vacías en pantalla.

patch

Un efecto observa el índice de capítulo, sustituye el arreglo de palabras por el del capítulo seleccionado con recaída al texto base de la historia y reinicia el índice de palabra a cero antes de que el intervalo vuelva a avanzar.

síntoma 03

Cada pantalla necesitaba manejar sus propios errores de API — errores estándar, errores de validación 422 con arreglo de detalles y caídas de red sin respuesta — lo que multiplicaba el try/catch por componente.

patch

Un interceptor de respuesta único dispara toastError en cualquier fallo y reenvía el error; el parser de src/lib/toast.ts distingue las tres formas de payload y construye un título y una descripción legibles, dejando el manejo local como opcional.

síntoma 04

La identidad visual de TikText — negro absoluto, violeta y verde neón — no coincidía con el tema por defecto de shadcn/ui incluido en la exportación de Figma Make, definido en tokens oklch claros.

patch

Los módulos de dominio se pintan con hex literales de marca en las utilidades de Tailwind y con gradientes en línea, mientras theme.css se conserva intacto para que los 46 primitivos de la biblioteca sigan funcionando sin reescribir el sistema de tokens.

síntoma 05

El feed de descubrimiento y el lector vertical son dos vistas distintas, pero al abrir una historia desde la rejilla la portada debía acompañar la lectura sin duplicar el estado de la historia.

patch

FeedGrid emite el identificador y la URL de portada hacia CreatorWallet, que los eleva a App; el estado selectedFeedStory mapea el id al índice del feed y pasa coverImage a la StoryCard correspondiente, que la usa como fondo bajo una capa negra al 85 por ciento con desenfoque.

10 / Números

El prototipo en cifras

9

Módulos de dominio propios

4.195

Líneas de TypeScript propias

650

Palabras por minuto del lector RSVP

46

Primitivos shadcn/ui integrados

11

Vistas y pestañas navegables

16

Presets de estilo en Visual Synth

11 / Stack

Con qué está construido

Front-end
React 18TypeScriptVite 6Tailwind CSS v4
Interfaz
shadcn/uiRadix UI (26 paquetes)lucide-reactMUI 7Emotionclass-variance-authoritytailwind-mergetw-animate-css
Interacción y datos
RechartsMotionEmbla Carouselreact-dndreact-hook-formsonnervaulcmdkdate-fns
Capa de red
axiosinterceptores de request y responseAPI REST v1 del Creator Studio
Tipografía
InterJetBrains Mono
paleta
primary#7000FFsecondary#00FF94accent#FFD700surface#121212bg#000000text#FFFFFF
la historia completa

TikText traslada la mecánica del feed vertical de las redes sociales al texto: cada historia ocupa una pantalla completa con scroll-snap y se lee mediante un lector RSVP que proyecta una sola palabra al centro a 650 palabras por minuto.

Alrededor del lector hay una capa social completa — perfil de creador, likes, drawer de comentarios, propinas en monedas y capítulos premium con precio — y una capa de creación con cuatro herramientas: AI Lab, Writing Studio, Visual Synth y Dashboard.

El proyecto nació como diseño de alta fidelidad en Figma Make y se convirtió en una app React 18 + Vite + Tailwind v4 con 9 módulos de dominio propios sobre 46 primitivos shadcn/ui.

La capa de datos ya está conectada: un cliente axios con interceptores, toasts tipados de error y el servicio de Creator Studio que consume estadísticas y contenido paginado del creador.

650 WPMscroll-snapAI LabWriting StudioVisual SynthCreator Walletcapítulos premiumpropinas en monedas650 WPMscroll-snapAI LabWriting StudioVisual SynthCreator Walletcapítulos premiumpropinas en monedas

TikText

¿Quieres algo así para tu producto?

Un front-end completo: feed con scroll-snap, lector RSVP sincronizado, cuatro herramientas de creación y una capa de datos tipada con manejo central de errores. Si tienes un producto que necesita interfaz de verdad, este es el terreno.