Helping an online edtech ship their MVP for a creative writing platform

Role: Full stack developerYear: 2022
Shakespeers landing hero
Client
Speakeasy
Country
United States of America
Team
Solo
Platform
Web (landing page and app)
Services provided
Full stack development
Industry
EdTech
Tech stack
React, RedwoodJS, TypeScript, GraphQL, AWS Lambda, PostgreSQL, Prisma, Clerk, Stripe, Vercel

About the product

ShakesPeers is an EdTech platform designed to help children between 10 and 13 write, read, and engage with stories in a moderated online community. It was founded by Elizabeth Slavitt, who previously worked at McKinsey & Company and led teams at Khan Academy building educational content and learning tools. Her work in education earned her a place on the Forbes 30 Under 30 list in Education in 2014.

Elizabeth reached out to me as a Full-stack Developer to build the product quickly and efficiently. The target was ambitious: take the product from concept to its first production release in three months.

Story reading feed

What I was asked to build

The product had to serve four very different personas — types of people with their own goals and access in the product — while keeping the experience simple for children and controlled for parents and moderators.

VisitorsDiscover the product, pricing, and FAQs before signing up.
ParentsManage subscriptions, child accounts, and access to content.
ChildrenWrite, read, search, react, submit, and report content.
ModeratorsReview reports and respond to content requiring attention.

That scope meant the MVP was more than a content platform. It combined account management, subscriptions, writing, discovery, reporting, moderation, notifications, and multiple permission boundaries into one product.

The constraints

SpeedThe first production release had to be ready in three months, so unnecessary infrastructure work had to be avoided.
SafetyThe audience was children, which made reporting, moderation, access control, and content rules part of the core product.
ScopeA broad MVP had to cover four personas, writing, subscriptions, authentication, and the supporting backend.

These constraints shaped the technical approach. The objective was not to build every piece of infrastructure ourselves, but to decide where custom engineering created value and where an established solution could get the product to production faster.

Build where the product is unique. Adopt where the problem is already solved.That principle became the common thread behind the main technology decisions.

Engineering decisions

1. Choosing the full-stack foundation

The first architectural decision was how to build the application itself. I needed a React-based frontend, backend functionality, GraphQL, database access, and a deployment model that could move quickly enough for a three-month MVP.

Three-month MVPFrontend and backend needed to move together.
Evaluate the application foundationReact + Express, Next.js, Remix, and RedwoodJS were considered.
RedwoodJSReact, GraphQL, Prisma, and serverless APIs in one full-stack framework.
Assemble the stack
  • React + Express, Next.js, or Remix as starting points
  • More flexibility around individual layer choices
  • More infrastructure to assemble and coordinate
  • Slower path for a solo three-month MVP
RedwoodJS
  • React, GraphQL, Prisma, and serverless APIs together
  • Predictable full-stack structure out of the box
  • Less infrastructure to assemble before shipping
  • Better fit for a fast solo MVP timeline
Decision: RedwoodJSIt provided React, GraphQL, Prisma, and serverless APIs in a predictable structure, reducing the amount of infrastructure that needed to be assembled before product development could move at full speed.

The value was less about using a particular framework and more about reducing coordination overhead. With a solo full-stack MVP, having the major application layers live within one opinionated structure made the quickest path to production also a practical one.

2. Building the writing experience

Writing was the central interaction in ShakesPeers. A plain text box would not provide enough structure for longer stories, but building a rich-text editor from scratch would have consumed a disproportionate amount of the MVP timeline.

Writing experienceStories needed structure and formatting beyond plain text.
Build vs adoptBuilding an editor offered control but introduced a large implementation surface.
Compare established editorsTipTap, Quill, TinyMCE, Slate, and CKEditor were considered.
CKEditorProvided a polished writing experience without requiring editor infrastructure to be rebuilt.
Build an editor internally
  • Maximum control
  • Significant implementation effort
  • More edge cases to own and maintain
  • Poor fit for a three-month MVP
Use an established editor
  • Faster path to a usable writing experience
  • Mature formatting behavior
  • Less infrastructure to maintain
  • More time available for the product experience
