Skip to content

Full-Stack Developer — AI Integration & Production SaaS

Cihan Alcin

I build and ship production systems end to end — from PostgreSQL row-level security to RAG pipelines to Stripe billing. Based in Halifax, Nova Scotia.

Open to full-stack, AI-integration, and QA-automation roles — Halifax or remote.

Featured project · production beta

A multi-tenant exam management and assessment SaaS for education businesses.

Designed, built, and operated solo — from the first database migration to the Stripe customer portal. PrepPath lets tutoring centres and course providers author sectioned exams, generate questions with AI from their own documents, deliver timed attempts to students, and see how everyone did.

Role
Designed, built & operated solo
Status
In production beta
Test suite
190+ Playwright E2E tests
Languages
English · French · Turkish
PrepPath AI question generation screen, creating exam questions from an uploaded document
AI question generation — document-grounded via the RAG pipeline
PrepPath exam authoring screen with sections, timers, and question pools
Exam authoring — sections, timers, pools, availability windows
PrepPath exam delivery screen as seen by a student taking a timed exam
Exam delivery — the student's view of a timed attempt
PrepPath analytics dashboard with exam and student performance charts
Analytics — attempt and performance reporting

Multi-tenant architecture

Organizations contain workspaces; owner, instructor, helper, and student roles are enforced with PostgreSQL Row Level Security plus app-layer authorization — tenant isolation is guaranteed in the database, not just in the UI.

Exam engine

Sectioned exams with timers, question pools, attempt limits with per-student overrides, and availability windows. Every attempt runs against an immutable, server-built exam snapshot with answer keys stripped before delivery, and save-and-resume works on a continuous wall-clock timeline.

AI question generation

Two modes: document-grounded, through a custom RAG pipeline (PDF parsing → chunking → Voyage embeddings → pgvector similarity search), and direct generation from a topic or spec. Runs on Anthropic Claude via the Vercel AI SDK; an earlier iteration ran self-hosted models with Ollama, FastAPI, Redis, and RQ.

Billing & compliance

Stripe end to end — checkout, webhooks, customer portal, and metered AI usage quotas. GDPR-compliant deletion with grace periods.

Quality

190+ cross-browser Playwright end-to-end tests cover the product, alongside automated WCAG A/AA accessibility checks with axe-core.

Internationalization & theming

Fully internationalized in English, French, and Turkish, with dark and high-contrast themes throughout.

Stack: Next.js 16 (App Router)React 19TypeScriptTailwind CSS 4shadcn/uiSelf-hosted Supabase (PostgreSQL, GoTrue)Docker / Dokploy on two hardened VPS instances

PrepPath is in production beta and sits behind authentication, so the product is shown here through screenshots rather than a live demo.

Selected work

Other projects & roles

Jarvy — AI assistant

Personal project · v1 & v2

A voice-enabled AI assistant, built twice. Jarvy answers by text or voice, calls tools for things like weather and user notes, and keeps MongoDB-backed memory of the conversation so context carries across sessions. v1 ran GPT-4 behind a Flask API; v2 moved to GPT-4o-mini with tool use, streaming responses, and Clerk auth.

Built with: TypeScriptPythonNext.jsFlaskMongoDBClerkOpenAI GPT-4 / 4o-mini

Front end on GitHubBack end on GitHub

Barredlist

Personal project · web app for security personnel

A web application that helps security teams manage barred patrons. Managers create and update records while staff get view-only access, enforced through Clerk middleware with support for multiple roles and organizations — including private bans scoped to a single organization. Dynamic forms with validation and defaults, datatables with search, filters, and custom columns, and automatic expiry of time-limited bans.

Built with: Next.jsTypeScriptMongoDBClerkReact Hook FormZodshadcn/uiTailwind CSS

Barredlist screen showing the barred patron list with search and filters
Patron list
Barredlist screen showing a patron record with ban details
Ban record
Barredlist screen showing the ban creation form with validation
Ban form

DUGO Systems

QA Automation Developer · 2023–2024

Built the company's Cypress automation suite, cutting regression runs by roughly 20x and documenting 100+ defects along the way. Worked in an Agile team with Jira-driven planning.

Built with: CypressJavaScriptAgileJira

Lunch Buddies

Front-end Developer · 2023–2024

Built 100% of the UI for a startup MVP that connects people for lunch meetups — login, profile management, matching, requests, and messaging — along with a reusable TypeScript component library.

Built with: ReactTypeScriptMaterial UI

Lunch Buddies app screen showing the login page
Login
Lunch Buddies app screen showing profile management
Profile
Lunch Buddies app screen showing the matching and requests view
Matching

Client work

Latest websites

Homepage of the Halifax Airport Hotel website
Halifax Airport Hotel website screenshot

Halifax Airport Hotel

Marketing site for an independent hotel by Halifax Stanfield airport.

airporthotelhalifax.com

Homepage of the Lunch Buddies website
Lunch Buddies website screenshot

Lunch Buddies

Marketing site for a Halifax startup on a mission to make sure nobody eats alone.

lunchbuddies.ca

About

How I work

I build and ship software end to end. Several products so far, each taken from an empty repository to something real people can use: database schemas, auth, front end, payments, tests, and deployment.

I do AI integration and quality assurance as well. I built a RAG pipeline for AI question generation in my latest app, and spent a year in QA automation where my Cypress suite cut regression runs by 20x.

I work primarily in Next.js 16, React 19, TypeScript, Tailwind CSS 4, and shadcn/ui on the front end, with Supabase (PostgreSQL), Docker, and MongoDB behind it.

Before software, I founded and ran a training organization for seven years, growing it to hundreds of members and training the instructors who taught there. Earlier still, I took a graphic design degree and led a design department producing national print media, from concept through to press. Neither is a detour: running a business is why I think about what a customer will actually pay for, and design is why I care what happens after the code works.

  • NSCC IT Programming (2024)
  • AWS Certified Cloud Practitioner
  • Google UX Design Professional Certificate

Currently open to full-stack, AI-integration, and QA-automation roles in Halifax or remote.

Contact

Let’s talk.

Hiring for a full-stack, AI-integration, or QA-automation role — or curious about PrepPath? My inbox is open.

alcincihan@gmail.com

github.com/CihanAlcin ↗linkedin.com/in/cihan-alcin ↗