DEV Community

Dchool
Dchool

Posted on

πŸš€ 50DaysTo1K β€” Day 1 Laying the Foundation for Lanorx

Hey everyone πŸ‘‹

I’m Dchool β€” solo dev, indie hacker, and builder of Lanorx,

a tool that helps makers validate their ideas before they build.

Today marks Day 1 of my #50DaysTo1K challenge β€”

building Lanorx from scratch, shipping fast, and aiming for $1,000 MRR in 50 days.


πŸ’­ The Goal

Every indie hacker knows the struggle of building something

without knowing if anyone actually wants it.

Lanorx is my attempt to solve that β€”

to make idea validation effortless and automatic.

No templates. No endless setup.

Just input β†’ launch β†’ validate.


🧱 What I Built Today

Today was all about foundation β€”

no visuals, no fancy UI β€” just building a rock-solid base to move fast later.

Here’s what got done πŸ‘‡

βš™οΈ Core Setup

  • Bootstrapped Next.js (App Router) + TypeScript
  • Configured strict ESLint / Prettier setup
  • Added Mantine (UI) and Emotion (SSR caching)

🧩 Database & ORM

  • Designed and migrated full Prisma schema
    • Projects, Emails, Events, and AccessKeys models
  • Connected to PlanetScale (MySQL) successfully
  • Implemented Prisma Client singleton with HMR-safe logic

πŸ” Validation & Utilities

  • Wrote Zod schemas for project creation, email submission, and dashboard access
  • Built slug generator and Access ID util (Base62 + regex validation)
  • Added CSV export util for dashboard downloads (RFC4180 compliant)

🎨 Shared Components

  • Created base components: Button, Input, Card, and Stack
  • Added design tokens (tokens.css) and Mantine theme overrides
  • Everything styled with CSS Modules for full control β€” no Tailwind.

πŸ”§ Server Action Prototype

  • Implemented createProjectAction:
    • Validates input (Zod)
    • Checks duplicate slugs
    • Creates Project + AccessKey in MySQL

This means β€” starting tomorrow β€”

I can actually create new projects and generate landing pages dynamically.


🧭 What’s Next (Day 2 Plan)

Tomorrow’s focus:

Building the full MVP validation loop.

Here’s the goal:

1️⃣ /create β€” Input your idea and instantly create a landing page

2️⃣ /land/[project_name] β€” Visitors can submit their email

3️⃣ /dashboard/[access_id] β€” See collected data and conversion metrics

By the end of Day 2, a user should be able to:

Create β†’ Share β†’ Collect β†’ Analyze β€” all inside Lanorx.

If that works, Lanorx officially becomes a working product.


🧠 Reflection

Day 1 wasn’t flashy.

It was architecture, structure, and groundwork β€”

the invisible stuff that makes fast iteration possible.

The difference between an app that collapses after launch

and one that scales smoothly often comes down to what you build first.

So I didn’t rush the UI.

I built the skeleton that’ll hold everything up.

β€œBefore you can validate your idea,

you have to validate your system for building ideas.”


πŸ“ Follow the Journey

I’ll post daily progress on Twitter/X β†’ @D_chool

and deeper weekly reflections here on Dev.to.

This is Day 1 of 50.

Tomorrow β€” we make Lanorx real.


🧠 Hashtags

buildinpublic #50DaysTo1K #indiehackers #SaaS #NextJS #TypeScript #Prisma #Mantine #SoloFounder #webdev

Top comments (0)