Todo App
A famous To-Do list app, implemented in TypeScript.
React, Node.js, and Prisma β wired together with auth, jobs, and deployment built in. Ship in a day and own every line.Designed for humans, works beautifully with AI.
1import { app, page, query, route } from "@wasp.sh/spec";2import { MainPage } from "./src/MainPage" with { type: "ref" };3import { getTasks } from "./src/tasks" with { type: "ref" };45export default app({6 wasp: { version: "^0.24.0" },7 title: "ToDo App",8 auth: { // Full-stack auth out-of-the-box.9 userEntity: "User",10 methods: { google: {}, gitHub: {}, email: {} },11 onAuthFailedRedirectTo: "/login"12 },13 spec: [14 route("RootRoute", "/", page(MainPage, {15 authRequired: true16 })),17 query(getTasks, {18 entities: ["Task"] // Automatic cache invalidation.19 })20 ]21});
1import { getTasks, useQuery } from "wasp/client/operations";23export function MainPage() {4 const { data: tasks } = useQuery(getTasks);56 return (7 <div>8 <h1>Tasks</h1>9 {tasks?.map(task => (10 <div key={task.id}>{task.description}</div>11 ))}12 </div>13 );14}
1import { type GetTasks } from "wasp/server/operations";2import { HttpError } from "wasp/server";3import { Task } from "wasp/entities";45export const getTasks: GetTasks<void, Task[]> = async (6 _args,7 context8) => {9 if (!context.user) throw new HttpError(401);1011 return context.entities.Task.findMany({12 where: { user: { id: context.user.id } },13 orderBy: { id: "desc" },14 });15};
1model User {2 id Int @id @default(autoincrement())3 email String @unique4 tasks Task[]5}67model Task {8 id Int @id @default(autoincrement())9 description String10 isDone Boolean @default(false)11 user User @relation(fields: [userId], references: [id])12 userId Int13}
A uniquely powerful config layer serves as a backbone that connects all parts of the stack - frontend, backend, database, and deployment.
Like Rails and Laravel, focus on your app, not your framework. Auth, jobs, email, deploy and much more built in.
Open source, no lock-in. No third-party provider or cloud platform dependency. Host anywhere.
Instead of wiring everything yourself, Wasp gives you a cohesive set of full-stack features so you can focus on what makes your app unique.
Reference implementations to learn from, fork, or deploy. Each one shows a complete Wasp app. Read the code, run it locally, ship it your way.
A famous To-Do list app, implemented in TypeScript.
Generate cover letters based on your CV and the job description. Powered by ChatGPT.
A Trello-style kanban board with lists, draggable cards, and user auth.
Live apps the community built and shipped on top of Wasp, running in production today.

AI writing platform with workspaces for novels, blogs, essays, and notes.
visit site β
Connect brands with micro-influencers to run marketing campaigns.
visit site β
AI-powered search engine for product teams, with keyword precision plus semantic understanding.
visit site βReal builders, real apps, real conversations. Drop into Discord to ask questions, share what you're working on, or just hang out.
Wasp is as game-changing for me as React has been many years back. Its simplicity, and how well [it] captures most full-stack engineering tasks is pure genius. I believe Wasp will become the #1 web technology in just a couple years. It has everything that most web devs are looking for.
Given a simple main.wasp.ts configuration file that describes the high-level details of your web app, and .js(x)/.css/..., source files with your unique logic, Wasp compiler generates the full source of your web app in the target stack: front-end, back-end and deployment.
This unique approach is what makes Wasp "smart" and gives it its super powers!
Declaratively describe high-level details of your app.
All the handy commands at your fingertips.
You are still writing 90% of the code in your favorite technologies.
Write only the code that matters, let Wasp handle the rest.

Be the first to know when we ship new features and updates!
Work on Wasp never stops:Β get a glimpseΒ of what is coming next!
For anything not covered here, joinΒ our Discord!