Cilt365

Dermatolog tasarımlı bir anketi kişiselleştirilmiş bir rutine ve ürün eşleşmesine dönüştüren, klinik mantığı kod yerine düzenlenebilir veri olarak tutan klinik düzeyde bir cilt bakımı öneri motoru.

Markdown olarak oku ↗
2026
Full Stack Developer
Neon Apps

Geliştirildiği yer

Neon Apps

Full Stack Developer

Cilt365 - Görsel 1
Tam boyutta görüntüle

Proje Hakkında

Klinik mantık bana değil dermatologlara aitti, bu yüzden onu hardcode etmek her revizyonu bir deploy'a dönüştürürdü. Tüm kural yüzeyini veritabanına taşıdım — sorular, cevap-gerçek eşlemeleri, eksen kalibrasyonu, klinik kurallar — ve motor bunu istek anında okuyor; böylece doktorlar bir mühendise ihtiyaç duymadan iterasyon yapabiliyor. Motor, cevap kümesinden beş klinik ekseni puanlıyor, ikincil gerçekleri türetiyor, ardından bir rutin dalını seçmek ve herhangi bir ürün değerlendirilmeden önce sert içerik bloklarını uygulamak için öncelik sıralı bir klinik güvenlik modu kademesi çalıştırıyor. Asıl problem klinik revizyonları güvenli hale getirmekti: her doktor revizyonu, uç durumları bir önceki versiyonla çelişen bir spesifikasyon olarak geliyordu, bu yüzden herhangi bir cevap kümesini canlı motordan geçiren, anlık görüntüsünü alan, bir değişiklikten sonra yeniden çalıştıran ve doktorun kaydettiği beklentiyle karşılaştıran bir simülasyon test düzeneği kurdum — motora dokunmadan önce doktorun kendi QA tablosunu testlere dönüştürerek, bu da yeni kuralların eski kuralları sessizce bozmasını defalarca yakaladı. Ayrıca neyin yeniden hesaplanacağı ile neyin dondurulacağı arasında bir sınır çizdim: sunum çıktısı her okumada yeniden türetiliyor, böylece bir düzeltme, migration ya da yeniden gönderim olmadan mevcut profilleri geriye dönük olarak onarıyor; buna karşılık çözümlenen cilt tipi gönderim anında donduruluyor, böylece bir eşik değişikliği zaten bir sonucu olan birini sessizce yeniden sınıflandırmıyor. Bu sınır, bir düzeltme ile bir olay arasındaki farkı oluşturuyor.

Teknolojiler

NestJSTypeScriptDrizzle ORMPostgreSQLRedisBullMQGoogle GeminiSharpNext.jsJestSwaggerSentry

Öne Çıkan Özellikler

Veri olarak klinik mantık — sorular, kalibrasyon, kurallar ve etiketler düzenlenebilir satırlardır; dermatologlar deploy olmadan revizyonları hayata geçirir
Güvenlik kademesine sahip çok eksenli puanlama — beş klinik endeks, herhangi bir öneriden önce sert içerik bloklarını (gebelik, aktif ilaç kullanımı, teşhis edilmiş durumlar) uygulayan öncelik sıralı bir mod çözücüyü besler
Klinik inceleme için simülasyon test düzeneği — bir revizyonu yayınlanmadan önce doğrulamanın birincil kapısı olarak herhangi bir profilin anlık görüntüsünü alır, yeniden çalıştırır ve doktorun kaydettiği beklentiyle karşılaştırır
Yapısal olarak izole edilmiş ürün kataloğu — öneriler ayrı, salt okunur bir veritabanını sorgular, bu sayede motor ürün doğruluk kaynağını değiştiremez
Bir feature gate arkasında paralel motor sürümleri — iki klinik model tek bir şemadan hizmet verir, bu da yenisinin geçiş öncesinde gerçek trafik üzerinde doğrulanmasını sağlar
Tasarım gereği geriye dönük çalışan sunum katmanı — sonuç etiketleri okuma anında yeniden hesaplanır, böylece düzeltmeler mevcut kullanıcılara anında ulaşır; çözümlenen cilt tipi ise sessiz yeniden sınıflandırmayı önlemek için dondurulmuş kalır