Skip to content
Edson Francisco

    edsonfrancisco.site

    Bilingual, dark personal page that sends each visitor to the portfolio, the CV or a meeting.

    Period
    2026
    Status
    In production
    Role
    Author (product, design and code)

    Problem

    Partners, clients and developers arrived through different links and found different pages. There was no short entry point saying who Edson is and where to go next.

    Solution

    A single Next.js 16 page, dark by default, in PT and EN, with profile, availability, cards for portfolio, CV and scheduling, current focus and videos. It was built in six documented sprints, with AI agents working on separate branches.

    Technical decisions

    1. 01

      shadcn/ui-compatible tokens

      Colours are semantic tokens named the way shadcn/ui expects, so new components drop in without remapping styles. It is recorded in an ADR.

    2. 02

      Dark only in v1, with a path to light mode

      Shipping only the dark theme cut design work; a CSS variant already in place lets light mode be added without a refactor.

    3. 03

      Self-hosted fonts

      Geist is served by the site itself through next/font/local: no Google Fonts request and no layout shift on load.

    Images

    01 / 02 — Dark home page with name, title, PT/EN selector and cards for portfolio, CV and meeting

    Technologies

    • Next.js
    • React
    • TypeScript
    • Tailwind CSS

    Verifiable results

    documented sprints
    6