semantic-split

Homepage
1 / 7
semantic-split started as a small student project that grouped sentences by meaning using SentenceTransformers and spaCy. I rebuilt it into a small NLP toolkit: a Vue 3 frontend and a Django backend that wraps the Hugging Face Inference API for six additional operations. Pick an operation from the sidebar, see which model it uses and why, run it, and the result gets added to a scrollable history instead of replacing the last one — so you can compare outputs across operations or between two models on the same text side by side. Zero-shot classification runs on either an English-centric BART model or a multilingual mDeBERTa model. Sentiment analysis can return a 3-class positive/neutral/negative label or a 1-5 star rating from a different model. Summarization, keyword/entity extraction, language detection, and toxicity detection round out the set, each with its own model and a short, honest note about its limitations (e.g. the Turkish NER model isn't true keyword extraction, it finds named entities). The UI is bilingual (TR/EN, auto-detected from the browser) and the backend runs on a self-managed Hetzner VPS behind nginx and gunicorn, not a serverless function.
More projects

NIVORAI
Self-hosted productivity suite, now split into three products on one login: Life, Work, and Community. Monorepo with a React 19 web app, an Express/Prisma/PostgreSQL API, and a React Native mobile app.

LINKNOWN
Link shortening and QR code platform with privacy-safe click analytics, bot-filtered redirects, password-protected links, and a no-code link-in-bio page builder. Migrated infrastructure from AWS EC2 to a self-managed Hetzner VPS.

QuizCupid
Free love-test and couple-game platform with no signup required, now speaking seven languages. Built with Next.js 16 and Sanity CMS, with React Three Fiber powering the 3D game scenes.