{
  "site": {
    "name": "Ishaan Bedi",
    "email": "hi@ishaanbedi.com",
    "location": "Dublin, Ireland",
    "timezone": "Europe/Dublin",
    "timeLocale": "en-US",
    "url": "https://www.ishaanbedi.com",
    "ogImage": "/og.png",
    "favicon": "/ib.svg"
  },
  "seo": {
    "title": "Ishaan Bedi | Product Engineer in Dublin, Ireland",
    "description": "Ishaan Bedi is a product engineer in Dublin, Ireland. Portfolio of iOS, macOS and web projects, including Bretho, Woyage, Wonders and Voyager.",
    "keywords": [
      "Ishaan Bedi",
      "product engineer",
      "software developer",
      "web developer",
      "iOS developer",
      "Dublin",
      "portfolio",
      "projects",
      "Bretho",
      "Woyage",
      "Wonders",
      "Voyager",
      "Gemino",
      "Chipify"
    ],
    "author": "Ishaan Bedi",
    "twitterSite": "@ishnbedi",
    "twitterCreator": "@ishnbedi",
    "locale": "en_US",
    "type": "profile",
    "siteName": "Ishaan Bedi",
    "robots": "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",
    "ogImageWidth": "1200",
    "ogImageHeight": "630",
    "themeColor": "#fafafa",
    "themeColorDark": "#0a0a0a",
    "ogAlt": "Ishaan Bedi, product engineer in Dublin, Ireland",
    "googleVerification": "",
    "bingVerification": "",
    "givenName": "Ishaan",
    "familyName": "Bedi",
    "username": "ishaanbedi",
    "summary": "Product engineer in Dublin, Ireland, building small, plain, useful software. Builds Bretho, a breathing app loved by thousands of people around the world."
  },
  "structuredData": {
    "jobTitle": "Product Engineer",
    "addressLocality": "Dublin",
    "addressCountry": "Ireland",
    "alternateNames": [
      "Ishaan",
      "ishaanbedi",
      "ishnbedi"
    ],
    "knowsAbout": [
      "Product engineering",
      "Swift",
      "SwiftUI",
      "iOS development",
      "macOS development",
      "TypeScript",
      "React",
      "Next.js"
    ],
    "sameAsExtra": [
      "https://ishaanbedi.hashnode.dev"
    ]
  },
  "document": {
    "language": "en",
    "formatDetection": "telephone=no"
  },
  "projects": [
    {
      "year": "2024",
      "name": "Structured Web",
      "description": "A daily planner for the bigger screen.",
      "category": "Web",
      "tech": [
        "React",
        "TypeScript"
      ],
      "links": {
        "website": "https://web.structured.app/"
      },
      "imagePublicId": "images/structured"
    },
    {
      "year": "2025",
      "name": "Bretho",
      "description": "A simple breathing app for iOS.",
      "category": "iOS",
      "why": "Started as a small personal tool, built to be plain and useful without unnecessary complexity. I continue to improve it.",
      "challenges": "Precise timing, pause, resume and live updates in Swift took careful work. I also learned which breathing techniques are supported by research.",
      "tech": [
        "Swift",
        "SwiftUI",
        "Swift Data"
      ],
      "links": {
        "appStore": "https://apple.co/3DNnXHA",
        "website": "https://www.bretho.app/?ref=ishaanbedi.com"
      },
      "imagePublicId": "images/bretho"
    },
    {
      "year": "2024",
      "name": "Woyage",
      "description": "Simple traffic analytics for websites.",
      "category": "Web",
      "why": "Originally called Supalytics, built for a Supabase hackathon, where it did not win. A small tool for website traffic that does the job.",
      "challenges": "Keeping user data private, following the rules and filtering out junk traffic.",
      "tech": [
        "Next.js",
        "Supabase",
        "Vercel"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/woyage",
        "website": "https://woyage.app"
      },
      "imagePublicId": "images/woyage"
    },
    {
      "year": "2023",
      "name": "Wonders",
      "description": "An iOS app for exploring world wonders on a map.",
      "category": "iOS",
      "why": "Built while learning MapKit, as an enjoyable project that also proved useful.",
      "challenges": "MapKit has a steep initial learning curve. Once I understood it, the rest of the app came together smoothly.",
      "tech": [
        "SwiftUI",
        "MapKit"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/Wonders/"
      },
      "imagePublicId": "images/wonders"
    },
    {
      "year": "2023",
      "name": "Voyager",
      "description": "A free, lightweight API client for macOS.",
      "category": "macOS",
      "why": "A lightweight macOS app for quick endpoint checks, without the overhead of larger tools. I wanted something I would use myself.",
      "challenges": "The platform, its UI patterns and request handling took longer than expected.",
      "tech": [
        "SwiftUI",
        "Alamofire"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/voyager",
        "support": "mailto:voyager@ishn.dev"
      },
      "imagePublicId": "images/voyager"
    },
    {
      "year": "2023",
      "name": "Gemino",
      "description": "An open-source AI language learning app.",
      "category": "Web",
      "why": "Built for a hackathon and won it. I was learning German at the time. It was shut down after Outerbase changed what it offered, but I remain proud of it.",
      "challenges": "Leaderboards, a large German dictionary that stayed fast, and a custom AI layer that felt personal.",
      "tech": [
        "Next.js",
        "OpenAI",
        "Outerbase",
        "Supabase"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/gemino"
      },
      "imagePublicId": "images/gemino"
    },
    {
      "year": "2022",
      "name": "Chipify",
      "description": "An accepted WWDC Swift Student Challenge submission.",
      "category": "iOS",
      "why": "Built while learning SwiftUI, as an entry to the WWDC Swift Student Challenge. It was accepted, and the experience was life changing.",
      "challenges": "Learning SwiftUI from scratch on a deadline.",
      "tech": [
        "SwiftUI"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/chipify"
      },
      "imagePublicId": "images/chipify"
    },
    {
      "featured": false,
      "year": "2026",
      "name": "k8 YAML Init",
      "description": "Live Kubernetes YAML for Deployments, Services and Ingresses.",
      "category": "Web",
      "tech": [
        "HTML",
        "CSS",
        "JavaScript"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/k8-yaml-init",
        "website": "https://k8-yaml-init.ishn.dev/"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "Vision Calculator",
      "description": "A visionOS calculator.",
      "category": "visionOS",
      "tech": [
        "Swift",
        "SwiftUI",
        "visionOS"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/Vision-Calculator"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "YOLOv3 Demo",
      "description": "Live camera object detection with YOLOv3 and Core ML.",
      "category": "iOS",
      "tech": [
        "Swift",
        "SwiftUI",
        "Core ML"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/YOLOv3Demo"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "SDNotes",
      "description": "A notes app showing SwiftData persistence with SwiftUI.",
      "category": "iOS",
      "tech": [
        "Swift",
        "SwiftData",
        "SwiftUI"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/SDNotes"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "WebFetch",
      "description": "A Swift package for fetching data from an API, swiftly.",
      "category": "Swift",
      "tech": [
        "Swift",
        "Swift Package Manager"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/WebFetch"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "ish.ninja",
      "description": "Free ish.ninja sub handles for Bluesky accounts.",
      "category": "Web",
      "status": "Archived",
      "tech": [
        "TypeScript",
        "AT Protocol"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/ish.ninja"
      }
    },
    {
      "featured": false,
      "year": "2023",
      "name": "webnotes",
      "description": "Simple Markdown note taking, with sharing.",
      "category": "Web",
      "tech": [
        "Next.js",
        "TypeScript",
        "Tailwind",
        "Xata"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/webnotes",
        "website": "https://webnotes.vercel.app/"
      }
    },
    {
      "featured": false,
      "year": "2022",
      "name": "swiflicense",
      "description": "A command line tool that generates software licenses.",
      "category": "CLI",
      "tech": [
        "Swift",
        "Swift Package Manager"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/swiflicense",
        "website": "https://ishaanbedi.github.io/swiflicense/"
      }
    },
    {
      "featured": false,
      "year": "2022",
      "name": "oghub",
      "description": "Instant cover images for GitHub projects.",
      "category": "Web",
      "tech": [
        "Next.js",
        "Satori",
        "Tailwind"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/oghub",
        "website": "https://oghub.vercel.app/"
      }
    },
    {
      "featured": false,
      "year": "2022",
      "name": "ishn.xyz",
      "description": "A fast, free link shortener.",
      "category": "Web",
      "status": "Archived",
      "tech": [
        "Next.js",
        "Tailwind",
        "Xata",
        "NextAuth.js"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/ishn.xyz"
      }
    },
    {
      "show": false,
      "year": "2022",
      "name": "Secrets",
      "description": "Share sensitive info without leaving it in chat.",
      "category": "Web",
      "why": "I needed to send a key to a friend and didn't want it sitting in a chat forever. Built this out of curiosity. Still works great.",
      "tech": [
        "Next.js",
        "Xata"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/secrets",
        "website": "https://secrets-ishn.vercel.app"
      }
    },
    {
      "show": false,
      "year": "2022",
      "name": "Supatype",
      "description": "A typing test, in the spirit of Monkeytype.",
      "category": "Web",
      "why": "I like Monkeytype, so I made a small version of my own and wired a few tools together along the way.",
      "tech": [
        "Next.js",
        "Supabase",
        "Vercel"
      ],
      "links": {
        "github": "https://github.com/ishaanbedi/supatype",
        "website": "https://supatype.vercel.app/"
      }
    }
  ],
  "contact": [
    {
      "platform": "GitHub",
      "handle": "ishaanbedi",
      "url": "https://github.com/ishaanbedi"
    },
    {
      "platform": "Twitter/X",
      "handle": "ishnbedi",
      "url": "https://twitter.com/ishnbedi"
    }
  ],
  "copy": {
    "home": {
      "aboutLabel": "About",
      "projectsLabel": "Projects",
      "contactLabel": "Get in touch",
      "emailLabel": "Email",
      "copyEmailLabel": "Copy",
      "copiedEmailLabel": "Email address copied",
      "copyEmailError": "Could not copy the email address",
      "paragraphs": [
        "Hello, my name is Ishaan. I am a product engineer based in Dublin, Ireland.",
        "In my free time, I work on [Bretho](https://www.bretho.app/?ref=ishaanbedi.com), a breathing app loved by thousands of people around the world. You can read more [about me](/me/) and [about the site](/about/)."
      ],
      "moreProjects": "More projects",
      "projectsCaption": "Projects, newest first",
      "colProject": "Project",
      "colWhat": "Description",
      "colYear": "Year",
      "closeContact": "Close contact details",
      "copiedLabel": "Copied"
    },
    "projectModal": {
      "close": "Close",
      "closeDetails": "Close {name} details",
      "whyBuilt": "Motivation",
      "whatWasHard": "Challenges",
      "builtWith": "Stack",
      "links": "Links",
      "appStore": "App Store",
      "github": "GitHub",
      "website": "Website",
      "support": "Support",
      "screenshot": "{name} screenshot",
      "status": "Status"
    },
    "common": {
      "skip": "Skip to content",
      "escKey": "Esc",
      "ctrlKey": "Ctrl"
    },
    "llms": {
      "projects": "Projects",
      "elsewhere": "Elsewhere",
      "email": "Email",
      "about": "About",
      "aboutSite": "About site",
      "optional": "Optional"
    },
    "footer": {
      "timeLabel": "Local time",
      "navLabel": "Site"
    },
    "about": {
      "title": "About site",
      "seoTitle": "About site | Ishaan Bedi",
      "description": "How ishaanbedi.com is made: hosted on Vercel, set in Geist, with images hosted on Cloudinary.",
      "path": "/about/",
      "intro": [
        "A small corner of the internet for my projects and a little about me.",
        "I kept it simple, so it's easy to read."
      ],
      "specs": [
        { "label": "Hosting", "value": "[Vercel](https://vercel.com)" },
        { "label": "Domain", "value": "Registered with [Porkbun](https://porkbun.com), managed by Vercel" },
        { "label": "Images", "value": "Hosted and optimized by [Cloudinary](https://cloudinary.com)" },
        { "label": "Content", "value": "All content comes from one [data.json](/data.json) file" },
        { "label": "Typeface", "value": "[Geist Sans](https://vercel.com/font?type=sans) and [Geist Mono](https://vercel.com/font?type=mono)" },
        { "label": "Analytics", "value": "[PostHog](https://posthog.com), anonymous by default" }
      ],
      "updatedLabel": "Last updated"
    },
    "me": {
      "title": "About me",
      "seoTitle": "About Ishaan Bedi | Product Engineer in Dublin",
      "description": "About Ishaan Bedi: born and brought up in New Delhi, India, now living in Dublin, Ireland and studying Computer Science at UCD.",
      "path": "/me/",
      "points": [
        {
          "title": "Background",
          "items": [
            "I was born and brought up in %%New Delhi, India|in%%.",
            "I now live in %%Dublin, Ireland|ie%%.",
            "I'm studying Computer Science at [UCD](https://www.ucd.ie)."
          ]
        },
        {
          "title": "Work",
          "items": [
            "I mostly work with web technologies for a living.",
            "In my free time, I build [Bretho](https://www.bretho.app/?ref=ishaanbedi.com), a breathing app."
          ]
        },
        {
          "title": "What I love",
          "items": [
            "Music and ^^music production|I'm still learning.^^",
            "Aviation and [plane spotting](https://en.wikipedia.org/wiki/Aircraft_spotting)",
            "Travel"
          ]
        },
        {
          "title": "Elsewhere",
          "items": [
            "My code is on [GitHub](https://github.com/ishaanbedi).",
            "I (rarely) post on [Twitter/X](https://twitter.com/ishnbedi).",
            "My email is [hi@ishaanbedi.com](mailto:hi@ishaanbedi.com)."
          ]
        }
      ]
    },
    "palette": {
      "trigger": "Menu",
      "label": "Command menu",
      "placeholder": "Type a command or search",
      "empty": "No results",
      "navigate": "Go to",
      "theme": "Theme",
      "systemTheme": "System",
      "lightTheme": "Light",
      "darkTheme": "Dark",
      "themeKeywords": "theme appearance mode",
      "hintNavigate": "Navigate",
      "hintSelect": "Select",
      "hintClose": "Close",
      "home": "Home",
      "contact": "Contact me"
    },
    "easter": {
      "word": "Dublin, Ireland",
      "alt": "Baile Átha Cliath"
    },
    "projects": {
      "title": "Projects",
      "description": "Projects by Ishaan Bedi, a product engineer in Dublin: iOS, macOS and web apps including Bretho, Woyage, Wonders, Voyager and Gemino.",
      "path": "/projects/",
      "seoTitle": "Projects by Ishaan Bedi, Product Engineer"
    },
    "notFound": {
      "title": "Page not found",
      "description": "This page does not exist.",
      "message": "This page doesn't exist.",
      "note": "The link may be broken, or the page may have moved.",
      "home": "Go home"
    },
    "voyager": {
      "privacy": {
        "title": "Voyager Privacy",
        "seoDescription": "How Voyager handles your data.",
        "description": "Short version: your data stays on your Mac.",
        "collectLabel": "What Voyager collects",
        "collectText": "Nothing. Voyager doesn't collect, store or send any personal info.",
        "questionsLabel": "Questions",
        "questionText": "If anything's unclear, email me:",
        "email": "voyager@ishn.dev",
        "emailSubject": "Voyager Privacy"
      },
      "support": {
        "title": "Voyager Support",
        "seoDescription": "Need help with Voyager? Get in touch.",
        "description": "Stuck, have a question, or found a bug? Reach out.",
        "contactLabel": "Contact",
        "contactText": "Email me at:",
        "email": "voyager@ishn.dev"
      }
    }
  },
  "cloudinary": {
    "baseUrl": "https://res.cloudinary.com",
    "cloudName": "ishaan",
    "transformations": "f_auto,q_auto,w_1120"
  },
  "permanentRedirects": [
    { "source": "/home", "destination": "/" },
    { "source": "/resume", "destination": "/resume.pdf" },
    { "source": "/blog", "destination": "/" },
    { "source": "/blog/:slug", "destination": "/" },
    { "source": "/structured-web", "destination": "/projects" },
    { "source": "/wonders", "destination": "/projects/wonders" },
    { "source": "/voyager", "destination": "/projects/voyager" },
    { "source": "/gemino", "destination": "/projects/gemino" },
    { "source": "/chipify", "destination": "/projects/chipify" }
  ],
  "redirects": [
    {
      "slug": "ucd",
      "destination": "https://www.ucd.ie"
    },
    {
      "slug": "twitter",
      "destination": "https://twitter.com/ishnbedi"
    },
    {
      "slug": "github",
      "destination": "https://github.com/ishaanbedi"
    },
    {
      "slug": "structured",
      "destination": "https://web.structured.app/"
    },
    {
      "slug": "bretho",
      "destination": "https://www.bretho.app/?ref=ishaanbedi.com"
    },
    {
      "slug": "bretho-appstore",
      "destination": "https://apple.co/3DNnXHA"
    },
    {
      "slug": "woyage",
      "destination": "https://woyage.app"
    },
    {
      "slug": "github-woyage",
      "destination": "https://github.com/ishaanbedi/woyage"
    },
    {
      "slug": "github-wonders",
      "destination": "https://github.com/ishaanbedi/Wonders/"
    },
    {
      "slug": "github-voyager",
      "destination": "https://github.com/ishaanbedi/voyager"
    },
    {
      "slug": "github-gemino",
      "destination": "https://github.com/ishaanbedi/gemino"
    },
    {
      "slug": "secrets",
      "destination": "https://secrets-ishn.vercel.app"
    },
    {
      "slug": "github-secrets",
      "destination": "https://github.com/ishaanbedi/secrets"
    },
    {
      "slug": "supatype",
      "destination": "https://supatype.vercel.app/"
    },
    {
      "slug": "github-supatype",
      "destination": "https://github.com/ishaanbedi/supatype"
    },
    {
      "slug": "github-chipify",
      "destination": "https://github.com/ishaanbedi/chipify"
    }
  ]
}
