ehab@portfolio:~psql

psql (16.4, ehab build)

Connected to database "ehab" as user "visitor".

SSL connection (TLSv1.3) — type help in the prompt below, or just scroll.

\whoami

Ehab Abdalla
oid 10001me-coding.png

Ehab Abdalla

backend engineer. large-scale data pipelines, postgres performance, cloud infrastructure.

Software Engineer II @ Base Layer · New York City

300M
records / week
1.2 TB
postgres dataset
1.4s → 320ms
query latency
-- where I've shipped

SELECT * FROM experience ORDER BY start_date DESC;

[ RECORD 1 ]
company
role
Software Engineer II
period
2025-01 → present · New York, NY
notes
  • Own end-to-end Secretary of State & lien data pipelines processing 200–300 million records weekly with Python, Apache Beam, Google Dataflow, and Pydantic.
  • Architected PostgreSQL schemas (indexes, constraints, partitioning) supporting 1.2TB of structured data — cut average query latency from 1.4s to 320ms.
  • Built FastAPI services handling 12k requests/day, containerized with Docker on Google Cloud VMs.
  • Shipped 50+ data-aggregation jobs on Cloud Run using Playwright, rotating proxies, and subnet-based IP routing.
  • On-call rotation with Sentry and incident.io across pipelines, APIs, and infra.
stack
{Python, Apache Beam, Dataflow, PostgreSQL, SQLAlchemy, FastAPI, Docker, GCP, Playwright}
[ RECORD 2 ]
company
role
Software Engineer in Test (SDET) Intern
period
2023-08 → 2024-08 · Canonsburg, PA
notes
  • Manual and regression testing across 20+ hardware/OS configurations; logged defects and performance issues in Azure DevOps.
  • Automated regression workflows with Ansys ARM + Python; authored 50+ unit and integration tests with pytest.
  • Migrated an internal system from Windows Server 2019 → 2022, improving SQL performance through tuning, indexing, and cleanup routines.
stack
{Python, Pytest, Azure DevOps, SQL, Windows Server}
(2 rows)
-- nights and weekends

SELECT * FROM projects WHERE built_by = 'ehab';

[ RECORD 1 ]
name
role
Founder & Software Engineer
summary
A platform for practicing real-world software engineering: debugging challenges, daily project generators, and GitHub-based repo quizzes.
notes
  • Backend in FastAPI + SQLAlchemy + PostgreSQL + Redis: auth, async job orchestration, scalable project-generation workflows.
  • Next.js + TypeScript frontend with an embedded Monaco IDE; Judge0 for secure, browser-based, multi-file code execution.
  • Stripe subscription billing with webhook-driven plan management, Redis-backed rate limiting, Clerk JWT auth with just-in-time provisioning.
stack
{FastAPI, PostgreSQL, Redis, Next.js, TypeScript, Monaco, Judge0, Stripe, Clerk}
links
[ RECORD 2 ]
name
summary
Containerized ETL pipeline that ingests, validates, and serves millions of PPP loan records — with a GPT-powered module that turns natural-language questions into optimized SQL.
notes
  • Python + Docker + PostgreSQL + Playwright + Apache Beam + FastAPI pipeline.
  • Lightweight HTML/CSS/JS frontend served via Nginx Alpine, tuned for fast rendering over millions of rows.
stack
{Python, Docker, PostgreSQL, Playwright, Apache Beam, FastAPI, Nginx}
attachments
PPP Data Analyzer demo
oid 16401baselayer.gif
[ RECORD 3 ]
name
summary
A JavaFX + Pcap4J packet sniffer with a Wireshark-style UI. Port-mirrored a TP-Link managed switch to intercept full home-network traffic, streaming captures into PostgreSQL for querying and inspection.
stack
{Java, JavaFX, Maven, Pcap4j, PostgreSQL}
links
live site ·
attachments
JavaLens UI
oid 16402javalens.jpeg
TP-Link managed switch with port mirroring
oid 16403switch.jpeg
(3 rows)
-- custom sites for real clients

SELECT * FROM freelance_work WHERE client_happy = true;

[ RECORD 1 ]
project
client
Premium car rental fleet, Cairo, Egypt
summary
Full rental-business site for a 17-car luxury fleet — Mercedes S500, G63 AMG, Range Rover Sport, and more. Filterable fleet browser, per-vehicle spec sheets and pricing, and a WhatsApp-driven reservation flow with delivery anywhere in Cairo.
stack
{Next.js, React, TypeScript, Tailwind CSS}
links
attachments
Karika Motors — hero
oid 16441karika1.png
Karika Motors — fleet
oid 16442karika2.png
Karika Motors — reservations
oid 16443karika3.png
[ RECORD 2 ]
project
client
Professional photographer, NYC
summary
Modern, responsive portfolio site: showcases work, explains services, and books clients. Next.js, Tailwind, TypeScript, custom animations.
links
attachments
Sohaib site — home
oid 16411sohaib1.png
Sohaib site — gallery
oid 16412sohaib2.png
Sohaib site — contact
oid 16413sohaib3.png
[ RECORD 3 ]
project
client
Local juice bar, Astoria NY
summary
Business site with menu, nutritional info, online ordering, and store locations. Next.js, Tailwind, TypeScript.
links
attachments
Juice bar site — home
oid 16421juicebar1.png
Juice bar site — menu
oid 16422juicebar2.png
Juice bar site — locations
oid 16423juicebar3.png
(3 rows)
-- Table "public.skills"

\d skills

ColumnTypeValues
languagestext[]{Python, Java, C++, JavaScript, TypeScript, SQL, Bash}
frameworks_toolstext[]{FastAPI, React, Next.js, SQLAlchemy, Docker, Redis, Playwright, Pytest, Selenium}
cloud_devopstext[]{GCP (Cloud Run, Dataflow, VMs, Storage), AWS, Linux, Git/GitHub, GitHub Actions}
databasestext[]{PostgreSQL, MongoDB, Firebase}
Indexes: "postgres_is_home" PRIMARY KEY, btree (languages)

SELECT * FROM education LEFT JOIN certifications USING (person);

[ RECORD 1 ]
degree
B.S. in Computer Science
school
The City University of New York, Queens College · Dec 2024
certifications
{CodePath Cybersecurity, CodePath Technical Interview Prep}
leadership
{Code For All, ColorStack, ALPFA QC, DICE, Code.ReSolve()}
attachments
Queens College diploma
oid 16431diploma.jpg
CodePath Cybersecurity certificate
oid 16432codepath-cybersec.jpg
CodePath Technical Interview Prep certificate
oid 16433codepath-techprep.jpg
off_hours

off the clock: guitar. patience, timing, and playing well with others — same skills, different instrument.

Ehab playing guitar
oid 16434guitar.PNG
(1 row)
-- live from github.com/ehab20011

SELECT date, count(*) FROM github_commits GROUP BY date;

-- say hi. this actually emails me.

INSERT INTO messages (name, email, subject, body)

VALUES (
=>
=>
=>
);
visitor=>↵ to run