Flatend: 프론트엔드와 백엔드 경계를 없애는 새로운 제안
Flatend는 제가 새롭게 제안하는 개념으로, 프론트엔드와 백엔드의 인위적인 분리를 벗어나 하나의 모듈 그래프에서 함수·뷰·잡 단위로 실행하는 방식을 담고 있어요. 특히 AI와 결합할 때, 더 큰 잠재력을 발휘할 수 있다고 생각해요.

📌 한 줄 요약
Flatend는 제가 새롭게 제안하는 개념으로, 프론트엔드와 백엔드의 인위적인 분리를 벗어나 하나의 모듈 그래프에서 함수·뷰·잡 단위로 실행하는 방식을 담고 있어요. 특히 AI와 결합할 때, 더 큰 잠재력을 발휘할 수 있다고 생각해요.
🤔 왜 굳이 프론트와 백을 나눠야 할까?
우리는 오랫동안 이렇게 개발해왔어요.
- Frontend → 화면과 상호작용 담당
- Backend → API와 DB 담당
하지만 최근 들어 이 구분이 점점 불편해지고 있죠.
- 클라우드와 엣지 컴퓨팅이 보편화되고,
- 서버리스 환경이 늘어나며,
- 작은 팀이 빠르게 실험해야 하는 요구가 커지고,
- 데이터 권한 관리도 훨씬 복잡해지고 있어요.
이런 상황에서 저는 자연스럽게 이런 질문을 떠올렸습니다.
👉 “이제는 프론트와 백을 굳이 나눌 필요가 없는 건 아닐까?”
🏗️ 제가 제안하는 Flatend 개념
그래서 떠올린 개념이 바로 Flatend예요.
Flatend는 하나의 모듈 그래프에서 애플리케이션을 함수(Function), 뷰(View), 잡(Job) 단위로 쪼개서 정의합니다. 실행 위치는 place()와 capability로 선언해두고, 실제 배치는 런타임이 알아서 결정하는 방식이에요.
Flatend의 원칙은 네 가지로 요약할 수 있어요.
- Capability First → 권한 없으면 빌드 불가
- Schema as Contract → 데이터 계약은 스키마로 관리
- Data at the Edge → 필요한 데이터만 최소 권한으로 노출
- Observability Built-in → 실행 단위마다 관측성 내장
아직 존재하지 않는 방식이지만, 이런 구조가 앞으로의 개발 방식에 새로운 가능성을 열 수 있다고 생각해요.
⚙️ 런타임 모델과 데이터 접근
제가 구상한 Flatend는 네 가지 실행 환경을 전제로 합니다.
- 브라우저
- 엣지
- 서버
- 워커
데이터 접근도 기존처럼 무제한 쿼리가 아니라, 정책 기반으로 이뤄집니다.
- RLS(Row-Level Security)
- safeView (읽기 전용 뷰)
- Command (명령 단위 접근)
그리고 가장 중요한 점은, capability 선언이 없으면 코드가 빌드조차 되지 않는다는 거예요.
이 덕분에 흔히 나오는 “풀스택 스파게티” 우려를 줄일 수 있다고 생각해요.
🤖 Flatend와 AI의 접점
Flatend는 GPT 같은 AI와 결합할 때 더 큰 의미를 갖습니다.
- 작은 함수 단위 + 선언적 권한 구조는 AI가 오케스트레이션하기에 이상적이고,
- 스키마 기반 계약은 환각을 줄이며 자동화의 신뢰성을 높여줍니다.
place()를 통해 AI가 실행 위치(브라우저, 엣지, 서버)를 상황에 맞게 선택할 수 있습니다.
예를 들어 사용자가 “내 워치리스트에 테슬라 추가해줘”라고 하면,
LLM → addWatch() 호출 → DB 갱신 → 워커 잡 실행
이런 흐름이 자연스럽게 일어날 수 있는 거죠.
👩💻 개발자 경험과 팀 운영 변화
Flatend가 현실화된다면 개발자와 팀의 일하는 방식도 바뀔 거예요.
- DX: 한 레포에서 UI, 도메인 로직, 잡, AI까지 다룸
- 협업 구조: Frontend/Backend → Usecase Owner 중심 전환
- 운영: 함수/잡 단위 배포, 빠른 롤백, 자동 관측
특히 작은 팀이 SaaS를 개발할 때는 폭발적인 생산성을 가져올 수 있다고 믿습니다.
⚠️ 가능성과 한계
물론 이건 제안 단계의 아이디어라서 분명 한계도 있어요.
Flatend가 유리한 경우
- 스타트업, SaaS
- 내부 툴, 대시보드
- 협업 툴, 빠른 실험
Flatend가 주의해야 할 부분
- 데이터 과노출 위험
- 장기 잡은 엣지에서 실행 불가
- 특정 모델/플랫폼에 락인될 위험
- 복잡한 번들 관리
즉, “만능”은 아니지만 맞는 상황에서 쓰면 매우 강력하다는 거예요.
🚀 미래 전망: 제안의 의미
제가 제안하는 Flatend + AI 조합은 결국 이런 비전을 향합니다.
👉 “개발자는 함수와 정책만 정의한다. 나머지는 런타임과 AI가 자동으로 오케스트레이션한다.”
아직은 제 머릿속의 제안일 뿐이지만, 언젠가 이런 패러다임이 현실화될 수 있다고 믿습니다.
마지막으로 여러분께 질문을 남기고 싶습니다.
- 여러분 팀에서 FE/BE 경계는 여전히 유효한가요?
- 만약 AI가 코드 실행 위치까지 자동으로 선택해준다면, 여러분은 어떻게 활용하시겠나요?
👉 CTA: “Flatend라는 발상을, 지금 팀의 작은 프로젝트에서 한 번 실험해보는 건 어떨까요?”