EpiCloud

2015 – 2021, Programmer/Consultant

Scaling School Operations with Bots

In 2014, Epic Charter Schools was on the verge of exponential growth and had already outgrown its initial, manual-based operations. With 1,500 students, the reliance on temporary staff for data entry created a constant backlog, forcing newly enrolled students to wait weeks for curriculum access and exposing the school to unacceptable security risks.

To eliminate the backlog and enable growth, I designed and built EpiCloud, a network of automated bots on Amazon Web Services (AWS). The system’s architecture was engineered for scalability, allowing the school to grow seamlessly to over 60,000 students. As word of the bots’ success spread and requests for additional automation multiplied, I assembled a team of developers to build bots that ultimately automated over 95% of the school’s data entry tasks. I built a custom command-line interface (CLI) to manage and monitor this complex network, which proved critical to its operational success.

In parallel, I addressed the security risks by implementing a new, school-wide single sign-on solution. This replaced the insecure practice of managing separate credentials, allowing teachers, students, and staff to securely access all school systems with just their single Google account.

Key Takeaway

The key to the project’s widespread adoption lay in a simple shift in language. Technical terms like ‘workflows’ or ‘background tasks’ were met with confusion. But the moment we framed the automation as ‘bots’, everyone understood. It provided a clear mental model: a bot could perform a human’s task, just faster and without errors. This empowered non-technical staff to become active partners in identifying new automation opportunities.

Languages (1)

Typescript

Typescript is a typed superset of JavaScript that compiles to plain JavaScript. It adds optional static typing to the language, allowing developers to use type annotations to catch errors early in the development process. It also provides features such as classes, modules, and interfaces that are not available in JavaScript. Typescript is designed to make it easier to write and maintain large-scale applications.

Databases (2)

BigQuery

BigQuery is a cloud-based, fully managed, serverless data warehouse that enables businesses to store, query, and analyze large datasets. It is a petabyte-scale data warehouse that can process up to 20,000 queries per second and is designed to scale with the growth of your business. BigQuery is integrated with Google Cloud Platform services, allowing users to easily access and analyze data from other Google services such as Google Ads, Google Analytics, and Google Cloud Storage. BigQuery also supports a wide range of data formats, including CSV, JSON, and Avro.

DynamoDB

Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. It is a serverless database that can automatically scale up or down to meet the needs of your application. DynamoDB offers a flexible data model, reliable performance, and automatic scaling of throughput capacity. It also provides encryption at rest, point-in-time recovery, and other features to help protect your data.

Tools (15)

Docker

Docker is an open-source platform for developing, shipping, and running applications. It uses container technology to package applications into isolated, lightweight, and portable containers that can be quickly deployed and moved between different computing environments. Docker also provides a set of tools and services to help developers build, ship, and run applications in a more efficient and secure way.

EC2

