~/bog1200 (main) $ whoami

Bogdan-Laurentiu Stefanescu

Software engineer · MSc Distributed Systems student and Teaching Assistant at KTH

Stockholm, Sweden

  • EDU/education
  • EXP/experience
  • PRJ/projects
  • CERT/certifications
  • EVT/competitions & volunteering
scroll to read the log

History

$ git log --graph --all

  1. HEAD → main· · you are here· 5 open branches· 1 open branch· 2 open branches· 1 open branch· 1 open branch
  2. 96e9151EXP/KTH-TAopen – Present

    Teaching Assistant

    KTH Royal Institute of Technology · Stockholm, Sweden

    • DM1595 Program Development for Interactive Media
    • DH2642 Interaction Programming and the Dynamic Web
    • ID2216 Developing Mobile Applications
    TeachingInteraction programmingWeb developmentMobile development
  3. 6f6b90bEVT/TREASURERopen – Present

    Treasurer

    Stockholm, Sweden

    • Elected treasurer of a local residents' association for the April 2026 – April 2027 term, responsible for the association's finances (annual budget of about 15,000 SEK).
    FinanceBudgetingBoard role
  4. 3a57163EDU/KTH-MSCopen – Present

    MSc, Engineering of Distributed Systems

    KTH Royal Institute of Technology · Stockholm, Sweden

    Distributed systems
  5. f3236beEXP/RNopen – Present

    Event Technician

    RN Eventteknik · Stockholm, Sweden

    • Member of a specialised team responsible for end-to-end technical execution of live events, operating professional audio, lighting and stage infrastructure.
    • Configure and deploy networked AV systems, ensuring stable signal routing and hardware synchronisation for high-attendance productions.
    • Lead real-time troubleshooting of technical failures in high-pressure environments, maintaining system uptime and production quality.
    • Maintainer of Backstage2, the organisation's internal booking and bookkeeping software (Next.js, TypeScript, Knex/Objection.js, PostgreSQL, Heroku): added KTH access card (NFC) login, restricted to trusted devices through Cloudflare mutual TLS (mTLS) client certificates.
    Live audioLightingNetworked AVNext.jsTypeScriptPostgreSQLCloudflare mTLSgithub.com/rneventteknik/backstage2 ↗
  6. d9752b3PRJ/PARK-TICKETSopen – Present

    Park Admission Ticketing System

    • Develop and maintain a production e-commerce platform selling admission tickets for Parc Dumbrava Minunata (WordPress, WooCommerce, PHP).
    • Built a custom checkout flow and ticket generator module in PHP, enabling on-site access control through offline ticket verification.
    • Integrated a bank payment gateway through its official WooCommerce plugin, including online payment confirmation and transaction validation logic.
    • Designed secure, tamper-resistant QR codes for ticket authentication and fraud prevention, optimised for low processing power.
    • Built a desktop ticket scanning application in Java (Swing GUI) for touchscreen devices, supporting external QR code scanners and Google Wallet integration.
    • Manage web hosting, DNS, domain configuration and deployment for secure, reliable operation.
    WordPressWooCommercePHPJava SwingPayment gatewayQR codesGoogle WalletDNSparcdumbravaminunata.ro ↗
  7. bdae0d0Became a maintainer of Backstage2 (KTH card login)
  8. git checkout -b EXP/KTH-TA
  9. c9ae1fePromoted: Aspirant Member → Full Member
  10. git checkout -b EVT/TREASURER
  11. git checkout -b EDU/KTH-MSC
  12. git checkout -b EXP/RN
  13. f08319ePRJ/EID↳ merged –

    Decentralized Identity Management (Thesis)

    • Designed and implemented a decentralised identity federation for cross-border login: users always authenticate at their home country's Identity Provider (IdP), and trust between countries is discovered at runtime instead of through static peering.
    • Built a Cross-Identity Gateway (Java 21, Spring Boot WebFlux) that resolves a user's Decentralized Identifier (DID) to their home Country Node.
    • Built Country Nodes in Spring Boot (Spring Security OAuth2 Authorization Server, JPA, PostgreSQL) acting as application registries and token issuers; cross-border logins are proxied to the user's home node, which returns scoped, OpenID Connect (OIDC) compliant identity tokens.
    • Built a blockchain-backed IdP (Next.js, Prisma, MongoDB, ethers.js): users sign in with an Ethereum wallet (did:ethr), and a keccak256 hash of their identity proof is anchored on Ethereum Sepolia through a Solidity smart contract, without storing personal data on-chain.
    • Built a legacy-style IdP (Node.js, Express, MariaDB) with OAuth2 Authorization Code + PKCE, OIDC discovery and JWKS, and passwordless passkey (WebAuthn) login, showing compatibility with existing providers.
    • Containerised all services with Docker Compose and deployed each country on its own virtual machine, provisioned with Multipass and cloud-init.
    JavaSpring BootNext.jsNode.jsSolidityEthereumOAuth2/OIDCDIDsPasskeysPostgreSQLMongoDBDockergithub.com/bog1200/eid ↗thesis (PDF) ↗
  14. 94d0b14EDU/UPB↳ merged –

    Engineer's Degree, Information Engineering (taught in English)

    National University of Science and Technology POLITEHNICA Bucharest · Bucharest, Romania

    • 240 ECTS. Thesis: Decentralized Identity Management for Web Applications Using Blockchain (thesis grade 9.70/10).
    240 ECTSTaught in EnglishThesis 9.70/10
  15. 592c95ePRJ/MOODLE-PP↳ merged –

    Moodle++ – LMS

    • Built a prototype of a Moodle-style learning management system (LMS) with Next.js, React and Tailwind CSS, with a MySQL database, Cloudflare R2 object storage for user files and authentication through external identity providers.
    Next.jsReactTypeScriptTailwind CSSPrismaMySQLAuth.jsOAuth2/OIDCCloudflare R2S3 APIVercelgithub.com/bog1200/Moodle_plus_plus ↗
  16. 09973c6CERT/UIPATH-BA

    UiPath Certified Professional Automation Business Analyst Associate

    UiPath

    UiPathRPA
  17. 5cd6513CERT/UIPATH-DEV

    UiPath Certified Professional Automation Developer Associate

    UiPath

    UiPathRPA
  18. git checkout -b PRJ/PARK-TICKETS
  19. git checkout -b PRJ/EID
  20. fc03225CERT/GITHUB

    GitHub Foundations

    GitHub

    GitGitHub
  21. git checkout -b PRJ/MOODLE-PP
  22. c4f256cEXP/EURONEWS↳ merged –

    Web Developer Intern

    Euronews Romania · Bucharest, Romania

    • Built web applications with Next.js (React) and Tailwind CSS, using Supabase databases and Vercel cloud deployments.
    Next.jsReactTailwind CSSSupabaseVercel
  23. git checkout -b EXP/EURONEWS
  24. eb14606EDU/UPM

    Exchange Course: Physical Computing on Open Hardware Platforms (ATHENS, UPM115)

    Universidad Politécnica de Madrid · Madrid, Spain

    • Final grade: 10/10. Embedded systems and physical computing: built Arduino-controlled electronic circuits and interactive interfaces with Processing; final project: Arduino alarm system with sensor integration.
    ArduinoProcessingEmbedded systems
  25. 3dca072EVT/FIICODE

    FIICode Capture the Flag (CTF) cybersecurity competition, sponsored by Bitdefender

    Participant

    CTFCybersecurity
  26. 599b45aEVT/CLOUDFLIGHT

    Cloudflight Coding Contest

    Volunteer

    Competitive programming
  27. aa61007EXP/AXSYS↳ merged –

    Junior PHP Developer Intern

    Axsys Romania · Bucharest, Romania

    • Developed backend features in PHP using object-oriented programming (OOP) and the Symfony framework.
    • Used Docker and Docker Compose for containerised development environments, and Git and GitHub for version control.
    PHPSymfonyOOPDockerDocker ComposeGit
  28. git checkout -b EXP/AXSYS
  29. 1fc8f5ePRJ/DB-AIRLINES↳ merged –

    DB Airlines

    • Designed a MySQL database schema and a RESTful Express.js API (documented with OpenAPI/Swagger UI) for flight booking, with a small Angular front end.
    AngularTypeScriptExpress.jsREST APIOpenAPISwagger UIMySQLgithub.com/bog1200/DB_Airline_Project ↗
  30. git checkout -b PRJ/DB-AIRLINES
  31. 7ebffb5EVT/BEST

    BEST Engineering Marathon, Accenture Challenge

    • Built PetHero, an app for finding missing pets.
    Hackathon
  32. c212b04CERT/THM-JRPT

    Jr Penetration Tester (ethical hacking, web application security)

    TryHackMe

    Ethical hackingWeb security
  33. git checkout -b EDU/UPB
  34. 20fd0e4Initial commit· Bucharest, Romania

