Markly Writing
Inspiration
- Markly Writing helps students build structured, repeatable writing habits through rubric-driven feedback and short practice cycles. The product is currently student-first, focused on helping learners improve through targeted practice and clear feedback.
What it does
- Guides students through scaffolded writing tasks with explicit structure prompts.
- Evaluates submissions against teacher-authored rubrics and returns targeted, actionable feedback instead of opaque scores.
- Supports a student-first writing workflow centered on practice, feedback, and improvement.
How we built it
- Frontend: Next.js with React App Router and server-side rendering for fast lesson and dashboard pages.
- Backend: NestJS API with Prisma for Postgres, background workers for scoring and PDF generation, and Firebase for auth where needed.
- Integrations: rubric-driven scoring, PDF/report generation, email notifications, lightweight analytics, and migration/seed scripts.
- Dev workflow: pnpm monorepo with TypeScript end to end and utility scripts for local development, migrations, and seeding.
Challenges we ran into
- Modeling rubrics so teachers could author flexible criteria without breaking scoring logic.
- Mixing Firebase on the server and client required lazy initialization to avoid SSR credential leaks.
- Scaling background scoring and report generation while keeping the teacher experience responsive.
- Migrating real classroom data safely and building reliable seeding tools.
Accomplishments that we're proud of
- A student-first writing experience that focuses on clear, actionable improvement.
- Reduced teacher grading time through automated, rubric-aligned feedback.
- End-to-end integration across scoring, progress tracking, and classroom exports.
- Practical dev tooling for migrations, seeding, and local development.
What we learned
- Teachers respond better to rubric-language feedback and actionable next steps than raw scores.
- Lazy auth initialization is essential when mixing SSR and client bundles.
- Early investment in migration tooling prevents fragile manual fixes later.
- Small automation, like batch scoring and seed data, delivers outsized productivity gains.
What's next for Markly Writing
- Add adaptive learning paths that generate follow-up exercises based on rubric weakness.
- Improve scoring transparency with explainable feedback snippets and exemplar comparisons.
- Expand the student experience with more guided practice and clearer next-step feedback.
- Polish the core workflow with faster iteration loops and better writing support.
Built With
- canvas-confetti
- class-transformer
- class-validator
- class-variance-authority
- cloud-run
- clsx
- eslint
- fastify
- fastify-multipart
- firebase
- firebase-admin
- firebase-app-hosting
- google-cloud-compute-engine
- google-cloud-firewall
- gsap
- jsonrepair
- logtail
- lucide-react
- nest-common
- nest-config
- nest-core
- nest-platform-express
- nest-platform-fastify
- nest-schedule
- nest-throttler
- nestjs
- next-js
- next-themes
- node-fetch
- openai
- pdf-parse
- pg
- pnpm
- postgresql
- prisma
- prisma-adapter-pg
- prisma-client
- radix-ui
- react
- react-query
- recharts
- reflect-metadata
- rxjs
- shadcn-ui
- sonner
- stripe
- systemd
- tailwind-css
- tailwind-merge
- typescript
- ubuntu
- vercel
- zustand
Log in or sign up for Devpost to join the conversation.