diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..3722418 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["next/core-web-vitals", "next/typescript"] +} diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..98aa741 --- /dev/null +++ b/app/globals.css @@ -0,0 +1,21 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + color-scheme: light; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: var(--font-inter), sans-serif; + background: #f7f4ef; + color: #151515; +} + +.font-serif { + font-family: var(--font-cormorant), Georgia, serif; +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..d638e2a --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,39 @@ +import type { Metadata } from 'next'; +import { Inter, Cormorant_Garamond } from 'next/font/google'; +import './globals.css'; + +const inter = Inter({ + subsets: ['latin'], + variable: '--font-inter', + display: 'swap' +}); + +const cormorant = Cormorant_Garamond({ + subsets: ['latin'], + variable: '--font-cormorant', + display: 'swap' +}); + +export const metadata: Metadata = { + title: 'Strategic Writing Editor | Premium Strategic Editing Service', + description: + 'Strategic editing for writers with ambitious ideas. Improve structure, clarity, and persuasion in 24–72 hours.', + openGraph: { + title: 'Strategic Writing Editor', + description: + 'Make your ideas read as clearly as you think them. Premium strategic editing for idea-driven writers.', + type: 'website' + } +}; + +export default function RootLayout({ + children +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..3568a22 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,5 @@ +import LandingPage from '@/components/landing-page'; + +export default function Home() { + return ; +} diff --git a/components/landing-page.tsx b/components/landing-page.tsx new file mode 100644 index 0000000..e413d44 --- /dev/null +++ b/components/landing-page.tsx @@ -0,0 +1,221 @@ +'use client'; + +import { motion } from 'framer-motion'; +import { ArrowRight, Check, FileText, PenLine, Sparkles } from 'lucide-react'; + +const sectionMotion = { + initial: { opacity: 0, y: 26 }, + whileInView: { opacity: 1, y: 0 }, + viewport: { once: true, amount: 0.25 }, + transition: { duration: 0.7, ease: 'easeOut' } +}; + +const sectionClass = 'mx-auto max-w-6xl px-6 py-20 md:px-12 md:py-28'; + +export default function LandingPage() { + return ( +
+
+
+ +
+ +
+ +

Premium strategic editing studio

+

+ Make Your Ideas Read as Clearly as You Think Them +

+

+ Strong ideas often get lost in weak drafts. Strategic editing strengthens structure, clarity, and + persuasion so the idea lands exactly as intended. +

+ +
+
+ + +
+

Positioning

+

Built for writers whose ideas deserve precision.

+

+ Every edit prioritizes clarity, structure, argument strength, and intellectual honesty. The goal is not to + decorate writing, but to sharpen thinking so readers can trust what they read. +

+
+
+ + +
+

What this service does

+

Strategic refinement, not surface edits.

+
+
+ {[ + ['Structure', 'The argument is organized so the piece flows logically from first sentence to final conclusion.'], + ['Clarity', 'Complex passages are simplified and sentence-level edits remove friction for the reader.'], + ['Persuasion', 'Core claims are reinforced so readers clearly understand why each idea matters.'] + ].map(([title, body]) => ( +
+

{title}

+

{body}

+
+ ))} +
+

+ This is not proofreading. This is strategic editing that improves thinking on the page. +

+
+ + +
+
+

What clients receive

+
    + {[ + 'Structural improvements to the argument', + 'Clarity edits throughout the piece', + 'Suggested rewrites for weak sections', + 'A clean, polished version ready to publish' + ].map((item) => ( +
  • + + {item} +
  • + ))} +
+
+
+

Turnaround

+

24–72 hours

+

Fast enough for your publishing cadence, careful enough for your reputation.

+
+
+
+ + +

Who this is for

+

For idea-driven writers building trust through clear thinking.

+
+ {['Newsletter writers', 'Founders writing essays', 'Analysts explaining complex ideas', 'Independent thinkers', 'Bitcoin and technology writers'].map((audience) => ( +
+ {audience} +
+ ))} +
+
+ + +

How it works

+
+ {[ + { icon: FileText, title: '1. Send a draft.', body: 'Share your essay, article, or newsletter draft.' }, + { icon: PenLine, title: '2. Strategic edit.', body: 'Structure, clarity, and argument quality are strengthened.' }, + { icon: Sparkles, title: '3. Receive final draft.', body: 'Get an edited version and a clean final copy to publish.' } + ].map(({ icon: Icon, title, body }) => ( +
+ +

{title}

+

{body}

+
+ ))} +
+
+ + +
+

Outcomes

+

Clients typically see writing that earns attention and holds it.

+
    + {[ + 'Clearer arguments', + 'Stronger essays', + 'Faster publishing', + 'Improved reader engagement', + 'Writing that reflects the strength of your ideas' + ].map((outcome) => ( +
  • + {outcome} +
  • + ))} +
+
+
+ + +
+

Founding client offer

+

Founding Client Package

+
    +
  • • Editing for 3 essays or articles
  • +
  • • Structural feedback
  • +
  • • Clarity edits
  • +
  • • Suggested rewrites
  • +
+
+
+

Price

+

$300 total

+

Limited to the first 5 clients.

+
+ + Apply for a Founding Client Spot + +
+
+
+ + +
+

Clear ideas deserve clear writing.

+

If your draft carries serious thinking, it should read with equal precision.

+ +
+
+ +
+
+
+

Strategic Writing Editor

+

Strategic editing for idea-driven writing.

+
+
+

hello@strategicwritingeditor.com

+

© {new Date().getFullYear()} Strategic Writing Editor

+
+
+
+ +
+ + Apply for Founding Client Spot + +
+
+ ); +} diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..40c3d68 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..7d08ffa --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true +}; + +export default nextConfig; diff --git a/package.json b/package.json new file mode 100644 index 0000000..34ec918 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "strategic-writing-editor", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "framer-motion": "^11.11.17", + "next": "14.2.20", + "react": "18.3.1", + "react-dom": "18.3.1", + "lucide-react": "^0.468.0" + }, + "devDependencies": { + "@types/node": "^22.9.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.1", + "eslint-config-next": "14.2.20", + "postcss": "^8.4.49", + "tailwindcss": "^3.4.15", + "typescript": "^5.6.3" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..ba80730 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..4037af4 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,30 @@ +import type { Config } from 'tailwindcss'; + +const config: Config = { + content: [ + './pages/**/*.{js,ts,jsx,tsx,mdx}', + './components/**/*.{js,ts,jsx,tsx,mdx}', + './app/**/*.{js,ts,jsx,tsx,mdx}' + ], + theme: { + extend: { + colors: { + background: '#f7f4ef', + foreground: '#151515', + muted: '#5f5d58', + line: '#dcd7cf', + accent: '#766756' + }, + fontFamily: { + sans: ['Inter', 'ui-sans-serif', 'system-ui', 'sans-serif'], + serif: ['"Cormorant Garamond"', 'ui-serif', 'Georgia', 'serif'] + }, + boxShadow: { + soft: '0 20px 60px rgba(26, 24, 20, 0.06)' + } + } + }, + plugins: [] +}; + +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4a468da --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": false, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [{ "name": "next" }], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}