Stack$ git config --list

stack.languages
PHPTypeScriptJavaScriptJavaC++PythonSQLSolidityHTML5CSS3
stack.frontend
AngularReactNext.jsTailwind CSSSPA
stack.backend
Node.jsExpress.jsKnexObjection.jsSpring BootSpring SecurityPHPSymfonyRESTful APIsOpenAPISwaggerOAuth2OpenID ConnectJWTPasskeys (WebAuthn)Authentication & identity management
stack.data-cloud
MySQLMariaDBPostgreSQLMongoDBPrismaSupabaseRelational database designVercelHerokuCloudflare R2Cloudflare mTLSWeb hostingDNSDeployment
stack.tools
GitGitHubDockerDocker ComposeMultipasscloud-initEthereum (ethers.js, Sepolia)WordPressWooCommerceUiPath (Studio, Robots, Orchestrator)ArduinoOpenGLJava Swing
stack.areas
Distributed systemsFull-stack web developmentSoftware engineeringObject-oriented programmingContainerisationE-commercePayment gateway integrationBlockchainDecentralised identity (DIDs)Robotic process automation (RPA)CybersecurityPenetration testingEmbedded systems & IoTNetworked AV & live event production

Languages

  • Romaniannative
  • EnglishC1
  • FrenchA2
  • SwedishA2