Amazon Elastic Compute Cloud (EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. EC2 allows users to launch virtual servers, called “instances”, which can be configured to their specific needs. EC2 also provides users with the ability to scale their computing resources up or down as needed, allowing them to pay only for the resources they use.

ECR

Amazon Elastic Container Registry (ECR) is a fully-managed Docker container registry that makes it easy to store, manage, and deploy Docker container images. It is secure, highly available, and scales automatically to meet the needs of your applications. ECR integrates with Amazon Elastic Container Service (ECS) and AWS Fargate, simplifying your development to production workflow. It also provides features such as image scanning, lifecycle policies, and IAM authentication.

ECS

Amazon Elastic Container Service (ECS) is a container orchestration service from Amazon Web Services (AWS) that enables users to easily deploy, manage, and scale containerized applications on AWS. It provides a secure and scalable platform for running Docker containers, allowing users to quickly and easily deploy and manage applications in the cloud. ECS also provides features such as automated container scaling, service discovery, and resource management.

Fargate

Fargate is an Amazon Web Services (AWS) technology that allows users to deploy and manage containers without having to manage the underlying infrastructure. It provides a serverless compute engine for containers that eliminates the need to provision, configure, and scale clusters of virtual machines. Fargate also provides a secure and reliable platform for running containers, allowing users to focus on building and running their applications, rather than managing the underlying infrastructure.

Firebase

Google Firebase is a mobile and web application development platform that provides developers with a variety of tools and services to help them quickly and easily build high-quality apps. Firebase provides a real-time database, authentication, storage, hosting, analytics, and more. It also offers a range of SDKs for Android, iOS, and web development, allowing developers to quickly and easily integrate Firebase into their apps.

Google Classroom

Google Classroom is a free web-based platform that allows teachers to create and manage virtual classrooms. It enables teachers to easily create and organize assignments, provide feedback, and communicate with students. It also allows students to submit assignments, view grades, and collaborate with their peers. Google Classroom integrates with other Google applications such as Google Drive, Google Docs, and Google Calendar.

Google Drive

Google Drive is a cloud storage service that allows users to store and access their files from any device with an internet connection. It provides users with 15GB of free storage, and additional storage can be purchased. It also offers a suite of office applications, including Google Docs, Sheets, and Slides, which allow users to create and collaborate on documents, spreadsheets, and presentations. Google Drive also offers a range of features, such as file sharing, version history, and real-time collaboration.

IAM

AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources. IAM also enables you to create and manage security credentials such as access keys, passwords, and multi-factor authentication devices. You can use IAM to manage access to AWS services such as Amazon EC2, Amazon S3, and Amazon RDS.

Node

Node.js is an open-source, cross-platform JavaScript runtime environment that executes JavaScript code outside of a browser. It is used to create server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux. Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js.

Puppeteer

Puppeteer is a Node library developed by Google that provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can be used to automate tasks that would normally be performed manually in the browser, such as form submission, UI testing, keyboard input, or capturing a timeline trace to diagnose performance issues. Puppeteer can also be used to generate screenshots and PDFs of web pages.

S3

Amazon Simple Storage Service (S3) is a cloud storage service offered by Amazon Web Services (AWS). It provides object storage through a web service interface and is designed to store and retrieve any amount of data from anywhere on the web. It is highly scalable, secure, and durable, and provides features such as data versioning, encryption, and access control. S3 is used by many organizations for storing and backing up data, hosting websites, and streaming media.

SikuliX

SikuliX is an open-source GUI automation tool that uses image recognition to interact with on-screen elements by matching screenshots. It lets you write scripts in Python (via Jython), Java, and other JVM languages to click, type, and verify UI states without needing native application hooks. Built on OpenCV, SikuliX works across Windows, macOS, and Linux, making it ideal for automating legacy or custom interfaces and integrating with testing frameworks for end-to-end automation or repetitive desktop task scripting.

SQS

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables applications to quickly and reliably queue messages that one component of an application can later process. SQS eliminates the complexity and overhead associated with managing and operating message-oriented middleware, and provides a simple and cost-effective way to decouple the components of an application. SQS offers a reliable, highly-scalable, hosted queue for storing messages as they travel between computers. It also provides a simple web services interface that can be used to access queues, add, receive, and delete messages.

VPC

Amazon Virtual Private Cloud (VPC) is a cloud computing service that provides users with a virtual private cloud, allowing them to provision a logically isolated section of the Amazon Web Services (AWS) cloud. It provides users with complete control over their virtual networking environment, including selection of their own IP address range, creation of subnets, and configuration of route tables and network gateways. It also provides users with the ability to securely connect their VPC to their existing IT infrastructure using industry-standard encrypted IPsec VPN connections.

Operating Systems (2)

Linux

Linux is an open-source operating system that is based on the Linux kernel. It is a free and powerful operating system that is used in many different types of computing devices, from smartphones to supercomputers. It is highly customizable and can be used for a variety of tasks, from web hosting to software development. It is also highly secure and reliable, making it a popular choice for many users.

macOS

macOS is Apple’s Unix‐based desktop operating system, first released in 2001 as Mac OS X and built on the open‐source Darwin core and the proprietary XNU kernel. Designed exclusively for Mac computers, it combines a polished Aqua graphical interface with deep integration of hardware and software, offering features like Spotlight search, Time Machine backups, and Continuity for seamless work across Apple devices. With strong emphasis on stability, security and performance, macOS supports a rich ecosystem of native and third-party applications via the Mac App Store and developer tools such as Xcode, making it a popular choice for both creative professionals and everyday users.

Jobs (1)

Futuristic Education

2018 – 2022, Co-Founder and Programmer

Co-Founder and Programmer for Futuristic Education, a startup building custom technology solutions for schools and educators