Home

API

Public, read-only JSON endpoints. No authentication required.

Base URL: https://lrafael.tech

  • All endpoints accept GET only and return JSON.
  • CORS is open (Access-Control-Allow-Origin: *), so you can call them from the browser.
  • Responses are cached for up to one hour.

Endpoints

REST endpoints

  • GET/api/v1/meProfile: name, role, location, contact and social links
    Example response
    {
      "name": "Lando Rafael",
      "role": "Software Engineer & Cybersecurity Analyst",
      "location": "Luanda, Angola",
      "email": "info@lrafael.tech",
      "website": "https://lrafael.tech",
      "bio": "…",
      "social": { "github": "https://github.com/lrafa3l", "linkedin": "…", "x": "…" }
    }
  • GET/api/v1/projectsAll projects with category, tags and links
    Example response
    {
      "items": [
        {
          "slug": "sara3com",
          "title": { "en": "Sara3com", "fr": "Sara3com", "pt-PT": "Sara3com" },
          "category": "web",
          "tags": ["Next.js 16", "TypeScript", "…"],
          "github": "https://github.com/lrafa3l/s3com",
          "live": "https://sara3com.vercel.app",
          "url": "https://lrafael.tech/work/sara3com"
        }
      ],
      "total": 6
    }
  • GET/api/v1/postsPublished blog posts, newest first
    Example response
    {
      "items": [
        {
          "slug": "building-a-design-system-from-scratch",
          "title": { "en": "…", "fr": "…", "pt-PT": "…" },
          "excerpt": { "en": "…", "fr": "…", "pt-PT": "…" },
          "date": "2026-05-02",
          "tag": "Design",
          "readingTime": "…",
          "url": "https://lrafael.tech/blog/building-a-design-system-from-scratch"
        }
      ],
      "total": 3
    }
  • GET/api/v1/skillsSkill categories with proficiency scores (1–10)
    Example response
    {
      "categories": [
        { "key": "frontend", "label": "Frontend", "skills": [{ "name": "TypeScript", "score": 8 }, "…"] }
      ]
    }
  • GET/api/v1/nowLocation and current roles
    Example response
    {
      "location": "Luanda, Angola",
      "role": "Software Engineer & Cybersecurity Analyst",
      "current": [
        { "id": "flyrank-ai", "title": "…", "organization": "FlyRank AI", "location": "…", "period": "Aug 2026 – Present" }
      ]
    }
  • GET/api/v1/statsCounts computed from the site's data
    Example response
    {
      "projects": 6,
      "openSourceRepos": 5,
      "posts": 3,
      "postTags": 3,
      "technologies": 36,
      "roles": 5,
      "certifications": 13
    }

Syndication

Feeds