Hello, my name is

Aleksandra

Haddad

I’m a fullstack developer with a heavy bias toward the backend. I automate everything, push AI to its limits- I built my own personal assistant before it was cool- yet I still crack LeetCode for fun.

featuredintegrationstandaloneconcept

A little showcase of projects

Some things I built because I had to. Most things I built because I couldn't stop thinking about them.

Second brain. Personal assistant. Occasional pain in the ass.

KISUKE

A multimodel AI assistant built on Celery, Redis, and async queues — no slash commands, no babysitting. Drop anything in and he figures out what it is, where it goes, and when to bring it back. He manages his own context, routes information to the right database by type, and runs daily aggregation so nothing falls through the cracks. Before anything sensitive hits a cloud model, a sanitization layer strips it first. Second brain. Personal assistant. Occasional pain in the ass.
PythonFastAPICeleryRedisSQLiteDocker

I used to lose things constantly — good ideas, recipes I found, articles I meant to read, calls I had to make. Sticky notes, open tabs, texts to friends as human bookmarks. It worked until it didn't.

Kisuke solved it properly. He's a multimodel AI assistant that does everything — chat, task management, reminders, briefings, knowledge capture — without a single slash command. Drop anything in, no formatting required. He figures out what it is, where it goes, and when to bring it back. Ask for a dinner idea and he surfaces the recipe you sent him last week. Open your evening brief and that article you never had time to read is waiting. Two weeks after you mention your grandma's operation, he starts pinging you to call her. Schedule something without giving him enough to work with and he switches into pain-in-the-ass mode until you do.

The architecture exists to make all of that seamless: context compressed at model-specific thresholds, information routed to the right database by type, two-tier daily aggregation so nothing falls through the cracks. Before anything sensitive hits a cloud model, a sanitization layer strips it. Kisuke is useful precisely because he's invisible.

Built on a mixture of models, Celery, Redis, PostgreSQL, and Docker. Local routing layer coming next.

Built for the Progress x GitNation Hackathon

CrowdShift - AI audience intelligence platform.

An AI audience-intelligence platform that gives speakers a living brief of who's in the room — from ticket #1 to showtime. Attendees can submit pre-talk questions. Speakers can reach back (organizer-gated). Organizers and sponsors get role-filtered views.
ReactTypeScriptViteKendoReactFastAPIPythonSQLiteGeminiDocker

Conference speakers prepare talks weeks in advance for an audience they've never seen — the first real feedback arrives during Q&A, when it's too late to adapt. CrowdShift closes that gap by turning registration data, which already exists in every ticketing system, into live audience intelligence.

As attendees register, CrowdShift snapshots the audience at capacity milestones (25/50/75/100%) and tracks how it evolves: a talk that starts senior-heavy can be 55% junior developers by sold-out. A timeline slider lets speakers scrub through these snapshots and watch the demographics shift in animated charts. At any point, an AI agent (Gemini) reads the current snapshot and generates a structured brief — who's in the room, what changed since the last milestone, and concrete recommendations like which comparisons to lead with and which deep-dives to cut.

The product serves three roles with strictly separated data access. Speakers see aggregate demographics and pre-submitted, upvotable attendee questions for their own talk. Organizers get the full 500-row attendee grid with live filtering. Sponsors see anonymized cohorts only — segments under five people are suppressed (k-anonymity), and the separation is enforced server-side with role-scoped endpoints and token auth, not hidden in the UI. Attendees participate too: with just a ticket ID they can submit questions to speakers before the event, creating a feedback loop between the room and the stage before anyone walks on it.

Built in 24 hours for the Progress x GitNation hackathon: React + TypeScript + Vite frontend on KendoReact (Grid, Charts, Slider, and 10+ components, fully re-themed with a custom dark/light design system), FastAPI + SQLite backend with 500 seeded attendees whose registration behavior encodes realistic demographic waves, and a brief-generation pipeline with structured JSON output, caching, and a rules-based fallback so the demo can't fail on a flaky API call.

My vet said "we monitor for a week, then decide." So I built a monitor.

FIP Tracker — a free tool for tracking a cat through FIP

A free, self-hostable web app that helps caregivers track a cat through feline infectious peritonitis — weight, temperature, appetite, symptoms and bloodwork turned into trend charts, shareable with a vet or a partner. Built during my own cat's FIP scare.
ReactTypeScriptViteNode.jsExpressSQLiteDockerCaddy

FIP (feline infectious peritonitis) treatment is a marathon — often 84 days plus a 12-week relapse watch — and the thing a caregiver needs most is to see the trend over days, not guess from memory at 2am. FIP Tracker turns a simple daily log into clear charts (weight gain, the dry-FIP fever cycle, A:G recovery) so "is he actually better than last week?" finally has an answer.

A three-phase model (monitoring → treatment → observation) with phase-aware guidance grounded in the UC Davis / Pedersen GS-441524 protocols. The daily log covers weight, temperature (fever auto-flagged), appetite/energy/interest scores, litter box, symptoms and medication; a bloodwork section auto-computes the A:G ratio and charts the markers that track recovery. All charts are hand-built SVG — no chart library.

Full auth (Google/Facebook OAuth), persistent storage, a printable one-page vet report (save as PDF), read-only share links, and shared cat co-ownership so a couple can track the same cat on separate accounts via a join-code-and-approval flow. Fully internationalized (English + Polish) with light/dark theming.

Self-hostable and privacy-first: no ads, no data selling, research-data sharing strictly opt-in. Uses Node's built-in node:sqlite (zero native dependencies), Dockerized behind Caddy with automatic TLS, plus a security pass — Content-Security-Policy and hardening headers, per-IP rate limiting on auth endpoints, and stateless signed-cookie sessions.

Why spin up a heavy Docker daemon for a vector DB when 80 lines of C++ can search my notes in microseconds?

Kisuke Vector Engine

An ultra-lightweight, high-performance in-memory vector search engine written in modern C++ with native Python bindings via pybind11.
C++20Pybind11PythonSQLiteNumPy

Architected explicitly to handle semantic context retrieval and similarity matching for local knowledge bases (such as Obsidian vaults) without the resource overhead of heavy, daemon-based vector databases.

This engine utilizes zero-copy memory mapping to scan high-dimensional dense vectors at hardware speed, exposing a clean, deterministic API directly to Python pipelines.

Because manually updating a portfolio is exactly the kind of boring stuff worth automating.

The Portfolio That Maintains Itself

Static site. Zero manual updates. Fully automated from repo to deployment.
Next.jsReactAWS

GitHub Actions parse project metadata from repo files. Medium's RSS feeds article data in automatically.

A daily CI/CD job triggers full rebuilds — and so does every git push. The entire stack is stateless and declarative: no database, no manual updates, just automated pulls and static generation.

Deployed on AWS using S3 + CloudFront + Lambda, staying within free tier limits. Even the contact form runs through Lambda — no backend server, just functions doing exactly what's needed and nothing more.

You're looking at the output.


FUN FACT

This portfolio runs on a self-maintaining pipeline. GitHub Actions parse project metadata from repo files, Medium's RSS feeds article data, and a daily CI/CD job triggers full rebuilds. Deployed on AWS using S3 + CloudFront + Lambda to stay within free tier limits. The entire stack is stateless and declarative—no manual updates, no database, just automated pulls and static generation.

Currently Reading 📖

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides