海山.dev

Development Studio Web · SaaS · Back-office · Automation

Built tight, shipped fast, made to last — for small teams that need to move.

마케팅 사이트 / 랜딩

Web Development

Marketing sites, landing pages, company sites. Built on Next.js. SEO, performance, accessibility — handled from day one.

SaaS Products

Auth, billing, multi-tenancy, dashboards. From MVP to a system you can run for years.

단순함이 먼저
필요해질 때까지 추가하지 않습니다. 코드는 적을수록 살아남습니다.
도구는 보수적으로
최신보다 검증된 것을. 5년 뒤에도 굴러갈 스택을 고릅니다.
운영을 염두에 둡니다
로그, 모니터링, 롤백. 만든 다음의 시간이 더 깁니다.
타입은 진실의 원천
런타임에서 발견할 일을 컴파일에서 잡습니다.
의도를 코드로
주석은 '왜'를 설명할 때만. '무엇'은 코드가 말해야 합니다.
성능은 기능입니다
느린 사이트는 사용자에게 거짓말을 합니다.
접근성은 기본
키보드, 스크린리더, 색대비. 설계 단계에서 챙깁니다.
보안은 처음부터
OWASP Top 10. 출시 직전에 떠올리는 일이 아닙니다.
단순함이 먼저
필요해질 때까지 추가하지 않습니다. 코드는 적을수록 살아남습니다.
도구는 보수적으로
최신보다 검증된 것을. 5년 뒤에도 굴러갈 스택을 고릅니다.
운영을 염두에 둡니다
로그, 모니터링, 롤백. 만든 다음의 시간이 더 깁니다.
타입은 진실의 원천
런타임에서 발견할 일을 컴파일에서 잡습니다.
의도를 코드로
주석은 '왜'를 설명할 때만. '무엇'은 코드가 말해야 합니다.
성능은 기능입니다
느린 사이트는 사용자에게 거짓말을 합니다.
접근성은 기본
키보드, 스크린리더, 색대비. 설계 단계에서 챙깁니다.
보안은 처음부터
OWASP Top 10. 출시 직전에 떠올리는 일이 아닙니다.
단순함이 먼저
필요해질 때까지 추가하지 않습니다. 코드는 적을수록 살아남습니다.
도구는 보수적으로
최신보다 검증된 것을. 5년 뒤에도 굴러갈 스택을 고릅니다.
운영을 염두에 둡니다
로그, 모니터링, 롤백. 만든 다음의 시간이 더 깁니다.
타입은 진실의 원천
런타임에서 발견할 일을 컴파일에서 잡습니다.
의도를 코드로
주석은 '왜'를 설명할 때만. '무엇'은 코드가 말해야 합니다.
성능은 기능입니다
느린 사이트는 사용자에게 거짓말을 합니다.
접근성은 기본
키보드, 스크린리더, 색대비. 설계 단계에서 챙깁니다.
보안은 처음부터
OWASP Top 10. 출시 직전에 떠올리는 일이 아닙니다.
단순함이 먼저
필요해질 때까지 추가하지 않습니다. 코드는 적을수록 살아남습니다.
도구는 보수적으로
최신보다 검증된 것을. 5년 뒤에도 굴러갈 스택을 고릅니다.
운영을 염두에 둡니다
로그, 모니터링, 롤백. 만든 다음의 시간이 더 깁니다.
타입은 진실의 원천
런타임에서 발견할 일을 컴파일에서 잡습니다.
의도를 코드로
주석은 '왜'를 설명할 때만. '무엇'은 코드가 말해야 합니다.
성능은 기능입니다
느린 사이트는 사용자에게 거짓말을 합니다.
접근성은 기본
키보드, 스크린리더, 색대비. 설계 단계에서 챙깁니다.
보안은 처음부터
OWASP Top 10. 출시 직전에 떠올리는 일이 아닙니다.

Back-office

Admin tools your ops team will actually use. Data model, permissions, audit logs — done right.

$ cron · daily 09:00
→ fetch reports
→ summarize via llm
→ post to slack
✓ done in 1.4s

