🌲 OUTSIDE: 화면에서 벗어난 야외 탐험
요약
OUTSIDE는 AI 기반의 프라이버시 우선 야외 탐험 애플리케이션입니다. 이 앱은 사용자에게 주변 환경과 연결할 이유를 제공하며, 산책 시간을 개인화된 미션으로 변환합니다. 화면 없는 모드를 통해 사용자가 물리적 세계에 집중하도록 돕습니다.
핵심 포인트
- AI가 온라인 중독 대신 야외 활동을 유도하는 개념입니다.
- GPS와 시간 설정을 기반으로 감각적인 야외 미션을 생성합니다.
- 데이터베이스, 인증 시스템 없이 작동하여 프라이버시를 최우선합니다.
- 사용자가 물리적 환경에 집중하도록 돕는 '화면 없는 모드'가 핵심 기능입니다.
이 글은 Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass에 제출하는 내용입니다.
만약 AI가 당신을 더 오래 온라인에 머물게 하려고 노력하는 대신, 휴대폰을 치우도록 도와준다면 어떨까요?
우리는 거의 모든 삶의 영역에서 기술을 사용하지만, 때로는 가장 좋은 경험이 화면으로부터 우리를 멀리 데려가는 것입니다.
이것이 바로 OUTSIDE의 아이디어입니다. OUTSIDE는 프라이버시 우선(privacy-first)의 AI 기반 웹 애플리케이션으로, 주변 환경, 이용 가능한 시간, 개인적인 관심사를 작은 야외 모험으로 바꿔줍니다.
다른 비디오, 앱 또는 디지털 활동을 추천하는 대신, OUTSIDE는 당신에게 밖에 나가 물리적 세계와 다시 연결할 이유를 제공합니다.
제가 만든 것 (What I Built)
OUTSIDE는 평범한 산책을 개인화되고 감각적으로 풍부한 미션으로 변환하도록 설계된 화면 없는(screen-free) 야외 탐험 애플리케이션입니다.
회의 사이에 15분이 있든, 동네를 산책할 30분이 있든, 근처 트레일을 탐험할 두 시간이 있든, OUTSIDE는 그 시간을 의도적인 야외 경험으로 바꾸는 데 도움을 줍니다.
작동 방식 (How It Works)
- 탐험 구역 선택: GPS를 사용하거나 랜드마크를 수동으로 입력하고 선호하는 지오펜싱(geofencing) 반경을 설정합니다.
- 이용 가능 시간 설정: 15분, 30분, 45분, 60분 또는 120분 모험 중에서 선택합니다.
- 감각적 관심사 선택: 식물과 캐노피(flora and canopy), 고요한 고독(quiet solitude), 감각 스캐빈저 헌트(sensory scavenger hunts), 도시의 그림자(urban shadows), 활기찬 고도(brisk elevation), 또는 하늘과 황혼(sky and twilight) 같은 테마를 탐험합니다.
- 미션 생성: AI가 감각적 프롬프트, 현장 마일스톤(field milestones), 그리고 탐험 가이드를 갖춘 구조화된 야외 경험을 만듭니다.
- 휴대폰 치우기: 화면 없는 모드(Screen-Free Mode)에 진입하여 기억에 의존해 미션을 수행하고, 야외 세션이 완료되면 돌아옵니다.
미션이 장려할 수 있는 몇 가지 예시:
🌲 OUTSIDE: 화면에서 벗어난 야외 탐험
- 경로를 따라 세 가지 다른 나뭇잎 패턴을 찾아보세요.
- 햇빛이 건물과 나무 위로 어떻게 변화하는지 관찰하세요.
- 휴대폰을 확인하지 않고도 뚜렷한 새소리를 들어보세요.
- 비가 온 뒤의 흙냄새를 맡아보세요.
- 무언가를 사진으로 찍으려고 노력하지 않고 주변 환경을 관찰하는 시간을 1분 보내세요.
OUTSIDE는 또한 인터랙티브 나침반, 미션 체크리스트, 오프라인 참고용 복사 가능한 포켓 슬립, 주변 자연 소리, 그리고 합성된 싱잉볼(singing-bowl) 차임이 있는 연결 끊기 의식(disconnect ritual)을 포함합니다.
참여 유도(Engagement)가 아닌 프라이버시를 중심으로 구축되다
저는 이 애플리케이션이 기존의 디지털 제품들과는 다른 철학을 따르기를 바랐습니다.
- 데이터베이스 없음 (Zero database): PostgreSQL, MongoDB, SQLite 또는 기타 애플리케이션 데이터베이스가 없습니다.
- 인증 시스템 없음 (Zero authentication): 등록, 로그인 또는 비밀번호 요구 사항이 없습니다.
- 일시적 위치 정보 (Ephemeral location): 위치 데이터는 클라이언트 측 메모리에서 처리되며, 애플리케이션에 의해 의도적으로 영구 저장되지 않습니다.
- 선택적 위치 흐림화 (Optional location fuzzing): 사용자는 미션 생성을 위해 좌표를 전송하기 전에 약 500미터 범위로 좌표를 흐리게 할 수 있습니다.
- 분석 또는 추적 픽셀 없음 (No analytics or tracking pixels): 이 애플리케이션은 일반적인 사용자 추적 인프라 없이 설계되었습니다.
- 절차적 오디오 (Procedural audio): 자연에서 영감을 받은 사운드스케이프와 차임은 브라우저 내에서 직접 합성됩니다.
이 목표는 한 가지 디지털 습관을 다른 것으로 대체하는 것이 아닙니다. AI를 디지털 세계와 물리적 세계 사이의 임시적인 다리(bridge)로 사용하는 것입니다.
OUTSIDE는 학생, 원격 근무자, 책상에 오랜 시간을 보내는 사람, 도시 탐험가, 그리고 야외에서 더 의도적인 시간을 보낼 간단한 이유를 원하는 모든 사람을 위해 설계되었습니다.
데모
데모 비디오: Video Link
OUTSIDE를 경험하는 가장 좋은 방법은 미션을 생성하고, 연결 끊기 의식을 시작한 다음, 실제로 야외에서 지침을 따르는 것입니다.
이 애플리케이션은 경험이 진행됨에 따라 휴대폰의 중요도를 낮추도록 구축되었습니다.
코드
GitHub Repository:
GitHub logo PriyankV25 / Outside-AI
화면에서 벗어나 살아있는 세계와 다시 연결하도록 사람들을 돕기 위해 설계된, 현대적이고 개인 정보 보호를 우선시하는 웹 애플리케이션입니다.
🌲 OUTSIDE — 스크린 없는 야외 탐험
#devchallenge #hf26challenge
화면에서 벗어나 살아있는 세계와 다시 연결하도록 사람들을 돕기 위해 설계된, 현대적이고 개인 정보 보호를 우선시하는 웹 애플리케이션입니다.
Next.js 14, Tailwind CSS, 그리고 오픈 웨이트 모델인 LLaMA 3.3 70B Versatile로 구동되는 Groq API를 사용하여, OUTSIDE는 사용자의 위치, 지오펜싱 반경(geofencing radius), 이용 가능한 시간, 그리고 마음챙김 관심사(mindful interests)를 기반으로 개인화되고 감각적으로 풍부한 야외 탐험 미션을 만듭니다.
🛡️ 개인 정보 보호 우선 아키텍처 (Privacy-First Architecture)
OUTSIDE는 엄격한 감시 방지(anti-surveillance), 중독 방지(anti-addiction) 철학으로 설계되었습니다:
| 기둥 (Pillar) | 구현 (Implementation) |
|---|---|
| 제로 데이터베이스 (Zero Database) | PostgreSQL, MongoDB, SQLite, Redis 또는 클라우드 데이터베이스가 존재하지 않습니다. |
| ... | |
| … |
이 프로젝트는 Next.js 14, TypeScript, Tailwind CSS, 그리고 Groq API로 구축되었습니다.
프로젝트 구조 (Project Structure)
src/
├── app/
│ ├── api/
...
로컬에서 실행하기 (Run Locally)
저장소(repository)를 복제하고 의존성(dependencies)을 설치하세요:
git clone <your-repository-url>
cd <your-project-directory>
npm install
선택적으로, .env.local 파일을 생성하고 Groq API 키를 설정하세요:
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=llama-3.3-70b-versatile
개발 서버를 시작하세요:
pm run dev
브라우저에서 http://localhost:3000을 엽니다.
프로덕션 빌드(production build)의 경우:
pm run build
pm run start
Groq API 키가 설정되지 않은 경우, 애플리케이션은 절차적 폴백 엔진(procedural fallback engine)을 통해 미션을 생성할 수 있습니다.
어떻게 만들었나 (How I Built It)
핵심 아이디어는 AI를 유용하게 만들되, 그 애플리케이션 자체가 끝없는 스크린 시간의 목적지가 되지 않도록 하는 것이었습니다.
AI 레이어: LLaMA 3.3 70B Versatile
OUTSIDE는 Groq의 추론 API를 통해 접근하는 오픈 웨이트 언어 모델인 LLaMA 3.3 70B Versatile을 사용합니다.
이 모델은 선택된 시간 범위, 감각 테마, 지형 선호도 및 구성된 탐험 영역 등 임무를 생성하는 데 필요한 탐험 선호도를 받습니다.
애플리케이션은 비정형적인 단락을 반환하는 대신, 인터랙티브 미션 카드를 렌더링하는 데 사용될 수 있는 구조화된 JSON을 요청합니다.
이를 통해 프런트엔드는 실행 가능한 활동(actionable activities), 감각적 앵커(sensory anchors), 그리고 순차적인 마일스톤을 예측 가능한 형식으로 제시할 수 있습니다.
한 가지 중요한 차이점: LLaMA 3.3 70B Versatile은 오픈 웨이트 모델인 반면, Groq가 호스팅된 추론 서비스를 제공합니다. OUTSIDE는 사용자가 대규모 모델을 로컬에서 실행할 필요 없이 오픈 웨이트 AI를 활용합니다.
Next.js와 TypeScript를 사용하는 이유?
Next.js는 애플리케이션 구조, 인터랙티브 프런트엔드 및 서버 측 API 라우트를 제공합니다.
TypeScript는 예측 가능한 미션 데이터 구조를 정의하는 데 도움을 주며, Tailwind CSS는 자연에서 영감을 받은 인터페이스와 반응형 디자인을 지원합니다.
서버 측 라우트는 애플리케이션에 구성된 Groq API 키가 브라우저 번들에 노출되는 것을 방지합니다. 클라이언트는 서버의 비밀 키를 직접 노출하지 않고도 미션을 요청할 수 있습니다.
AI를 사용할 수 없을 때는 어떻게 되나요?
API 키가 누락되거나 외부 서비스에 문제가 생겨서 경험 자체가 중단되는 것을 원치 않았습니다.
그렇기 때문에 OUTSIDE는 절차적(procedural) 미션 엔진을 포함하고 있습니다.
실시간 AI 생성이 사용될 수 없을 때, 애플리케이션은 로컬에서 생성된 미션 콘텐츠로 폴백할 수 있습니다. 이는 핵심 경험이 개발 중에 접근 가능하도록 만들고 단일 외부 서비스에 대한 의존도를 줄이는 데 도움이 됩니다.
화면 없는(Screen-Free) 경험
OUTSIDE에서 가장 중요한 부분은 미션 생성기가 아닙니다. 미션이 생성된 '후'에 일어나는 일입니다.
짧은 호흡 애니메이션과 합성된 차임이 연결 해제 의식(disconnect ritual)을 소개합니다. 이후 화면은 카운트다운 타이머가 있는 OLED 블랙 포켓 디스플레이로 전환됩니다.
비상 엿보기 기능(emergency peek)은 필요할 때 목표를 빠르게 확인할 수 있게 해주며, 복귀 차임(return chime)은 세션의 종료를 알립니다. 사용자는 애플리케이션 데이터베이스에 반성 내용을 저장하지 않고도 경험을 되돌아볼 수 있습니다.
사운드스케이프는 외부 오디오 서비스에서 스트리밍되는 것이 아니라 Web Audio API로 생성됩니다.
이러한 기능들은 함께 화면으로부터의 전환을 갑작스럽기보다는 의도적인 느낌으로 만들고자 합니다.
Open Innovation은 왜 중요한가?
Open innovation은 개발자들이 기존의 챗봇, 추천 피드, 생산성 비서 외에 AI로 실험할 수 있는 더 많은 방법을 제공하기 때문에 중요합니다.
OUTSIDE에게 중요한 질문은 단순히 언어 모델이 텍스트를 생성할 수 있는지 여부가 아니었습니다. 그 능력이 사용자의 프라이버시를 존중하면서 실제 활동을 장려할 수 있느냐 하는 것이었습니다.
오픈 웨이트(open-weight) 모델을 사용한 덕분에, 호스팅된 추론 서비스(hosted inference service)를 통해 집중적인 애플리케이션에 통합될 수 있는 유능한 언어 모델에 접근할 수 있었습니다.
이러한 조합은 자체 대규모 모델 인프라를 구축하거나 유지하지 않고도 개인화된 야외 임무로 실험하는 것을 가능하게 했습니다.
Open innovation은 또한 이러한 종류의 애플리케이션을 확장하기 쉽게 만듭니다. 개발자들은 하드웨어, 지연 시간(latency), 비용, 프라이버시 요구 사항에 따라 대체 오픈 웨이트 모델, 다른 추론 제공업체, 또는 궁극적으로 로컬 추론을 탐색할 수 있습니다.
프라이버시 우선 아키텍처 역시 동등하게 중요합니다. OUTSIDE는 가치를 제공하기 위해 계정 시스템, 행동 프로필, 또는 과거 활동 데이터베이스가 필요하지 않습니다.
이는 AI 애플리케이션의 다른 방향성을 보여줍니다:
- 지속적인 소비(consumption) 대신 행동을 장려하는 AI.
- 영구적인 사용자 프로필이 필요하지 않은 개인화.
- 절차적 폴백(procedural fallback)을 통해 지속될 수 있는 유용한 경험.
- 사람들이 주변 환경과 재연결하도록 돕기 위해 설계된 기술.
Open innovation은 단순히 모델을 제공하는 것만을 의미하지 않습니다. 개발자들에게 소프트웨어가 무엇에 최적화되어야 하는지 다시 생각할 자유를 주는 것도 포함합니다.
이 경우, 목표는 더 많은 참여(engagement), 더 많은 세션, 또는 애플리케이션 내의 더 많은 시간이 아닙니다.
바로 야외에서 보내는 시간입니다.
🌿 OUTSIDE — 스크롤링은 줄이고, 탐험을 늘리다.
Next.js, TypeScript, Tailwind CSS, Groq, 그리고 LLaMA 3.3 70B Versatile로 구축되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기