The Lucern editor · macOS private beta

Make it work.
Know why
it works.

Build your code. Build your understanding.

The AI code editor that helps you inspect each change, learn beside your project, and practice what clicks.

Follow the light into your code

02 / Understanding has a path.

One question.
Follow it through.

Start with the line in front of you. Connect the calculation to the decision you're about to make.

  1. 01Ask in context
  2. 02Follow the value
  3. 03Understand the change
storefrontCode Learn · Practice
A question from your project

“Why does this $55 order
still charge shipping?”

TS checkout.ts totalDue
  1. const subtotal = sumItems(cart);
  2. const discount = discountFor(code, subtotal);
  3. const shipping = shippingFor(subtotal - discount);
Subtotal$55.00
Discount− $10.00
Shipping sees$45.00

The answer is in the calculation.
Follow the value, one line at a time.

Illustrative product walkthrough · no project connected

01 / 03The editor

Follow the value.

A customer asks why their $55 order still has a shipping charge. Follow the value through your own code, with an explanation beside the line that matters.

Lucern explains line 7 of checkout.ts: shipping is priced on the total after the discount, not on the subtotal.
CodeLearnPracticestorefront
checkout.tspricing.tscart.ts
  1. import { sumItems } from './cart';
  2. import { discountFor, shippingFor } from './pricing';
  3. export function totalDue(cart: Cart, code?: string) {
  4. const subtotal = sumItems(cart);
  5. const discount = discountFor(code, subtotal);
  6. const shipping = shippingFor(subtotal - discount);
  7. return subtotal - discount + shipping;
  8. }

Assistant

Why is this $55 order paying for shipping?

Follow the calculation in checkout.ts.

main · checkout.ts · TypeScript
Illustrative product walkthrough · storefront

02 / 03Review

One change. Fully understood.

Make orders of $50 or more ship free. Inspect the exact rule, trace an edge case, and decide what to keep. You stay responsible for the change.

The agent adds a free-shipping rule to shippingFor in pricing.ts: if (amount >= 50) return 0. Before you keep it, Lucern asks: an order of $55 uses a $10 code, does it ship free? You answer: no, shipping is priced on $45, after the discount, so it pays $5.99. That is right, and the change is kept.
CodeLearnPracticestorefront
checkout.tspricing.ts
  1. export function shippingFor(amount: number): number {
  2. return amount > 0 ? 5.99 : 0;
  3. }

Agent

Orders of $50 or more should ship free.

Plan: add a free-shipping rule to shippingFor in pricing.ts. One file.

Writing pricing.ts…

main · pricing.ts · TypeScript
Illustrative product walkthrough · storefront

03 / 03One editor

Code. Learn. Practice.

Learning happens in the same editor you build in, beside your code instead of in place of it.

  1. Work on your own project with an agent that shows its plan and its changes.
  2. Open a guided lesson in the sidebar, watch a short replay, then take over the keyboard.
  3. Try the idea on a fresh problem with real checks, then return to your project as you left it.
The same editor in three modes: your project in Code; in Learn, a lesson on pricing order with a short replay typed into lesson.ts; in Practice, a tax-after-discount challenge whose 3 checks pass; then a brief return to checkout.ts highlights the same discount-before-shipping pattern in your project.
storefront
checkout.tspricing.tscart.ts
  1. import { sumItems } from './cart';
  2. import { discountFor, shippingFor } from './pricing';
  3. export function totalDue(cart: Cart, code?: string) {
  4. const subtotal = sumItems(cart);
  5. const discount = discountFor(code, subtotal);
  6. const shipping = shippingFor(subtotal - discount);
  7. return subtotal - discount + shipping;
  8. }

Agent

Change kept in pricing.ts. Want a lesson on what it touched?

main · checkout.ts · TypeScript
Illustrative product walkthrough · storefront

Who it's for

Start where you are.
Go further with your code.

Your first project. Your next release. Your next unfamiliar stack. Choose your starting point.

YOUR WAY THROUGH / 01

“I built this. But why does it work?”

Build something real. Ask about the line in front of you, then try the idea yourself.

  1. 1Open your project
  2. 2Explain a line
  3. 3Try a small challenge
FROM THE STOREFRONT WALKTHROUGHconst shipping = shippingFor(subtotal - discount);

The discount comes off first. Shipping is calculated on what the customer actually pays.

A working project, and a reason behind every decision.

Before you join

A small beta.
A clear starting point.

For developers building real projects who want to understand the code they ship. Newer developers are welcome, too.

Built by Rahil Sheth. Questions or feedback? Email me.

Request an invitation
What am I signing up for?

A place on the private beta waitlist, rather than an immediate download. We will email you when an invitation is available. There is no payment at signup.

What is Lucern focused on?

Building with an agent, understanding proposed changes, and learning and practicing beside your project. The walkthrough above illustrates that workflow; it is not a live instance of the IDE or a guarantee that every interaction is available today.

Which computers will the beta support?

We are starting with macOS. Use a recent version of macOS; the exact operating system and hardware requirements will be included with the software. Windows and Linux access is not being offered on this waitlist.

Is the beta free, and when will I get access?

The private beta is free. Invitations will go out as space becomes available; we are not announcing a fixed access date. Pricing after the beta has not been announced.

Will this website access my code?

No repository connection or code upload is requested on this site. The code in the walkthrough is a sample storefront. The IDE’s code handling and AI provider details will be shared before you connect a project.

What happens to my email?

We store your email, optional build preference, and signup time to manage the waitlist. We use Resend to send welcome notes and beta invitations. A welcome note confirms your place on the list; it is separate from an invitation to access the beta. Read our website privacy notice for the details.

04 / Your next chapter · Private beta

Join the waitlist.

A free private beta, starting on macOS. Leave your email and we will send an invitation when there is a spot.

A little light. A clearer way forward.

A little guidance.
Then it’s your turn.