Automation

Turn repetitive work into code. Cron, workflows, AI agents — give people their time back.

Design

From pixel to code

Brand tone, interfaces, interactions — every surface a user touches, in one flow.

Brand identity

Tone, color, typography — a first impression that stays.

UI / UX

Every screen earns its place. Designed with the user's next action in mind.

Motion

Animation only when it carries meaning.

Tech Stack

Tools chosen to last.

TypeScript logo
TypeScript
React logo
React
Next.js logo
Next.js
Tailwind CSS logo
Tailwind CSS
Vue logo
Vue
Nuxt logo
Nuxt
Astro logo
Astro
Node.js logo
Node.js
NestJS logo
NestJS
Hono logo
Hono
PostgreSQL logo
PostgreSQL
Supabase logo
Supabase
Prisma logo
Prisma
Drizzle logo
Drizzle
Redis logo
Redis
TypeScript logo
TypeScript
React logo
React
Next.js logo
Next.js
Tailwind CSS logo
Tailwind CSS
Vue logo
Vue
Nuxt logo
Nuxt
Astro logo
Astro
Node.js logo
Node.js
NestJS logo
NestJS
Hono logo
Hono
PostgreSQL logo
PostgreSQL
Supabase logo
Supabase
Prisma logo
Prisma
Drizzle logo
Drizzle
Redis logo
Redis
TypeScript logo
TypeScript
React logo
React
Next.js logo
Next.js
Tailwind CSS logo
Tailwind CSS
Vue logo
Vue
Nuxt logo
Nuxt
Astro logo
Astro
Node.js logo
Node.js
NestJS logo
NestJS
Hono logo
Hono
PostgreSQL logo
PostgreSQL
Supabase logo
Supabase
Prisma logo
Prisma
Drizzle logo
Drizzle
Redis logo
Redis
TypeScript logo
TypeScript
React logo
React
Next.js logo
Next.js
Tailwind CSS logo
Tailwind CSS
Vue logo
Vue
Nuxt logo
Nuxt
Astro logo
Astro
Node.js logo
Node.js
NestJS logo
NestJS
Hono logo
Hono
PostgreSQL logo
PostgreSQL
Supabase logo
Supabase
Prisma logo
Prisma
Drizzle logo
Drizzle
Redis logo
Redis
Git logo
Git
GitHub logo
GitHub
Docker logo
Docker
Vercel logo
Vercel
Cloudflare logo
Cloudflare
Sentry logo
Sentry
Stripe logo
Stripe
Figma logo
Figma
Git logo
Git
GitHub logo
GitHub
Docker logo
Docker
Vercel logo
Vercel
Cloudflare logo
Cloudflare
Sentry logo
Sentry
Stripe logo
Stripe
Figma logo
Figma
Git logo
Git
GitHub logo
GitHub
Docker logo
Docker
Vercel logo
Vercel
Cloudflare logo
Cloudflare
Sentry logo
Sentry
Stripe logo
Stripe
Figma logo
Figma
Git logo
Git
GitHub logo
GitHub
Docker logo
Docker
Vercel logo
Vercel
Cloudflare logo
Cloudflare
Sentry logo
Sentry
Stripe logo
Stripe
Figma logo
Figma

I strive to pay attention to the smallest details

Some Recent Projects

Selected Work That Delivers Results

Law firm landing page
Coming soon

Law firm landing page

Web Design
Internal back-office
Coming soon

Internal back-office

Back-office

Got a project in mind? Let's build it.

From early ideas to live products — start with a casual message.

Testimonials

