01 Website · 2026
Lúmina Tech, the website.
The website of my own company: AI-first, in 3D, and honest about what isn’t built yet.
And on the phone
From the inside
Four pieces of the site, running on this page.
The particle engine from luminahub.com.co. Pick a shape: the symbol keeps the proportions of the official SVG, and its lime square becomes a tunnel. Move the cursor over it.
Demo with fictitious data of a teacher’s daily plan. This feature is paused.
High priority: math recovery in grade 9B. Six students are below 3.0; schedule a fractions review before Thursday.
Reminder: pending grades for grade 10A. Twelve grades from worksheet 3 are missing to close the period.
The AI daily-plan console, as it appears on the site: the real shape of the response of POST /ai/daily-plan, fictitious data, and a “paused” label, because the feature is paused while it moves to a provider that accepts educational use with minors.
- Night blue
#0D0F2BBackground. Never pure black. - Indigo
#1E1B6E1.3:1 not for small textDepth, gradients. - Lime
#4DFF4B14.0:1 AAOnly the primary button, headline keywords and the symbol’s square. - Violet
#6B68B03.8:1 not for small textAccent on surfaces, not small text. - Light violet
#A9A6E38.3:1 AAExists for small text. - Pearl
#F4F4F617.1:1 AAText.
Small text on night blue: can you read it?
8.3:1 · passes AA for small text (4.5:1)
Education that thinks with you.Plus Jakarta Sans · headlines
AI-powered educational software for schools in Colombia.Inter · body
POST /ai/daily-plan · 3.0JetBrains Mono · figures and code
The brand system, with its contrast measured. Light violet exists because the medium violet does not reach 4.5:1 on night blue in small text. Try the four colors. Lime is scarce on purpose: primary button, headline keywords and the symbol’s square.
Section Hero
gsap.set(S, K.hero);
- morph
- 0.00
- x
- 0.50
- y
- 0.30
- scale
- 1.00
- alpha
- 1.00
- spin
- 0.00
The scroll choreography, from the inside. Each section of the site has a state, and the scroll interpolates between the previous one and its own, always with explicit from/to values. x and y are fractions of the visible screen, so it works at any aspect ratio. Turn on the delayed scrub and jump: that bug happened.
Content first
All the text lives in the HTML; JavaScript only animates. Without JavaScript or WebGL the page still reads complete, and that is what Google indexes.
Never promise more
Insight says “Coming”; the AI plan says “Paused”. A clients section would only exist if it were true.








