"I couldn't explain it to the freshmen. That means we don't really understand it." — Richard Feynman
Non-Tech Speak is an AI-powered platform designed to bridge the gap between technical complexity and simple understanding. Inspired by Richard Feynman's philosophy, it transforms dense technical jargon into relatable, context-aware analogies for various audiences—from a 5-year-old child to a busy CEO.
- Context-Aware Translations: Converts technical concepts into analogies tailored to specific personas (e.g., "Like a pizza delivery service" for APIs).
- Multi-Persona Support: Explanations for different audiences: 5-Year-Old, Grandmother, Non-Tech Manager, etc.
- Real-time Streaming: Instant feedback using AI streaming (Google Gemini 2.0 Flash).
- Social Learning: Public feed of popular translations, upvoting system, and shared wisdom.
- Atomic Design UI: Beautiful, consistent interface built with Shadcn UI and Tailwind CSS.
- Performance First: Built on Bun and ElysiaJS for maximum speed and low latency.
We prioritized speed, type safety, and modern developer experience.
The project follows a Monorepo-style hybrid architecture, separating the Next.js frontend from the Elysia backend logic while keeping them in the same codebase for cohesion.
.
├── app/ # Next.js App Router (Frontend)
│ ├── (auth)/ # Authentication routes
│ ├── (dashboard)/ # Protected dashboard & app core
│ ├── api/ # Next.js API routes (proxies)
│ └── page.tsx # Landing page
├── server/ # Content & Backend Logic (Elysia)
│ ├── routes/ # API Endpoints (Translation, History, etc.)
│ ├── db/ # Database Schema & Drizzle Config
│ └── services/ # Business logic & AI Integration
├── components/ # Atomic Design System
│ ├── atoms/ # Basic building blocks (Buttons, Inputs)
│ ├── molecules/ # Combinations (Search bars, Cards)
│ ├── organisms/ # Complex sections (Forms, Sidebars)
│ └── templates/ # Page layouts
├── public/ # Static Assets
└── lib/ # Shared UtilitiesFollow these steps to get the project running locally.
- Bun: This project uses Bun as the package manager and runtime.
- PostgreSQL: Ensure you have a Postgres instance running (or use Neon).
-
Clone the repository
git clone https://github.com/yourusername/non-tech-speak.git cd non-tech-speak -
Install dependencies
bun install
-
Set up Environment Variables Copy the example environment file and fill in your secrets.
cp .env.example .env.local
See
.env.examplefor the full list of required keys (Database, AI Keys, Auth Secrets). -
Initialize the Database
bun run db:generate bun run db:push
-
Run the Development Server
bun dev
Open http://localhost:3000 to see the app.
- Hybrid Architecture: We use Next.js for SEO and initial rendering, while heavy logic and AI streaming are handled by ElysiaJS. This gives us the best of both worlds: great SEO and raw API performance.
- Feynman Technique: The core of the app is built around the idea that "complexity is a mask for lack of understanding." The AI is prompted not just to translate, but to teach.
Contributions are welcome! Please run bunx biome check . before submitting a PR to ensure code quality.
This project is licensed under the MIT License.