CS + Physics → app studio

CNTT + Vật lý → app studio

I studied computer science and physics on separate tracks — CS taught me to ship software before the semester ended, physics taught me what the numbers in a sensor CSV actually mean. uranashel exists at the intersection of those two educations, and nearly every feature that works across our five apps followed the same sequence: a real-world problem appeared, physics described why the naive approach fails, and code was written to respect that description rather than fight it. The sequence was never trend-first — nobody at this studio sat down and said "AI is hot, let's wrap an API." The sequence was problem-first, and the problems kept being physical.

Wheria: when the map lies

The origin story is documented elsewhere, but the physics content is the point. GPS fails underground not because Google Maps is lazy, but because L-band microwave signals attenuate in concrete and multipath reflections bias pseudorange estimates by tens of meters. The naive software response — show the blue dot anyway, maybe smooth it — is lying to the user with extra steps. The physics-informed response is pedestrian dead reckoning: detect discrete steps from accelerometer peaks, update heading from gyro integration corrected by magnetometer when the field is clean, hint floor level from barometer differentials, fuse everything in a Kalman filter that outputs uncertainty rather than false precision. I would not have written that pipeline without knowing why double integration of accelerometer data drifts meters per second, or why compass readings become worthless near steel columns. CS alone would have produced a prettier map tile. Physics alone would not have shipped it through App Store review.

Sonarish: when the machine hums differently

Sonarish started because an air conditioner began humming at 127 Hz after three years of service — a harmonic of the 60 Hz mains supply coupling into a 2-pole induction motor running at 3600 RPM. The physics is rotating machinery: shaft frequency, bearing defect sidebands, broadband noise from loose mounts. The naive response is "train an AI classifier on cloud audio." The physics-informed response is an on-device FFT with A-weighted LAeq integration, a baseline snapshot when the machine is healthy, and a diff view that shows which frequency bins rose more than 6 dB since last month. We do not auto-diagnose bearing failures because the physics is ambiguous without knowing the machine — we show the spectrum diff and let you call a technician with data instead of vibes. Knowing Nyquist's theorem before choosing the 48 kHz sample rate, and knowing A-weighting before comparing readings to a municipal noise ordinance, are physics decisions that directly determine whether the app is useful or misleading.

Estua and Phyzix: perception and pedagogy

Estua exists because the human auditory system detects periodicity in looped recordings within minutes — a psychoacoustics problem, not a compression problem. The solution is real-time synthesis of 1/f noise with uncorrelated LFO modulation, running on the audio thread under hard real-time constraints described in our audio thread post. Phyzix exists because students treat phones as consumption devices rather than measurement instruments — a pedagogy problem. The solution is live sensor graphs with SI units, exportable CSV, and simulations where the equation sits beside the animation so the connection between formula and motion is visible. Neither app required a physics degree to conceive. Both required physics to implement correctly.

What each discipline alone would miss

Computer science without physics produces apps that compile, pass review, and confidently display wrong answers. You integrate accelerometer data because the API returns acceleration values and integration is what programmers do with time-series data — then you wonder why the parking dot teleports. Physics without computer science produces correct equations in notebooks that never survive Android foreground service rules, iOS background location limits, Compose recomposition jank, or ktuyen's test matrix that catches compass drift on iPhone 15 in a steel garage but not on Pixel 8. uranashel is three people precisely because the skill set spans both: I write the sensor pipelines and DSP, atuan makes the backend and release infrastructure real, ktuyen makes the quality gate real in Vietnamese and English on real devices in real garages.

You do not need two degrees

You need curiosity about the sensor underneath the API documentation, and honesty when the math says your UX is lying. A degree is one path to that honesty — it is not the only path. Garage logs at Landmark 81 taught me more about multipath than any textbook chapter. Listening to an AC unit change pitch over three years taught me more about bearing degradation than any lecture. The Lab page on this site exists so you can reproduce some of those observations yourself. If you want the studio context, start with the welcome post and follow the links wherever your curiosity points — whether that is magnetometer ellipsoids, pink noise spectra, or Kalman covariance traces.

Mình học công nghệ thông tin và vật lý trên hai track riêng — CNTT dạy ship software trước khi học kỳ kết thúc, vật lý dạy con số trong CSV cảm biến thực sự nghĩa là gì. uranashel tồn tại ở giao điểm hai nền giáo dục đó, và hầu hết feature chạy được trên năm app đều theo cùng trình tự: bài toán thực xuất hiện, vật lý mô tả vì sao cách naive fail, rồi code viết để tôn trọng mô tả đó thay vì chống lại. Trình tự không bao giờ trend-first — không ai trong studio ngồi nói "AI hot, bọc API thôi." Trình tự là problem-first, và các bài toán cứ là vật lý.