Contact$ git push origin message

Want to work together, or just say hi? Send me a message and I'll reply by email.

Your name, email address and message are only used to reply to you. No newsletter, no marketing, never shared or sold.

Privacy notice (GDPR)
Who is responsible
Bogdan-Laurentiu Stefanescu, Stockholm, Sweden, is the controller of the data you send through this form. For any question about your data, use this form or LinkedIn.
What I collect and why
The name, email address and message you enter, used only to read and answer your message. The legal basis is my legitimate interest in replying to enquiries you choose to send (GDPR Art. 6(1)(f)).
Spam protection
Cloudflare Turnstile checks that the form is sent by a person; Cloudflare processes technical data such as your IP address for this. Your IP address is also held in server memory for up to 10 minutes to limit repeated messages, and is not saved.Cloudflare Turnstile privacy ↗
Who receives it
Messages are delivered to me through a private Discord channel. Discord Inc. (USA) stores them on its servers, which may be outside the EU/EEA. The website host processes standard technical server logs.Discord privacy policy ↗
How long it is kept
Like ordinary email: for as long as it's relevant to our conversation. You can ask me to delete your message at any time.
Your rights
You can ask for access to, correction or deletion of your data, ask me to restrict its use, or object to it. You can also complain to the Swedish Authority for Privacy Protection (IMY).imy.se ↗