From Idea to Tool in 48 Hours: The Neorgon Build Process

How we ship new tools fast: a repeatable 48-hour process from idea validation to deployment, documentation, and hub registration.

Why 48 Hours?

We tried building tools over weeks. They died. Feature creep, perfectionism, loss of momentum.

48 hours is the sweet spot:

  • Short enough to maintain urgency
  • Long enough to ship something useful
  • Natural deadline (weekend project)

๐Ÿ’ก The Philosophy

A tool that exists is infinitely more valuable than a perfect tool that doesn't.

Friday: Validation & Setup

6:00 PM - 7:00 PM (Hour 1): Idea Validation

Test if the idea is worth building at all.

Questions to answer:

  • โ“ Does this solve a real problem I've experienced?
  • โ“ Would I use this tool weekly?
  • โ“ Can it be built in 48 hours?
  • โ“ Does it fit Neorgon's "no paywall, no signup" philosophy?

Decision: If 3+ answers are "yes", proceed. Otherwise, abandon.

7:00 PM - 8:00 PM (Hour 2): Template Setup
cp -r _template/app new-tool-site
cd new-tool-site
python3 -m http.server 8800  # Start dev server
8:00 PM - 10:00 PM (Hours 3-4): Core Functionality

Build the minimum viable product. Ignore:

  • โŒ Animations
  • โŒ Settings/preferences
  • โŒ Advanced features
  • โŒ Perfect styling

Focus: The single feature that makes the tool useful.

Saturday: Polish & Integration

9:00 AM - 12:00 PM (Hours 5-7): Styling & UX
  • Apply glassmorphism styles
  • Add basic hover effects
  • Ensure mobile works
  • Test keyboard navigation
12:00 PM - 1:00 PM (Hour 8): Lunch & Assets

Generate OG image in OG Studio

Create favicon.ico

Design tool icon

1:00 PM - 4:00 PM (Hours 9-11): Hub Integration
# Add card to neorgon-site/index.html
# Update category in js/search.js
# Add preview to js/previews.js
git add .
git commit -m "Add new-tool card"
4:00 PM - 6:00 PM (Hours 12-13): SEO & Meta
  • OG meta tags (title, description, image)
  • JSON-LD schema markup
  • Canonical URL
  • Twitter Card tags

Sunday: Testing & Deployment

9:00 AM - 11:00 AM (Hours 14-15): Testing

Accessibility Test:

  • Enable prefers-reduced-motion (macOS Settings โ†’ Accessibility)
  • Navigate with keyboard only
  • Test with VoiceOver
  • Check color contrast with WebAIM

Performance Test:

  • Lighthouse audit (target: 95+ performance)
  • 3G network simulation
  • Mobile viewport testing
11:00 AM - 12:00 PM (Hour 16): Documentation

Create minimal README.md:

  • What the tool does (one sentence)
  • How to run locally
  • Live URL
  • Screenshot
12:00 PM - 1:00 PM (Hour 17): Deployment

Push to GitHub Pages:

git add .
git commit -m "Initial release: new-tool-site"
git push origin main
gh-pages -d .  # Deploy to GitHub Pages
1:00 PM - 2:00 PM (Hour 18): Hub Registration

Add to neorgon-site:

  • Create HTML card with correct accent color
  • Add to search.js categories
  • Test search/filter

Hour 48: The Launch

๐Ÿš€ Launch Checklist

โœ… Tool deployed and accessible
โœ… Hub card added and working
โœ… Search finds the tool
โœ… OG image generated
โœ… Analytics tracking (Plausible)
โœ… Lighthouse score โ‰ฅ 95
โœ… Mobile responsive
โœ… README created
โœ… Social post drafted

Ship it. Take a photo. Move on.

What We Don't Do

โŒ Skip These (They Don't Matter at Launch)

  • E2E Tests: Manual testing is faster for 48-hour tools
  • Unit Tests: Not worth it for 500-line apps
  • CI/CD: git push is our CI
  • TypeScript: Vanilla JS is faster to write
  • Feature Flags: Ship finished features only
  • Analytics Dashboard: Plausible is configured automatically
  • User Accounts: Goes against "no signup" philosophy

Real Example: Building Anatomy Site

We built anatomy.neorgon.com (UI component learning tool) using this exact process:

Timeline
  • Friday 7 PM: Idea - "I keep forgetting UI component names"
  • Friday 8 PM: Copied _template/app, created wireframe mockup
  • Friday 10 PM: Hover detection working, showing component names
  • Saturday 9 AM: Added 50+ components to data file
  • Saturday 2 PM: Generated OG image
  • Saturday 4 PM: Added to neorgon hub
  • Saturday 6 PM: Tested on mobile, fixed touch events
  • Sunday 11 AM: Created README with examples
  • Sunday 1 PM: Deployed to GitHub Pages
  • Sunday 2 PM: Tweeted link

๐ŸŽฏ Result

2,100 lines of code. 48 hours total. 1,200 users in first week.

Zero bugs reported in first month.

Common Pitfalls

โŒ Pitfall 1: Perfectionism

Symptom: Spending 3 hours on a button animation.

Fix: Set a timer. 30 minutes max per feature.

โŒ Pitfall 2: Scope Creep

Symptom: "Wouldn't it be cool if it also had AI features?"

Fix: Write the scope on a sticky note. If it's not on the note, it doesn't exist.

โŒ Pitfall 3: Testing Everything

Symptom: 6 hours writing tests for 400 lines of code.

Fix: Manual testing is sufficient for 48-hour tools.

โŒ Pitfall 4: Deployment Drama

Symptom: "It works locally but breaks in production."

Fix: Test production deploys on staging branches first.

What Makes This Work

โœ… 5 Rules for 48-Hour Tools

  1. Scope = One Feature
    "Timezone converter" not "Project management platform"
  2. No Database
    localStorage or static files only
  3. No Backend
    Frontend-only or serverless functions
  4. Copy-Paste Liberally
    Duplication is faster than abstraction
  5. Ship Ugly, Refactor Later
    Published tools get improved; unpublished tools don't

The Numbers

After 18 tools built this way:

Stats
  • 17/18 tools shipped on time (94% success rate)
  • Average build time: 18.2 hours
  • Average lines of code: 1,847
  • Bugs found in first week: 2.1 average
  • Tools abandoned after launch: 0
  • Tools extracted to standalone repos: 3

Your Turn

This blog post took 48 hours to write. Here's the template:

๐Ÿ“ 48-Hour Tool Template

# _template/app Structure
โ”œโ”€โ”€ index.html          # Title, meta, script tags
โ”œโ”€โ”€ css/
โ”‚   โ””โ”€โ”€ style.css       # Glassmorphism styles
โ””โ”€โ”€ js/
    โ”œโ”€โ”€ app.js          # Main entry (import everything)
    โ”œโ”€โ”€ state.js        # Mutable state object
    โ”œโ”€โ”€ render.js       # DOM rendering
    โ”œโ”€โ”€ events.js       # Click handlers, etc.
    โ””โ”€โ”€ utils.js        # Helper functions

# Launch checklist
โœ… Local dev server working
โœ… Core feature functional
โœ… Mobile responsive
โœ… OG image created
โœ… Added to hub
โœ… README written
โœ… Deployed to GitHub Pages
โœ… Shared on social media

Start the timer. Build something weird.