Decision: CKEditorCKEditor gave the product a polished editor quickly enough to keep the focus on the storytelling experience rather than recreating the underlying editor.

The editor became the writing surface for children's stories, giving them structured formatting while keeping the experience much closer to a familiar writing tool than a plain text field.

Story editor
3. Getting authentication out of the way

Authentication was required from the beginning because parents, children, and moderators had different levels of access. At the same time, authentication itself was not the product's differentiator.

Multiple persona typesDifferent accounts and protected workflows from day one.
Build authentication vs use a providerControl and ownership had to be weighed against MVP speed and maintenance.
ClerkFast path to established authentication infrastructure.
Build internally
  • Complete control over implementation
  • More security-sensitive infrastructure to own
  • More edge cases and maintenance
  • Slower path to the MVP
Use Clerk
  • Fast integration
  • Established authentication flows
  • Less infrastructure to maintain
  • Better aligned with an early-stage MVP timeline
Decision: ClerkFor an early-stage product, I preferred to use an established authentication provider rather than spend the limited MVP timeline building authentication infrastructure that was not a differentiating part of ShakesPeers.

Safety as a product workflow

Because children were creating and sharing content, moderation could not be treated as a secondary administrative feature. It had to be part of the product flow itself.

Child creates or reads contentWriting, submission, discovery, and reactions.
ReportA child can flag content that feels inappropriate.
Blacklist detectionWords and emojis can trigger moderator attention.
Normal flowContent continues through the regular product experience.
Moderator reviewModerators receive alerts and review content requiring attention.

Moderators had access to the blacklist and alert automations, while parents and children could submit reports and suggestions without accessing moderation controls. AWS SNS was used to notify moderators when moderation required attention.

Moderator reports view

Resulting architecture

The individual choices were driven by the same constraint: reduce infrastructure work where an established solution was already strong, and reserve custom engineering for the product's own workflows.

ShakesPeersProduct experience across visitors, parents, children, and moderators.
RedwoodJSReact application, GraphQL, Prisma, and serverless backend structure.
ClerkAuthentication and protected user workflows.
CKEditorStructured writing experience for children's stories.
PostgreSQL + PrismaConnected data across users, stories, subscriptions, and moderation.
StripeParent checkout and recurring subscriptions.
AWS / Vercel / GitHub ActionsServerless infrastructure and automated delivery.

What was shipped

Visitors could discover the product, review FAQs and pricing, and register as parents through Stripe checkout. Parents could create child accounts, send invitation emails, manage subscriptions, and browse content.

Parent dashboard with child accounts

Children received their own writing and reading space, with daily prompts, a seven-day submission workflow, topic search, emoji reactions, and reporting. Image uploads were deliberately left out to keep the experience clean and reduce privacy risk.

Writing submission flow

Moderators could review reported content and receive automated alerts when blacklist rules or new reports required attention.

Outcome

The first production release shipped in three months, taking ShakesPeers from concept to a working full-stack product across four distinct persona experiences.

The result was a production MVP that combined writing, subscriptions, authentication, content discovery, reporting, and moderation without requiring the core infrastructure behind each capability to be built from scratch.

Testimonials

Elizabeth Slavitt
Elizabeth SlavittFounder/CEO @ Speakeasy

It's been such a pleasure working with Parmeet. We've been impressed by the quality of his code, his communicativeness, his work ethic, and his passion for making the product intuitive and delightful. We'd recommend him enthusiastically to others and hope to work together again in the future.

Isaac Durand
Isaac DurandLead engineer @ Speakeasy

We brought Parmeet onto our team to accelerate development of a new product, and he definitely delivered. Parmeet immediately took ownership over all the stories we assigned to him, thinking carefully about the user experience and ensuring that the components he built would function well on both desktop and mobile. He was also an excellent collaborator, eager to share ideas for how we could improve the product and receptive to feedback on his work. Thanks to Parmeet, our MVP release was smooth and on schedule. We will definitely keep him in mind for future projects!

Let's bring your nextbig idea to life

Whether you're brainstorming ideas, looking to bolster capabilities, rapidly expanding your team, or delegating projects, count on us to meet your needs effectively any or every step of the way

Available for new engagements