Skip to content
Muhammet Şafak
tr
academia.sh lesson screen — the curriculum/course/topic/lesson hierarchy, a panel showing theory and the field problem flowing in the same lesson text, full-text search and certificate field-freezing summaries

academia.sh

Ongoing Side Publications

academia.sh is a learning platform with free, no-signup lessons that never separates a lesson's theory from a real problem from the field. It's presented through a curriculum-course-topic-lesson hierarchy, progress and quizzes are measured per lesson without splitting theory from problem, and full-text search runs on Postgres; the course-end exam, certificates and study assistant sit in a Pro tier. Content lives in a separate GitHub repo; the first field is computer science, and the model was designed multidisciplinary from the start.

Role
Founder & Author
Duration
September 2026 — Ongoing

Technologies

Laravel PHP Livewire Blade Tailwind PostgreSQL Redis Filament Pest

Skills

Content Strategy Curriculum Design Full-Text Search Database Design Technical Writing Static Content Architecture

academia.sh is a learning platform with free, no-signup lessons that never separates a lesson’s theory from a real problem from the field; it’s presented through a curriculum-course-topic-lesson hierarchy. Lessons are free to read without an account; the course-end exam, verifiable certificate and study assistant sit in a Pro tier. The problem from the field isn’t a separate exercise — it sits in the lesson’s own text as a continuation of the theory, which is why progress percentage and quizzes are measured per “published, active lesson” without splitting theory from problem. The first content is computer science, but the model was designed multidisciplinary from the start: adding a new field means writing lessons, not changing the schema.

I built the stack on Laravel 13, Livewire and Tailwind, and full-text search on PostgreSQL’s own engine (ts_rank_cd ranking, ts_headline snippets); search_vector can’t be a generated column because the cast that turns to_tsvector’s dictionary argument into a regconfig isn’t considered immutable, so a trigger produces the vector instead. Content isn’t born in the application’s database — it lives in a separate GitHub repo and the platform is fed from there; that’s the only form in which it can genuinely open up to contribution. On a certificate, holder_name and course_title are frozen at the moment of issue; even if a lesson’s mark is later revoked, the printed document keeps its validity.

Feeds into: PHP Developer

More Projects

All projects
Devrazzi state machine — a four-box pipeline (RAW → EVALUATING → APPROVED/REJECTED → PUBLISHED), local screening axes and the 7-point threshold on Ollama, hand-off of records that clear the bar to a step-specific model among DeepSeek/Gemini/OpenAI/Claude, live status badges for web and iOS

Devrazzi

Ongoing

Founder & Developer

Tier: Active Development

Devrazzi is a content product that leaves the signal/noise problem in developer news not to a human editor but to a layered model pipeline. It collects sources, runs a first pass locally with Ollama, hands off whatever clears the bar to a step-specific model among DeepSeek/Gemini/OpenAI/Claude, and produces and publishes a TR/EN synthesis end to end. Live on web and iOS; full article extraction isn't there yet, and that's kept open as a known limit.

TypeScript Node.js Prisma +8 more
September 2026 — Ongoing
Garajdaş architecture diagram — a resolution comparison between a single make-level club and multiple make-model-level clubs, arrows from the schema's sole owner, the Laravel API, to the web (Next.js) and mobile (Expo/React Native) clients, the five completed MVP phases and a 97-test badge

Garajdaş

Ongoing

Founder & Developer

Tier: Active Development

Garajdaş is a community platform where every car make-and-model has its own club, keeping internal-combustion and electric vehicles under one roof. A single API schema is shared by the web (Next.js) and mobile (Expo/React Native) clients, the design system is defined in one file and synced by hand. The MVP phases are closed, the API has 97 tests; the platform is live.

Laravel PHP PostgreSQL +6 more
September 2026 — Ongoing
Qurandia matching engine — comparison bars showing number matching at 0-14% consistency against text fingerprinting at 91-99%, a nine-tile stat grid with surah, verse, translation, word, root, tafsir and hadith counts, PostgreSQL full-text search and Turkish translation coverage badges

Qurandia

Ongoing

Founder & Developer

Tier: Active Development

Qurandia is a free, open reading and research resource that matches hadith datasets that don't know each other, trusting not a number but the letter-level fingerprint of the text itself; Quran- and hadith-centred. Translation, word-by-word analysis, tafsir, asbab al-nuzul, the hadith corpus and search all sit under one roof; direct number matching is only 0-14% consistent, while text fingerprinting pushes matching up to 91-99%. Turkish hadith translation coverage stands at 83% today.

Laravel PHP Livewire +7 more
September 2026 — Ongoing

Search the site

Start typing to search posts, projects and pages.

Esc to close Powered by Pagefind