Building a Personal API / 나만의 API 만들기

개인용 API를 만든다고 하면 보통 메모, 할 일, 일정 같은 데이터를 저장하고 조회하는 CRUD API를 떠올리게 된다. 하지만 조금 다르게 생각해보면, 개인용 API는 단순한 데이터 저장소를 넘어 개인 운영체제처럼 설계할 수 있다.

여기서 말하는 개인 운영체제 API는 내 생각, 할 일, 일정, 자료를 하나의 구조 안에서 연결하고, 필요할 때 자동화하거나 다른 도구와 연동할 수 있는 개인용 시스템이다.

이 구조의 핵심 리소스는 크게 네 가지다.

memories

memories는 내가 기억해야 할 생각, 기록, 결정, 선호, 회고, 지식이 쌓이는 공간이다.

단순한 메모와 비슷해 보일 수 있지만, 역할은 조금 다르다. 메모가 “적어두는 것”에 가깝다면, memory는 나중에 다시 찾고 연결하기 위한 의미 단위에 가깝다.

예를 들어 이런 내용이 하나의 memory가 될 수 있다.

개인용 API는 단순 CRUD API가 아니라 개인 운영체제 API처럼 설계한다.

memory가 중요한 이유는 다른 리소스와 연결될 때 더 분명해진다. 어떤 생각에서 실행할 일이 생기면 task로 이어질 수 있고, 참고 자료를 읽고 얻은 핵심 내용은 memory로 저장될 수 있다.

즉, memories는 개인 운영체제 API에서 의미를 담당하는 레이어다.

tasks

tasks는 실행해야 할 일을 관리하는 리소스다.

할 일은 단순히 제목과 완료 여부만으로 끝나지 않는다. 어떤 생각에서 나온 일인지, 어떤 자료를 참고해야 하는지, 언제까지 해야 하는지 같은 맥락을 함께 가질 수 있다.

예를 들어 이런 흐름이 가능하다.

memory: 개인 운영체제 API 구조를 정리해야 한다.
task: 개인 운영체제 API의 핵심 리소스 정리하기

이렇게 하면 “이 할 일을 왜 만들었는지”를 나중에 추적할 수 있다.

task는 memory, resource, event와 연결될 때 더 유용해진다. memory에서 task가 파생될 수 있고, resource를 기반으로 task가 만들어질 수 있으며, task에 시간이 배정되면 event로 이어질 수 있다.

즉, tasks는 개인 운영체제 API에서 실행을 담당하는 레이어다.

events

events는 시간이 정해진 일을 다룬다.

회의, 약속, 집중 시간, 마감 일정처럼 특정 시간에 발생하는 항목이 여기에 해당한다.

tasksevents는 비슷해 보이지만 성격이 다르다.

task  = 해야 할 일
event = 시간이 정해진 일

예를 들어 “블로그 글 작성하기”는 task이고, “토요일 오후 2시에 블로그 글 작성하기”는 event에 가깝다.

task가 실행해야 할 행동이라면, event는 그 행동이나 사건이 실제 시간 위에 배치된 형태다. 어떤 task는 event로 연결될 수 있고, 반대로 어떤 event가 끝난 뒤에는 회의록이나 회고 형태의 memory가 남을 수 있다.

즉, events는 개인 운영체제 API에서 시간을 담당하는 레이어다.

resources

resources는 외부에서 들어온 자료를 다룬다.

파일, 링크, 문서, 이미지, 이메일, 이슈처럼 내가 참고하거나 활용해야 하는 원본 데이터가 여기에 해당한다.

resource는 그대로 저장해두는 것에서 끝나지 않는다. 어떤 문서를 읽고 핵심 내용을 memory로 남길 수 있고, 그 안에서 실행해야 할 일이 발견되면 task로 이어질 수 있다.

resource: 업로드한 문서
memory: 문서에서 추출한 핵심 내용
task: 문서를 바탕으로 해야 할 일

이 관점에서 resource는 원본이고, memory는 그 원본에서 추출한 의미다.

즉, resources는 개인 운영체제 API에서 외부 자료와 원본 데이터를 담당하는 레이어다.

네 가지 리소스의 관계

이 구조를 간단히 정리하면 다음과 같다.

memories  = 내가 알고 있는 것
tasks     = 내가 해야 하는 것
events    = 시간이 정해진 것
resources = 외부에서 가져온 것

중요한 점은 이 네 가지가 따로 존재하는 것이 아니라 서로 연결된다는 점이다.

예를 들어 문서를 업로드하면 그것은 resource가 된다. 그 문서에서 중요한 내용을 뽑아 memory로 저장할 수 있다. memory에서 실행할 일이 생기면 task가 된다. task에 시간이 배정되면 event가 된다. event가 끝난 뒤에는 결과나 회고가 다시 memory로 남을 수 있다.

resource → memory → task → event → memory

이 흐름이 만들어지면 개인 API는 단순한 저장소가 아니라 생각과 행동을 연결하는 시스템이 된다.

memories는 의미를 저장하고, tasks는 실행을 만들고, events는 시간을 배정하고, resources는 외부 자료를 연결한다.

결국 개인 운영체제 API의 핵심은 데이터를 많이 저장하는 것이 아니라, 데이터 사이의 관계를 잘 만드는 것이다. 내가 예전에 어떤 생각을 했는지, 그 생각에서 어떤 할 일이 나왔는지, 관련 자료는 어디에 있는지, 언제 실행할 것인지를 하나의 흐름으로 다룰 수 있다면, 그것은 단순한 개인용 API를 넘어 내 데이터와 행동을 연결하는 개인용 실행 시스템이 된다.