skip to content
~/portfolio
~/portfolio:~$ cat about.txt

I ship web apps that handle payments and keep running when load spikes.

Full-stack developer. React, Node, WebSockets, payment APIs. I take a few projects at a time and finish them.

[online] open to work

scroll to explore ↓

// selected work

~/work/selected-projects

Apps I've shipped

Live in production. Real users, real payments.

scroll to explore projects

sts-competition.com
Special Talent Stars● production
live-scores|connected
#contestantscorestatus
01Team Alpha94.2live
02Team Beta91.8live
03Team Gamma89.5live

Special Talent Stars

sts-competition.com

problem

500+ people voting at once during a live event. Scores and sign-ups had to stay in sync — nothing could drop.

built

Scoring dashboard and registration over WebSockets. Uploads go straight to cloud storage.

ReactTypeScriptNode.jsWebSocketsPostgreSQLAWS
500+ concurrent userszero downtime during live eventssub-second response times

01/03

solo-arts-academy.com
Solo Arts Academy● production
academy-dashboardmarch 2026
MTWTFSS12345678910111213141516171819202122232425262728

Solo Arts Academy

solo-arts-academy.com

problem

The academy ran on spreadsheets. They needed one app with separate views for staff and students.

built

Role-based admin panel, student portals, attendance tracking, and payments in one place.

ReactNext.jsSupabaseFirebaseNode.js
serving real users in productionRBAC across 3 user rolesintegrated payments

02/03

// in development
Event Booking & Ticketing◐ in dev
seat-map12 seats locked

Event Booking & Ticketing

// in development

problem

Two people clicking the same seat at the same time. You know the race condition.

built

Seat map with live availability over WebSockets. Click a seat and it's locked immediately.

ReactTypeScriptWebSocketsFirebaseAWS
real-time seat lockingno double-bookings

03/03

// how I work

~/config/security.toml

Security is part of the build

Two years into a cybersecurity degree, shipping production code on the side. The threat modeling comes with me.

[security.input_validation]

enabled = true

Input validation & sanitization

description = "Every form and API input gets validated. I assume hostile data from the start."

[security.session_handling]

enabled = true

Secure session handling

description = "Tokens expire. HTTPS only. No credentials sitting in client-side code."

[security.payment_flows]

enabled = true

Encrypted payment flows

description = "Fawry and X-PAY integrations with transaction data encrypted end to end."

[security.rbac]

enabled = true

Role-based access control

description = "Admins, staff, and users only see what they're allowed to. Enforced server-side, not just hidden in the UI."

// stack

~/stack.json

Tech stack

freddy@spacesys.xyz:~$ cat stack.json

{
  "frontend": [
    ,
    ,
    ,
    
  ],
  "backend": [
    ,
    ,
    ,
    
  ],
  "data": [
    ,
    ,
    ,
    
  ],
  "cloud": [
    ,
    ,
    ,
    
  ]
}

frontend

React.jsNext.jsTypeScriptTailwind CSS

backend

Node.jsExpress.jsREST APIsWebSockets

data

PostgreSQLMySQLSupabaseFirebase

cloud

AWS S3Docker (basics)CI/CDGit/GitHub
// contact

~/scripts/contact.sh

Want to work together?

Freelance work: real-time apps, payment integrations, anything that has to survive when people actually use it.

freddy@spacesys.xyz
freddy@spacesys.xyz:~$ ./contact.sh

freddy@spacesys.xyz:~$ ./contact.sh

[status] available for projects