Serverless-Zero DB ๊ตฌ์กฐ์ LLM ํ์ดํ๋ผ์ธ ๊ธฐ๋ฐ์ 60์ด ์ฑ์ฐฐ ์ฑ ๊ตฌํ
I built an app to help myself end the day without spiraling. Day 4 of 30. ๐ฟ
AI ์์ฝ
Context
๋ณต์กํ ์จ๋ณด๋ฉ๊ณผ ๋ฐ์ดํฐ ์ ์ฅ ๊ณผ์ ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํดํ๋ ๊ธฐ์กด ์ ๋๋ง ์ฑ์ ํ๊ณ ๊ทน๋ณต ํ์. ์๋ฒ๋ฆฌ์ค ํ๊ฒฝ์์ ์ต์ํ์ ๋ง์ฐฐ๋ก 60์ด ๋ด์ ๊ฐ์น ์ ๊ณต์ด ๊ฐ๋ฅํ ์ด๊ฒฝ๋ ์ํคํ ์ฒ ์ค๊ณ ์งํฅ.
Technical Solution
- localStorage ๊ธฐ๋ฐ์ Client-side Persistence ์ค๊ณ๋ฅผ ํตํ No DB, No Account ๊ตฌ์กฐ ๊ตฌํ
- Speech-to-Text ๋ฐ LLM, TTS ํ๋ฌ๊ทธ์ธ์ ์ฒด์ด๋ํ Event-driven ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- LLM ์๋ต ์ง์ฐ์ผ๋ก ์ธํ UX ์ ํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด 'writing your tomorrow'๋ผ๋ ์๋์ ์๋ด ๋ฌธ๊ตฌ๋ฅผ ๋ฐฐ์นํ Perception Management ์ ์ฉ
- ๋ค๊ตญ์ด ๋ชจ๋ธ์ Hallucination์ผ๋ก ์ธํ ๋น์์ด๊ถ ๋ฌธ์ ์ถ๋ ฅ์ ์ ์ดํ๊ธฐ ์ํด CJK-unicode Validator ๋ฐ ์ฌ์๋ ๋ก์ง์ ํฌํจํ Output Clamping ๊ตฌํ
- ISO Date ํค ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๋งคํ์ ํตํ 7์ผ streak ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ ์๋ ์กฐํ ๋ฐ ๋ ๋๋ง ๊ตฌ์กฐ ์ค๊ณ
์ค์ฒ ํฌ์ธํธ
- LLM ์๋ต ๋๊ธฐ ์๊ฐ์ด 10์ด ์ด์์ผ ๊ฒฝ์ฐ ๋จ์ ์คํผ๋๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ์ํ ๋ฉ์์ง๋ฅผ ์ ๊ณตํ์ฌ ์ดํ๋ฅ ๋ฐฉ์ง - ๋ค๊ตญ์ด LLM ์ฌ์ฉ ์ ์์คํ ํ๋กฌํํธ ์ธ์ ์ ๊ท์์ด๋ ์ ๋์ฝ๋ ๊ฒ์ฆ๊ธฐ๋ฅผ ํตํ ์ต์ข ์ถ๋ ฅ ํํฐ๋ง ๋จ๊ณ ์ถ๊ฐ - ๋จ์ ์๊ฐํ ์์๊ฐ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ๊ธฐ๋ง๊ฐ์ ์ค ์ ์์ผ๋ฏ๋ก UI-Data ๊ฐ์ ์ํธ์์ฉ ์ผ์น ํ์ธ