Skip to content
codexa

Portfolios · React

Software engineer

Dark, monospace portfolio for a software engineer with projects, open-source work and experience.

Software engineer starter, as built from its own files
Starter screenshot captured from this template's own build at 1440×900. It shows the template as it ships, not output generated from a prompt.

What you get

A dark portfolio for a backend or infrastructure engineer: open-source projects, what they work on, a short stats band, a career timeline and a contact form. All content lives in src/site.ts.

Files

Exactly what is copied into a new project: 13 files, nothing generated.

Raw data: GET /api/v1/templates/portfolio-software-engineer

src/site.ts
src/site.ts
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = {  "brand": "daniel.reyes",  "nav": [    {      "label": "Projects",      "href": "#projects"    },    {      "label": "Focus",      "href": "#focus"    },    {      "label": "Career",      "href": "#career"    }  ],  "navCta": {    "label": "Contact",    "href": "#contact"  },  "sections": [    {      "kind": "hero",      "variant": "center",      "eyebrow": "Backend & infrastructure engineer · Lisbon",      "title": "Systems that keep running at 3 a.m.",      "text": "Eleven years writing Go and Rust for queues, databases and deploy pipelines. Currently on the storage team at a payments company, maintaining two open-source libraries on the side.",      "primary": {        "label": "See projects",        "href": "#projects"      },      "secondary": {        "label": "Contact",        "href": "#contact"      },      "visual": {        "type": "mock",        "title": "~/daniel — recent work",        "rows": [          {            "label": "tidewal: write-ahead log for Go",            "value": "2.1k stars"          },          {            "label": "pgshift: zero-downtime Postgres migrations",            "value": "860 stars",            "tone": "#38bdf8"          },          {            "label": "Talk: retries that don't make outages worse",            "value": "Mar 2026",            "tone": "#f59e0b"          },          {            "label": "Blog: what we learned moving 4 TB live",            "value": "Jan 2026",            "tone": "#9a9fa5"          }        ],        "footer": "All projects are MIT licensed"      }    },    {      "kind": "projects",      "id": "projects",      "eyebrow": "Projects",      "title": "Things I've built",      "items": [        {          "title": "tidewal",          "tag": "Embeddable write-ahead log for Go services",          "year": "2025",          "tone": "#064e3b"        },        {          "title": "pgshift",          "tag": "Online schema migrations for Postgres",          "year": "2024",          "tone": "#1f2937"        },        {          "title": "ledger-sim",          "tag": "Load generator for double-entry ledgers",          "year": "2023",          "tone": "#134e4a"        },        {          "title": "deployctl",          "tag": "Small CLI for blue-green deploys on bare metal",          "year": "2021",          "tone": "#27272a"        }      ]    },    {      "kind": "features",      "id": "focus",      "eyebrow": "Focus",      "title": "What I work on",      "columns": 3,      "items": [        {          "title": "Storage and data",          "text": "Write-ahead logs, replication, backups you have actually restored from.",          "icon": "box"        },        {          "title": "Reliability",          "text": "Load shedding, sensible retries, on-call runbooks people can follow half asleep.",          "icon": "shield"        },        {          "title": "Developer tooling",          "text": "CLIs, CI pipelines and migration tools that make the safe path the easy one.",          "icon": "code"        }      ]    },    {      "kind": "stats",      "items": [        {          "value": "11 yrs",          "label": "Writing production code"        },        {          "value": "2",          "label": "Maintained OSS libraries"        },        {          "value": "140+",          "label": "Merged upstream PRs"        },        {          "value": "6",          "label": "Conference talks"        }      ]    },    {      "kind": "timeline",      "id": "career",      "eyebrow": "Career",      "title": "Where I've been",      "items": [        {          "period": "2022 – now",          "title": "Staff engineer, storage · Tessera Pay",          "text": "Own the ledger database and its replication. Led the move from a single primary to three regions."        },        {          "period": "2018 – 2022",          "title": "Senior engineer, platform · Quayside",          "text": "Built the deploy pipeline and internal queue used by 70 services."        },        {          "period": "2015 – 2018",          "title": "Backend engineer · Brightmill",          "text": "APIs and billing for a logistics startup. First on-call rotation, first postmortems."        }      ]    },    {      "kind": "contact",      "eyebrow": "Contact",      "title": "Say hello",      "text": "Open to staff-level roles and short consulting engagements on storage or reliability. No recruiters for frontend roles, please.",      "fields": [        "name",        "email",        "company",        "message"      ],      "button": "Send"    }  ],  "footer": {    "text": "Daniel Reyes, backend and infrastructure engineer.",    "columns": [      {        "title": "Code",        "links": [          "GitHub",          "tidewal docs",          "pgshift docs"        ]      },      {        "title": "Writing",        "links": [          "Blog",          "Talks",          "RSS"        ]      }    ],    "legal": "© Daniel Reyes. Sample content: replace it in src/site.ts."  }};

Remix

Remix this template

Describe what to change and the agent starts from Software engineer's files. The box is already started for you: finish “Start from Software engineer and …”

Agent ready

Creates a free account first; your idea is carried over.

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

  • react^19.1.0
  • react-dom^19.1.0
  • vite^6.3.0
  • @vitejs/plugin-react^4.4.0
  • tailwindcss^4.1.0
  • @tailwindcss/vite^4.1.0
  • typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Entry route
/

Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.

All templates

Build on Software engineer

Create a free account, start from this template, and ask the AI agent to turn it into your app.