
Building @sytio_app — the best-looking websites in real estate. 10 yrs of design for luxury agencies on the Costa del Sol. Design + code, in public.
Joined September 2011
- Tweets2.4K
- Following390
- Followers2K
- Likes2.3K
Pinned Tweet
For 10 years I built real estate websites for other people's agencies. €600 to €15,000 a project. Then watch it go stale in two years and rebuild it from scratch. I got tired of selling the same thing twice. So I'm building one product instead. In public. 🧵
Hussein Lababidi Murcia retweeted
Ya tenéis el artículo por aquí.
Es denso, pero interesante jaja. View article
TEBAAAAAAAAAAS!!!!!!
Deja de joderme la vidaaaaaaaaaaa!!!!!
#LaLigaGate
I made Sytio's product video with no camera and no video editor. Here's the full recipe, so you can make one too.
The trick: the video is a web page. Give it a second and it draws exactly that frame. A browser records it frame by frame and ffmpeg joins the frames.
What you need:
· Node + Playwright
· ffmpeg
· Python with numpy
· A voice and a music track (I used ElevenLabs for both)
· An AI coding agent helps a lot (I used Claude)
The 8 steps:
1. Script as a table. One row per scene: what's on screen, the voice line, the caption and how many beats it lasts.
2. Music first. Measure its tempo and its drop. At 122 bpm one beat is 0.49 s, and every cut lands on a beat after the drop.
3. Build each scene in HTML. Everything is computed from the time t: no CSS animations, no timers. That's what makes every render identical.
4. Compose the product screens in HTML instead of screenshots. Almost all our visible bugs came from screenshots: cropped, in the wrong language, prices that didn't match.
5. Render. Playwright steps through the timeline at 30 fps and ffmpeg encodes it. Same source, four layouts: 16:9, 9:16, 4:5, 1:1.
6. Review before any audio. A sheet per scene at 6 fps, and every cut frame by frame, in every format. Each bug lives in one moment of one format.
7. Voice. One take of the whole script with long pauses, cut at the silences, each line placed on its beat. Swapping the voice is a remix, not a re-render.
8. Mix. Music 10 to 15 dB under the voice while it speaks, whole mix at -14 LUFS. Then listen on a phone: 74% of our first track sat below 80 Hz, and it vanished on phone speakers.
What four versions taught me:
· If nothing moves inside the frame, it's a slide.
· Frantic comes from intensity, not from cuts. Keep the cuts on the beat, turn down everything else.
· Four beats per action, minimum (about 2 s).
· Length is an outcome. Ours went from 30 to 38 s and felt better.
· Show the real product. Never promise what it doesn't do.
My part was watching each version and saying what wasn't working. Claude did the script, the code, the mix and the frame-by-frame review.
I packed the skeleton into a free starter kit: the page, the render script, the review sheets, the mixer and a prompt for your agent. Link in the first reply 👇
The starter kit: github.com/sytio-org/video-s…
Open video.html?play=1 to see the example, then follow the README. Questions welcome, I'll answer here.
Espera, ¿ya hay acceso a Fable 5.5?
Voy a hacer minijuegos para cuando estás esperando que el agente complete su tarea 👾
Shipeando a las 6 de la mañana desde una casa rural con los colegas.
Estoy loco? Un poco. Os presento apachas.lol: haces foto al ticket de la compra, se crean los items solos, mandas el link al grupo y cada uno marca lo suyo. sin instalar nada, sin registrarse.
listo, ya sabes cuánto pone cada uno 🤑
Te subo la apuesta. Cualquier persona puede hacer ejercicio por su propia cuenta sin pagar un duro y aun así deciden ir al gimnasio.
Te la sigo subiendo. Cualquier persona puede pagar relativamente poco para ir a un gimnasio a hacer ejercicio estableciendo su propia rutina pero aun asi hay gente que decide pagar mucho mas para tener un entrenador personal.
Estoy probando GPT 6.1 Sol y es como muy tonto, no? Pero tonto en plan envalentonao. Ya es la tercera vez que tengo que cortar y cambiar a opus o fable 😔
Recordatorio: Seguramente mañana den un reset de chatgpt / codex con motivo del DevDay. Gasten sus tokens si tienen la posibilidad
Lo de instict... Me acabo de dar cuenta, pero claro, como ellos deciden cuando responderte, pueden postergar las peticiones costosas los minutos que quieran y de este modo pueden permitirse una maxima cantidad de peticiones por minuto en total. Es una muy buena forma de controlar el gasto de tus usuarios...
mañana tocará fable 5.5 tambien con una reduccion del gasto de tokens y del coste de un 30%? En plan, para reventarles la fiesta a los de OpenAI
Esto es verdad, yo muchas veces, para empezar un nuevo proyecto o revisar el harness/env alrededor, me bajo proyectos open source que considere de calidad, y le pido que replique los patrones, reglas y sistemas.