Wheria: khi bản đồ nói dối

Câu chuyện gốc được viết ở nơi khác, nhưng nội dung vật lý mới là điểm. GPS fail dưới hầm không phải vì Google Maps lười, mà vì sóng vi sóng băng L suy hao trong bê tông và phản xạ multipath lệch pseudorange hàng chụm mét. Phản ứng software naive — vẫn hiện chấm xanh, có thể smooth — là nói dối user thêm bước. Phản ứng có vật lý là pedestrian dead reckoning: phát hiện bước rời rạc từ peak gia tốc, cập nhật heading từ tích phân con quay hiệu chỉnh từ kế khi trường sạch, gợi ý tầng từ differential áp kế, fusion tất cả trong Kalman filter xuất uncertainty thay vì precision giả. Mình không viết pipeline đó nếu không biết vì sao tích phân gia tốc hai lần drift mét mỗi giây, hay vì sao đọc la bàn vô dụng gần cột thép. Chỉ CNTT sẽ cho tile bản đồ đẹp hơn. Chỉ vật lý sẽ không ship qua App Store review.

Sonarish: khi máy ù khác đi

Sonarish bắt đầu vì điều hòa bắt đầu ù 127 Hz sau ba năm — hài của nguồn 60 Hz couple vào motor induction 2 cực 3600 RPM. Vật lý là máy quay: tần trục, sideband lỗi bạc đạn, nhiễu broadband từ chân lỏng. Phản ứng naive là "train AI classifier trên audio cloud." Phản ứng có vật lý là FFT on-device với tích phân LAeq A-weighted, snapshot baseline lúc máy khỏe, và màn diff cho thấy bin tần số nào tăng hơn 6 dB so tháng trước. Team không auto chẩn đoán hỏng bạc đạn vì vật lý mơ hồ nếu không biết máy — team hiện diff phổ và để bạn gọi thợ với data thay vì cảm giác. Biết định lý Nyquist trước khi chọn sample rate 48 kHz, và biết A-weighting trước khi so reading với quy chuẩn ồn đô thị, là quyết định vật lý quyết định app hữu ích hay misleading.

Estua và Phyzix: cảm nhận và sư phạm

Estua tồn tại vì hệ thống thính giác phát hiện tính tuần hoàn trong recording loop trong vài phút — bài toán psychoacoustics, không phải compression. Giải pháp là synthesis real-time nhiễu 1/f với modulation LFO không tương quan, chạy trên audio thread dưới ràng buộc hard real-time mô tả trong bài audio thread. Phyzix tồn tại vì học sinh coi điện thoại là thiết bị tiêu thụ thay vì dụng cụ đo — bài toán sư phạm. Giải pháp là graph cảm biến live với đơn vị SI, CSV export, và mô phỏng phương trình nằm cạnh animation để liên kết công thức và chuyển động nhìn thấy được. Cả hai app không cần bằng vật lý để conceive. Cả hai cần vật lý để implement đúng.

Mỗi ngành một mình sẽ thiếu gì

CNTT không vật lý cho app compile, pass review, và tự tin hiện câu trả lời sai. Bạn tích phân data gia tốc vì API trả giá trị gia tốc và tích phân là việc programmer làm với time-series — rồi thắc mắc vì sao chấm đỗ xe teleport. Vật lý không CNTT cho phương trình đúng trong sổ không sống sót rule foreground service Android, giới hạn location nền iOS, jank recomposition Compose, hay ma trận test ktuyen bắt la bàn trôi trên iPhone 15 trong hầm thép nhưng không trên Pixel 8. uranashel là ba người chính xác vì skill set span cả hai: mình viết pipeline cảm biến và DSP, atuan làm backend và hạ tầng release thật, ktuyen làm cổng chất lượng thật bằng tiếng Việt và tiếng Anh trên thiết bị thật trong hầm thật.

Bạn không cần hai bằng

Bạn cần tò mò về cảm biến dưới tài liệu API, và thật thà khi toán bảo UX đang nói dối. Bằng cấp là một đường tới sự thật thà đó — không phải đường duy nhất. Log hầm Landmark 81 dạy mình multipath nhiều hơn chương sách giáo khoa. Nghe điều hòa đổi pitch ba năm dạy mình suy thoái bạc đạn nhiều hơn bài giảng. Trang Lab trên site này để bạn tái tạo một số quan sát đó. Muốn bối cảnh studio, bắt đầu bài chào và theo link wherever tò mò chỉ — ellipsoid từ kế, phổ pink noise, hay trace covariance Kalman.