



EhliyetPro
Management software for Turkish driving schools that brings trainee records, lesson planning, exams, collections, fleet and instructor pay into one system.
Software product · Personally developed
- Status
- Live · onboarding on requestThe product runs in production and its site answers at ehliyetpro.com (checked 25 October 2026). Self-service sign-up is closed, so schools are set up after they get in touch. It is offered free. I do not publish adoption figures.
- My role
- Developed by Gönenç. I defined the product, wrote its requirements and feature specifications, shaped the screens and built the .NET API, the web panels and portals, and the hosting and release setup.
In plain words
- What it is
- Software that runs the daily work of a driving school in one place: registering trainees, planning lessons, booking exams, recording payments, tracking vehicles and calculating instructor pay.
- Who it is for
- Driving school owners and office staff in Türkiye, plus their instructors and trainees, who each get their own portal.
- The problem it addresses
- Schools often juggle spreadsheets, paper files and separate tools. Lessons clash, vehicle documents expire unnoticed and payments are hard to follow. EhliyetPro puts these records behind one set of rules.
Many rules, scattered records
A driving school runs on rules that are easy to break by hand. An instructor cannot teach two lessons at once, a car with an expired inspection cannot be used, and trainees need their required hours before an exam. The office also keeps sensitive personal data, from identity numbers to health reports, which Turkish data protection law (KVKK) requires it to protect.
EhliyetPro is a rewrite. The earlier generation of the system sat on an unmaintained framework whose security issues could no longer be patched, and its database had no indexes or uniqueness rules.
My role
I developed EhliyetPro: the scope and requirements documents, the per-feature specifications, the screen designs and the code. That covers a .NET API on PostgreSQL, separate web apps for the course office, instructors, trainees and the head office, a marketing site, and the deployment, backup and release setup. The product documents also record pricing and risk decisions.
What exists today
The features below are in the production release. The project keeps a written feature list that separates what works from what is still on the way, and the same line is kept here. Online card payments are written but switched off in production, and the mobile app is not yet in the stores.
Trainee records and document checks
ShippedRegistration with an identity check against the population register, encrypted document storage and barcode checks against e-Devlet.
Lesson planner with clash checks
ShippedA weekly calendar that refuses clashing lessons and lists every conflict at once: instructor, vehicle, inspection or licence class.
Exams and mock exams
ShippedExam scheduling with a readiness check on required hours, results hidden until the school publishes them, and school-written theory mock exams.
Collections ledger
ShippedInstalment plans, payments by method, corrections as reversal entries, month closing and bank reconciliation.
Fleet and vehicle documents
ShippedVehicle records, inspection and insurance periods with expiry reminders, maintenance tracking, and accident and fine records.
Instructor pay
ShippedMonthly earnings drafts that instructors approve or dispute from their portal, and payments recorded against them.
Trainee and instructor portals
ShippedWeb portals where trainees see lessons, exams and balances, and instructors take attendance and check their pay. Sign-in by SMS code, password or e-mail link.
Leads, bulk import and supplies marketplace
ShippedEnquiries from the marketing site routed to schools by district, imports of up to 5,000 rows, and a marketplace module in the course panel.
Online card payments
In progressBuilt and tested in the payment provider's sandbox. Production stays off until each school can be onboarded as its own sub-merchant.
Mobile app for trainees and instructors
In progressAn iOS and Android app exists in code. It has no store listing yet.
MEBBİS integration, SMS and WhatsApp notices, e-invoice
PlannedDecided or listed on the roadmap, not built.
How it works
One .NET API on PostgreSQL serves every app. Each driving school is a tenant, and tenant isolation is part of the data model rather than a filter written into each query. Personal data such as names, identity numbers and phone numbers is encrypted field by field with a key per school, and the master key is kept out of the database and the backups.
The web apps are static builds hosted on Cloudflare Pages. Their types are generated from the API's contract, so the screens and the server cannot drift apart. Every change runs through continuous integration, where compiler warnings count as errors.
Running it day to day
The office works in the course panel: registering trainees, planning the week, recording payments. Instructors use their portal from the car to take attendance and close lessons. Trainees check their own lessons, exams and balance. A head office panel lets the platform team set up schools and assign incoming leads.
Operations run on one server with Docker and no open ports, behind a Cloudflare tunnel. Encrypted nightly backups are kept for 14 days and checked every six hours, and a restore has been rehearsed.
Decisions behind it
Several decisions are written down with their reasons. The product is free, and the paid tiers were withdrawn rather than shown as coming soon. Live card payments wait for a proper sub-merchant model, because collecting money for schools would mean acting as a payment institution. Two-factor sign-in was left out until it can work properly, since a security feature that only looks active is worse than none.
What it shows
The outputs are a production system with five web apps, a written feature list that separates shipped from planned, and more than 2,800 automated back-end tests (count of 18 September 2026). I do not publish customer or usage figures. The intended value is fewer clashes, fewer missed document dates and a clearer view of who owes what.
Technical, operational and managerial
Technical
Multi-tenant SaaS here means many schools share one system while each sees only its own data, enforced in the data model. Personal fields are encrypted with a key per school. Roles and permissions are separated from scope, so an instructor sees only their own lessons. A large automated test suite guards these rules.
Operational
The product follows the office's real day: a trainee registers, lessons are planned without clashes, exams are booked when hours are complete, payments are recorded and reconciled, and instructors are paid for closed lessons. Vehicle documents and maintenance run alongside, with reminders before dates pass.
Managerial
Scope, requirements, a risk log and acceptance tests were written before and during the build. Prioritization is visible in the feature list, which keeps shipped and on-the-way items apart. Pricing moved to a single free plan, and risks such as payment licensing were handled as written decisions rather than code.
Questions answered
What does EhliyetPro do?
It runs the daily work of a Turkish driving school in one system: trainee records and documents, lesson planning, exams, payments, vehicles and instructor pay, with separate portals for instructors and trainees.
Can a driving school use it today?
The product runs in production at ehliyetpro.com. Self-service sign-up is closed as of 25 October 2026, so a school gets in touch and is set up with help.
Is it free?
Yes. The product is offered on a single free plan, and no paid tier is offered or planned at the moment.
Does it replace official systems or accounting?
No. It does not connect to MEBBİS, does not issue e-invoices, and its payment receipts are not fiscal receipts. It keeps the school's own records alongside those systems.
How is personal data protected?
Personal fields are encrypted with a key per school, identity numbers and phones are masked on screen, every unmasking is logged, and the audit trail cannot be edited. Trainees can request their data or have their record anonymised.
Which features are planned rather than available?
Live online card payments, the mobile app in the stores, MEBBİS integration, SMS and WhatsApp notices and e-invoicing are not available yet.
Proof and links
- Product site (opens in a new tab)Turkish-language site with features and pricing. Reachable when checked on 25 October 2026.
- Source codeThe repository is private.
Questions about this product?

