BenjaminAbensur
I build software end to end and ship it, I teach two first-year courses, and I take on things outside engineering when they are worth doing.
Open · Summer 2027 internshipSelected work
Five projects, one number each.
Every figure on this page is on my CV or measured in the public repo, and holds up in an interview.
- 01
Kairo
Next.js · TypeScript · Python · PostgreSQL (Supabase, row-level security) · Claude API · GitHub Actions · Vercel
Kairo is an AI career CRM. I designed and shipped a daily pipeline aggregating internships, jobs and programmes from 35 career boards, Indeed/LinkedIn (30 markets) and hackathon feeds, each scored 0–100 by rules + an LLM. LLM extraction of deadlines and eligibility, each answer backed by a verbatim quote; 160+ tests, CI, deployed on Vercel. A contact CRM turns freeform notes into structured contacts via Claude, then links each job to the people I know there and prompts who to follow up with.
kairo-internships.vercel.app Private code0–100the score every internship, job and programme gets, by rules + an LLM. Deadlines and eligibility come with a verbatim quote behind each answer.
Fig. 1Kairo landing, hero mockup (September 2026). The app itself sits behind a login. - 02
Cortex
Next.js · TypeScript · PostgreSQL · Drizzle · Claude API · LaTeX · Railway
An AI exam-preparation platform. It learns each course's exam format from past papers, weights every topic by how heavily it was examined, schedules spaced revision on weak points, and generates faithful practice exams via a multi-pass LLM pipeline; I used it to prepare my own exams in 3 EPFL courses. Per-user Postgres schemas, cost caps; deployed on Railway.
330+tests. Answers accepted only if verified by sandboxed code execution or symbolic checks.
Fig. 2Cortex, the programme of CS-250 Algorithms: every notion with how many times it fell at a final, sorted by priority. 
Fig. 3The home screen: the notion that pays off most today, weighted by the exam, and the reviews that are due. 
Fig. 4The exam composer: the real final's format, detected from the past papers, becomes the default composition. - 03
ReCHor
Java 22 · JavaFX 21 · EPFL CS-108, in a pair
A desktop journey planner for the Swiss public-transport network. It finds every Pareto-optimal journey between two Swiss stops (Connection Scan Algorithm) over real CFF timetables (~258 MB), trading arrival time against changes, by scanning the day's connections once in reverse chronological order over memory-mapped, bit-packed timetable storage that is never deserialised. JavaFX UI with accent-insensitive autocomplete, journey details, iCalendar and GeoJSON export, the search kept off the UI thread; 44 classes, ~3,600 lines of tests, 160 JUnit tests.
2.75 Mconnections in one weekday of the real CFF timetables, scanned in a single pass per query. ~258 MB of timetables for seven days, read from memory-mapped files.
Fig. 5ReCHor, Lausanne → Zürich HB on 28 May 2025: every Pareto-optimal journey of the morning, rendered from the app. 
Fig. 6The 8h17 IC 1 selected: platforms, intermediate stops and the iCalendar and map actions. - 04
ICoop
Java · PlayEngine (course engine) · EPFL CS-107, in a pair
A two-player cooperative 2D game on the course's engine: a fire-and-water co-op game with a boss fight, in the spirit of Fireboy and Watergirl. Each player passes what the other cannot; every interaction between players, projectiles, enemies and elemental walls goes through double dispatch (visitor pattern), and each cell decides what can walk or fly over it. Four areas, keys, orbs, bombs, a chest added beyond the brief, and a final boss with ranged attacks and a conditional weak spot. ~3,700 lines.
~3,700lines of game code, in 24 actor classes and 4 areas, written on top of an unmodified course engine.
Fig. 7ICoop, the Spawn area: the fire and water players, a bomb to push and a pressure plate. 
Fig. 8OrbWay: each player clears the wall the other cannot cross. 
Fig. 9The Maze: the HellSkull gauntlet, lava and water streams, both players mid-swing. - 05
Gaming Addiction Prediction
Python · NumPy, no ML libraries · EPFL CS-233, team of 3
Predicted gaming-addiction level (3 classes) and score (0–10) from gaming and mental-health data with KNN, logistic/linear regression, K-Means and an MLP with hand-written backpropagation, every gradient checked against finite differences; two written reports. The point is what accuracy hides: the first MLP scored 85% while never once predicting the rare class, 3% of the data. Inverse-frequency weighted cross-entropy lifted rarest-class recall from 0 to 0.69 and macro-F1 from 0.55 to 0.76 (test set), for 0.75 points of accuracy.
0 → 0.69rarest-class recall, lifted by an inverse-frequency weighted cross-entropy. Macro-F1 from 0.55 to 0.76 (test set).Before: sigmoid + MSE Low Medium High Recall Low 266 14 0 0.95 Medium 32 75 0 0.70 High 0 13 0 0.00 After: softmax + weighted cross-entropy Low Medium High Recall Low 258 22 0 0.92 Medium 31 71 5 0.66 High 0 4 9 0.69 Rows: true class. Columns: predicted class. Shade: share of the true class.
Fig. 10Test-set confusion matrices, redrawn from the milestone-2 report (400 samples). The baseline never predicts High; the weighted loss recovers 9 of 13.
Also on the books
Smaller lines, still real.
- 06Systems projectNetworking and UNIX filesystem in C · POSIX sockets, pthreads · in a pairCS-202
- 07VeriReasonDecoder-only Transformer from first principles · PyTorchin progress
- 08QR-code generatorReed–Solomon error correction and masking, by hand · JavaCS-107
- 09Digital-logic library42 synthesizable modules with self-checking testbenches, logic gates to a register file · Verilogself-initiated
- 10Mechanics simulatorsInteractive explainers for the PHYS-101 students I teachteaching
Journey
Nine entries, so far.
- 01Around 13
Where it began
Self-taught Blender, Photoshop and Premiere Pro. 3D artwork and branding for YouTube creators.
- 022019 – 2021
Sneaker Resale Venture, team of 4
Partner. Secured a license to Flare AIO, a sell-out EU sneaker bot, by automating its restock purchase; ran it on Foot Locker and Snipes drops. Resold the license for about twice its cost; generated roughly €10k over the period.
- 032024
EPFL
BSc in Communication Systems, Lausanne. Introduction to Machine Learning 5.75/6, Algorithms I 5.5/6, Linear Algebra 5.5/6.
- 042024 · 3 months
NanoSynex
AI & automation (project-based) for a Technion spin-off, reporting to the CEO. Deployed two offline LLMs (Ollama; Mistral 7B, Llama 3 8B) behind a router with a shared Obsidian memory, so confidential R&D and investor documents never left the machine (GDPR); Python scripts triaging the CEO's Gmail and Outlook inboxes with an LLM classifier; the test reader's experiment exports harmonised and cleaned (Python, pandas), then matched against a partner veterinary lab's reference results to measure agreement rates for a validation study.
- 052025
BABOO, three club nights
Founder & event producer. Produced 3 club nights end to end; one night at Noche Club (May 2025) brought in CHF 5,000 with an internationally touring DJ.
- 06Jul 2025
Co-camp director
Co-directed a one-month scout summer camp for 100 children; led a team of 20 counsellors, promoted team leads and wrote the camp's full educational project. Co-managed the €80k camp budget, running the €18k food line myself.
- 07Nov 2025
Linear Algebra Bootcamp (MATH-111)
Co-instructor: gave the lectures and wrote the exercise sets of a paid one-week bootcamp for 30 first-year students (mid-semester break).
- 08Sep 2026
Teaching at EPFL
Teaching assistant for Mechanics (PHYS-101) and Linear Algebra (MATH-111). Selected on academic merit for a Mechanics course of 1,000+ students (CS, Chemistry, EE); I lead a weekly 2-hour exercise session and answer questions on the course's Ed forum.
- 09Oct 2026
Biosynex, incoming
Incoming AI engineer (part-time contractor), remote, for a Euronext-listed rapid diagnostics company. Engaged to introduce the executive team to applied AI, then build AI tools into internal workflows.
Photo
By city, selection in progress.
Open a band to see the rest of the roll.
Music
Afro house, produced in Ableton. I also DJ.
Now on the deck
THE HANDOFF — v2
Unreleased. Master pending.
Produced in Ableton Live. Played out at the BABOO nights in Lausanne, including Noche Club in May 2025.