Skip to content

zirkelc/lambda-readability

Repository files navigation

Lambda Readability

Lambda Readability is a Serverless Reader View to extract readable content from web pages using AWS Lambda, Chromium, and the Readability.js library.

For more information, read my article on DEV.to: Building a Serverless Reader View with Lambda and Chrome

Features

  • Serverless project built with AWS CDK
  • Runs a headless Chrome browser on AWS Lambda
  • Uses the Readability.js library to extract readable content from a web page
  • Simple REST API for requests
  • Frontend built with React, Tailwind, and Vite

Application

Visit zirkelc.github.io/lambda-readability and enter a URL for a website. Here are some examples:

Maker's Schedule, Manager's Schedule by Paul Graham.

Readability vs Original

Image description

Understanding AWS Lambda’s invoke throttling limits by Archana Srikanta on the AWS Compute Blog.

Readability vs Original

Image description

Advice for Junior Developers by Jeroen De Dauw on DEV.to

Readability vs Original

Image description

Development

Install dependencies from root:

npm install

Build and deploy backend with CDK:

cd backend
npm run build
npm run deploy

Note API URL from the outputs and retrieve the secret API key from the AWS console. Then add tehse values to vite.config.ts:

export default defineConfig(() => {
  process.env.VITE_API_URL = "https://...";
  process.env.VITE_API_KEY = "...";

  return {
    // ...
  };
});

Start frontend with Vite:

cd frontend
npm start

About

Reader View build with Lambda and Readability

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published