기획부터 운영까지 한 사람이 책임지니 회의가 줄고 결정이 빨라졌어요.
김지은·IT 스타트업 대표
MVP 출시까지 6주, 그 뒤 운영도 안정적이었습니다.
박상훈·핀테크 PO
Figma 시안만 던졌는데 픽셀 단위로 떨어진 결과물이 왔습니다.
최은영·패션 브랜드 운영
백오피스를 직접 만들어 쓰던 시간이 절반으로 줄었습니다. 운영팀이 가장 좋아해요.
이도현·커머스 운영팀장
기획부터 운영까지 한 사람이 책임지니 회의가 줄고 결정이 빨라졌어요.
김지은·IT 스타트업 대표
MVP 출시까지 6주, 그 뒤 운영도 안정적이었습니다.
박상훈·핀테크 PO
Figma 시안만 던졌는데 픽셀 단위로 떨어진 결과물이 왔습니다.
최은영·패션 브랜드 운영
백오피스를 직접 만들어 쓰던 시간이 절반으로 줄었습니다. 운영팀이 가장 좋아해요.
이도현·커머스 운영팀장
기획부터 운영까지 한 사람이 책임지니 회의가 줄고 결정이 빨라졌어요.
김지은·IT 스타트업 대표
MVP 출시까지 6주, 그 뒤 운영도 안정적이었습니다.
박상훈·핀테크 PO
Figma 시안만 던졌는데 픽셀 단위로 떨어진 결과물이 왔습니다.
최은영·패션 브랜드 운영
백오피스를 직접 만들어 쓰던 시간이 절반으로 줄었습니다. 운영팀이 가장 좋아해요.
이도현·커머스 운영팀장
기획부터 운영까지 한 사람이 책임지니 회의가 줄고 결정이 빨라졌어요.
김지은·IT 스타트업 대표
MVP 출시까지 6주, 그 뒤 운영도 안정적이었습니다.
박상훈·핀테크 PO
Figma 시안만 던졌는데 픽셀 단위로 떨어진 결과물이 왔습니다.
최은영·패션 브랜드 운영
백오피스를 직접 만들어 쓰던 시간이 절반으로 줄었습니다. 운영팀이 가장 좋아해요.
이도현·커머스 운영팀장
자동화 스크립트 하나로 매달 40시간 들던 작업이 사라졌습니다.
정유진·마케팅 매니저
작은 변경에 빠르게 대응해 주셔서 좋았어요. 큰 에이전시와 일할 때와는 달랐습니다.
한승우·부동산 SaaS 창업자
코드 품질이 높아 인계 후 사내 개발자가 무리없이 이어받았습니다.
윤하늘·CTO
야근 없이 끝내고 싶었던 프로젝트를 야근 없이 끝냈습니다.
강민수·시리즈 A 스타트업 CEO
자동화 스크립트 하나로 매달 40시간 들던 작업이 사라졌습니다.
정유진·마케팅 매니저
작은 변경에 빠르게 대응해 주셔서 좋았어요. 큰 에이전시와 일할 때와는 달랐습니다.
한승우·부동산 SaaS 창업자
코드 품질이 높아 인계 후 사내 개발자가 무리없이 이어받았습니다.
윤하늘·CTO
야근 없이 끝내고 싶었던 프로젝트를 야근 없이 끝냈습니다.
강민수·시리즈 A 스타트업 CEO
자동화 스크립트 하나로 매달 40시간 들던 작업이 사라졌습니다.
정유진·마케팅 매니저
작은 변경에 빠르게 대응해 주셔서 좋았어요. 큰 에이전시와 일할 때와는 달랐습니다.
한승우·부동산 SaaS 창업자
코드 품질이 높아 인계 후 사내 개발자가 무리없이 이어받았습니다.
윤하늘·CTO
야근 없이 끝내고 싶었던 프로젝트를 야근 없이 끝냈습니다.
강민수·시리즈 A 스타트업 CEO
자동화 스크립트 하나로 매달 40시간 들던 작업이 사라졌습니다.
정유진·마케팅 매니저
작은 변경에 빠르게 대응해 주셔서 좋았어요. 큰 에이전시와 일할 때와는 달랐습니다.
한승우·부동산 SaaS 창업자
코드 품질이 높아 인계 후 사내 개발자가 무리없이 이어받았습니다.
윤하늘·CTO
야근 없이 끝내고 싶었던 프로젝트를 야근 없이 끝냈습니다.
강민수·시리즈 A 스타트업 CEO

Latest Writing