Frontend Developer

Joël
Deffner.

CS master’s student in Trier. I build web applications and TypeScript tools, with an interest in how browser behavior and API design fit together.

↑ HoverTap · on this page

Skills & about.

I like building the interface and understanding what makes it work.

I’m a computer science master’s student at Universität Trier. My work connects browser interfaces, backend logic, and typed APIs. I enjoy turning a problem into something people can use, then checking where it breaks.

Teaching web development gave me practice explaining code and debugging with other people. I use AI in development, with the extent of that assistance stated for each project.

GermanDeutschNATIVE
EnglishCambridge C2?
FrenchFrançaisB1
Japanese日本語UNICERT® BASIS?
Main strengths
Supplementary strengths
Other skills
TypeScript

Used in a published form library, a language server, and web applications. In the toolkit, a shared protocol package defines the requests and responses between the editor client and server.

Hover a skill to read its caption

Education.

FRAME 01Completed 2026

B.Sc.Computer Science

University
Universität Trier
Minor
Japanese
Thesis
ai-form-fill, published on npm
FRAME 02In progress

M.Sc.Computer Science

University
Universität Trier
Expected
2027
Alongside
Student parliament, FSR Informatik
FRAME 03 · UNEXPOSEDOpen

The next frame

A role in frontend and product engineering, building useful web products with a team.

Get in touch

Selected work.

2026 · Solo university project · CodeIgniter + React + TypeScript

FlightMeet

Find paragliding meetups, plan a flight together, and check the wind at the launch site.

A community platform for pilots to find meetups, coordinate in groups, and view launch-site weather. The public demo uses sample data and simulated weather; changes and chat stay in your browser.

  • React
  • TypeScript
  • REST APIs
  • PHP
  • CodeIgniter
  • MySQL
  • Leaflet
FlightMeet meetup list with region and skill filters, attendance counts, and full or joined states.
Find a meetup by region and skill level. Public demo, sample data.Enlarge
Find a meetup
Filter the list and share the resulting URL. Returning with browser Back restores the filters.
Plan with the group
Pilot groups have their own chat channels. The weather map shows wind speed, gusts, and direction; forecasts in the demo are simulated.
Behind the interface
A CodeIgniter API and MySQL store the data. React renders the interface, with validation errors shown beside the relevant fields.
Contribution and AI use

I set up how React and CodeIgniter work together, made the frontend design decisions, and added the APIs myself. AI helped me build out the backend and wrote the automated tests. This was my solo university project.

2026 · Bachelor thesis · Published TypeScript library

ai-form-fill

Turn a paragraph of text into values for a web form.

A TypeScript library that reads a form's fields and options, asks a language model for matching values, and fills them in. The thesis version is published on npm. The screenshots show later, unreleased work on a ready-made interface.

  • TypeScript
  • DOM
  • JSON Schema
  • LLM integration
  • Integration testing
The ai-form-fill development demo with source text beside an empty form and a result panel.
Controller demo before filling. Unreleased 2.0 development, September 2026.Enlarge
The form supplies the structure
Field names and allowed options become a JSON schema for the model. A developer can use the library with different forms without writing a separate schema for each one.
A library for other websites
The thesis release is a TypeScript package with no runtime dependencies. It separates form handling from the model provider, so the application can choose its AI backend.
After the thesis
Later work improves how framework-controlled inputs receive changes and adds dictation, a ready-made panel, review, and undo. These additions are separate from the published thesis version.
Contribution and AI use

I planned the library and used AI to help resolve isolated implementation issues, closely checking the results. I continued improving it after submission. The linked thesis release preserves the version I submitted, separate from that follow-up work.

2026 · Independent open-source project · VS Code + language server

Paradox Modding Toolkit

Make and maintain Paradox game mods in one VS Code workspace.

Write scripts, edit game interfaces visually, check for errors, and publish updates to Steam Workshop. The toolkit brings these tasks together for Crusader Kings III, Victoria 3, and Europa Universalis V, with different tools available for each game.

  • TypeScript
  • Language Server Protocol
  • VS Code
  • Automated tests
Paradox Modding Toolkit completing an event command in VS Code, with contextual documentation beside it.
Script completion and documentation in VS Code.Enlarge
Build scripts and interfaces
Completion, documentation, and definition links help with script editing. Visual tools let authors edit interfaces, coats of arms, and other game content alongside the source.
Find problems before playtesting
The language server checks script structure and references. Integrated ck3-tiger and vic3-tiger provide deeper validation for their games. Game behavior still needs playtesting.
Publish and maintain a mod
Workshop tools update a mod and its listing through Steam. The extension is available on the VS Code Marketplace as a beta, with per-game support and limitations documented.
Contribution and AI use

I started the toolkit for my own modding workflow. AI helped me learn language-server and VS Code extension concepts and played a large part in the implementation, including writing the automated tests. My work focused on testing and reviewing the tools to make sure they worked as I intended.

More projects

Explore more web applications, developer tools, and XR projects.

Teaching & involvement.

Universität Trier2024

Web dev tutor

Ran exercise groups for the Web Development course: debugging student PHP, giving feedback on submissions, and explaining CodeIgniter’s router until it stuck.

PHPCodeIgniterJavaScript
PRINT A · TEACHINGFIX · WASH · DRY
Universität Trier2023 – NOW

Student government

Three elected mandates since 2023. Less politics than it sounds: mostly agendas, minutes, and defending the student angle in faculty meetings.

Fachschaftsrat2023 – now
Fachbereichsrat2025 – Mar 2026
StuPa2025 – now
Test strip · pick a year3/4 exposed
In 2026 · 3 of 4
Fachschaftsrat · Fachbereichsrat (until March) · StuPa
PRINT B · COMMITTEE3 BODIES · 3 YEARS
I learned to see before I learned to code.
f/16.0 · ISO 400
FOCUS 000%
Night bus at Trafalgar Square, London, shot on a Fujifilm X100V
▢ FRAME · TRAFALGAR SQUARE, LONDON

The other portfolio.

Nostalgic frames. Travel, light, and the quiet in-between, all on a single 35mm lens.
@joel.intheskies ↗
JD.
© 2026 JOËL DEFFNER