blessed_moon@studio
studio: Blessed Moon Studio
founder: Benito Pedro Xavier · Solo studio
discipline: Strategy · Design · Engineering
stack: Next.js · Tailwind · WebGL
scene: ASCII moon · 5 keyframes
type: Space Grotesk / JetBrains Mono
accent: #ff6a1f
sound: muted
status: ready
B / S / MCASE_11 / 26

— Case study 11

Outubro Idiomas

A language school's site rebuilt around its own verb: destravar

All work
outubro_idiomas.capture● verified
Outubro Idiomas home: 'Bora destravar sua língua e seu futuro?' beside a WhatsApp-style conversation card

project overview

A rebuild of a Brazilian online language school's website in Portuguese, English and Spanish, elevating an identity the brand had already redesigned but its website never caught up with.

shipped outcome

All pages built in PT, EN and ES on a preview deployment: a 13-section home, method, pricing, testimonials, FAQ, contact, careers and privacy. The CMS and the final content pass with the client come next; testimonials stay openly placeholder until real ones arrive.

Role
Design and full-stack engineering
Timeline
Ongoing — pages built, CMS and content next
Year
2026
Team
Solo delivery
The problem01

Outubro Idiomas teaches English, French, Spanish and German to Brazilian working adults in live online classes. It had already redrawn its name, colours and mark; the old site still had the right content but none of the brand. Most visitors are expected to arrive on a phone from WhatsApp, so the site has to convert there first, and every page has to stand on its own in search.

The approach02

The brand's own verb, destravar (to unstick), became the signature interaction: a doodled cord untangles as the hero headline resolves, and 'língua' lands as the cord straightens. The brandbook governs palette, Source Sans as the only typeface and the official lockups. Motion uses GSAP and Lenis with WebGL deliberately rejected, to protect mobile performance. Every page exists in three locales with localized URLs, and pricing, FAQ and testimonials read from Payload-shaped stand-ins so the CMS can replace them without touching a page.

The result03

All pages built in PT, EN and ES on a preview deployment: a 13-section home, method, pricing, testimonials, FAQ, contact, careers and privacy. The CMS and the final content pass with the client come next; testimonials stay openly placeholder until real ones arrive.

— Interface evidence

The product, not a placeholder

These are the verified interface captures from the project build. Scroll inside taller frames to inspect each complete page.

Outubro Idiomas home hero with the destravar headline and a WhatsApp-style card01 / 03
Outubro Idiomas home hero with the destravar headline and a WhatsApp-style card
Pricing page: individual and paired classes, monthly price per student02 / 03
Pricing page: individual and paired classes, monthly price per student
Method page: a communicative approach for Brazilian working adults03 / 03
Method page: a communicative approach for Brazilian working adults

— Delivery process

From operating constraint to shipped system

The work is sequenced around risk. Domain rules and failure states come before interface polish; automation arrives before handoff.

01

Research the brand that already exists

The old site's content was extracted and the references analysed; the job was to elevate a redesigned identity, not invent a new one.

02

Find the signature in the brand's verb

Destravar became the hero interaction: the untangling cord, drawn like a doodle, timed to the headline.

03

Three locales, one route map

Portuguese unprefixed, English and Spanish with localized slugs, generated from one explicit route map that keeps /admin safe.

04

Pages first, CMS behind seams

Every page rendered from Payload-shaped stand-ins, so plugging in the CMS swaps function bodies, not pages.

— System architecture

Clear boundaries, explicit responsibilities

Each layer has one job and a narrow contract. That keeps external services replaceable and product behavior testable.

Next.jsTypeScriptTailwind CSS v4shadcn/uiGSAPLenis
outubro_idiomas.sys● online

outubro / hero

destravar

the cord untangles, língua lands

locales

pt · en · es

●one route map, no i18n library

pages / 3 locales

pt · /metodo[x]
en · /en/method[x]
es · /es/metodo[x]
gsap + lenis[x]
webgl[ ]
bora destravar
App

Next.js App Router, [lang]

Built-in i18n pattern with dictionaries per locale; no i18n library.

Routing

One localized route map

Exact rewrites and redirects per page, so /metodo, /en/method and /es/metodo are the same page.

Motion

GSAP + Lenis, tier 2

Small client leaves own the animation; WebGL rejected for mobile performance.

Content

Payload-shaped stand-ins

Pricing, FAQ and testimonials behind get* functions the CMS will implement.

— What shipped

Product capabilities

01

A signature interaction from the brand's own word

The cord untangling as the headline resolves is destravar drawn literally, not a generic unlock icon.

02

Brandbook first

Palette, Source Sans as the only typeface and the official lockups come from the client's brandbook, overriding design-taste defaults where they conflict.

03

Localized URLs

Each page has its own slug in each language, so every locale is a real page for search, not a query string.

— Engineering pressure

Challenges resolved

01

Pretty and fast on a phone

Most visitors are expected to arrive from WhatsApp on a phone, so the motion tier was chosen for mobile performance first and WebGL was left out.

02

Content not yet chosen

Final copy, testimonials and this year's prices are a pass with the client still open, so the build ships honest placeholders rather than invented ones.

next transmission

Need a system this deliberate?

Bring the operating problem. We will shape it into a clear product brief and a buildable next step.

Start a project