{{s.met}} · {{s.when}} · {{s.tag}}
{{s.name}}
{{s.role}}
{{s.text}}
{{s.note}}
Prishtina, Kosovo · {{clock}}
Mission time T+ 8y
Software Engineer
Building for the web since 2018, from the button you click to the server behind it. These days I’m at Borek Solutions Group, and I freelance through Toptal.
Open to roles and freelance · say hi →
Journey · latest first
{{s.met}} · {{s.when}} · {{s.tag}}
{{s.role}}
{{s.text}}
{{s.note}}
Toolkit
TypeScript · React · Next.js · Angular · React Native · Node.js · NestJS · Express · PostgreSQL · MongoDB · Supabase · Prisma · Keycloak and SSO · Docker · CI/CD · Dialogflow CX
Meanwhile, on the moon
Transmission
That’s the journey so far. If you’d like to work together, or just say hi, I’m at gent.veseli1@gmail.com.
Open to remote roles, relocation and freelance projects. Off duty: CS2, techno, snowboarding, running and biking.
Off-duty, if you have a minute
A tiny acid techno loop at 128 bpm, made in your browser. Tap the cells to change it while it plays.
{{seqNote}}
© 2026 Gent Veseli · Built with Astro
{{sheetKicker}}
Teachers build interactive language lessons on a canvas, and students play them back with audio, translation and results. It works in English, Albanian and other languages.
I did the engineering, end to end: the lesson canvas, playback and audio, saving and publishing, assignments and results. The design is Fiona Veseli’s.
I met David, the client, through Toptal. We check in daily or weekly, he’s still my client today, and along the way he’s become a friend.
Next.js · TypeScript · Prisma · PostgreSQL · text-to-speech
My own little product. One football call per match, locked before kickoff, and marked right or wrong after the final whistle. When the evidence is thin, it passes.
Why calls lock
Trust comes first. Every call is locked before kickoff, so nobody, including me, can change it once the result is known. The misses stay visible next to the hits.
Matchweek 10 snapshot. Numbers change every week.
{{lockNote}}
Next.js · Node.js · PostgreSQL
A travel app where you plan a trip by chatting. I built the conversational agent that takes someone from “I want to fly to Vienna” to a booked ticket, and the NestJS webhooks that connect it to the app.
Before
The earlier Gemini version asked broad, open questions, so travellers took a long way round to a ticket.
What I did
Rebuilt it as a Dialogflow CX agent with a direct flow for reserving and buying a flight, connected through webhooks I built in NestJS.
Result
A simpler conversation that goes straight from the request to a reserved and paid ticket.
An example, step {{asStep}} of 3
Prishtina to Vienna, Friday morning.
There are direct flights that morning. Want me to hold one?
Yes, the first one.
{{asWhat}}
Their public site. The landing page isn’t my work.
Dialogflow CX · NestJS · React Native · Amadeus APIs
One client, two products. MyHomePal is a solar company from Chicago; HomePal HX is their newer service for battery backup and solar maintenance.
I built the MyHomePal platform with Angular and Express.js, including the scheduling workflows, the reminders and the production deployment.
For HomePal HX I built the whole landing page and the appointment form.
myhomepal.com
homepalhx.com
MyHomePal: Angular · Express.js
A website for a spine surgeon: procedures, conditions, patient resources and a way to book a consultation. I built it; Fiona Veseli designed it. It’s no longer live, so here’s how it looked.
Next.js
Five targets, as fast as you can. {{aimBest}}
Touch down softly on the orange pad. Hold the engine to slow your fall, nudge left and right to line up. Fuel runs out.
speed 0 · drift 0 · fuel 100%
{{landMsg}}