AWS Builder Center
How I created my own  hyper-personalized study workspace using Kiro, CDK, Cognito, Lambda, Dynamo, multi-user and productive.

How I created my own hyper-personalized study workspace using Kiro, CDK, Cognito, Lambda, Dynamo, multi-user and productive.

I wrote this article detailing how I built a serverless solution that completely transformed the way I consolidate high-level knowledge. Here is how I structured it: No passivity: I have to write the definition from my memory. On-demand mentoring: Drawing a blank? Just click once, and the AI ​​provides a contextual hint. Knowledge neural network: I can include references and connections. Instant feedback: Upon completion, the AI ​​ points out exactly what was missing.

Why It's a Game Changer

This hyper-personalized study system is built around an active-recall workflow for over 400 technical terms. Here is how it works:
  • Dynamic Dashboard: All terms are organized into fully editable categories and subcategories.
  • Active Recall Modal: Clicking a term opens a text box where I must write the definition from my memory.
  • AI-Powered Hints: If I get stuck, a built-in AI button generates a contextual hint to help me out.
  • Knowledge Mapping: After answering, I can attach reference links and connect the concept to other existing terms in the database.
  • Instant AI Feedback: A final evaluation button analyzes my definition, gives it a score from 0 to 10, and provides detailed feedback on what was missing.
    How I Built a Serverless Study Platform to Prepare for Principal Engineer Interviews

The Problem

I'm preparing for technical interviews at the Principal Engineer level while studying for AWS certifications (ANS-C01, AIF-C01). I needed a single place to:
  • Organize hundreds of technical topics (data structures, design patterns, system design, cloud architecture)
  • Track progress across all categories
  • Evaluate my knowledge with AI — write definitions from memory, get graded, see what I missed
  • Keep structured study materials for AWS certification exams
  • Work offline on flights and online with full cloud persistence
Existing tools were either too generic or didn't support the workflow I wanted: active recall → AI evaluation → expert-level reference comparison.

What I Built

Tech Learning Board — a serverless web application hosted entirely on AWS.
The platform organizes content into chapters, modules, and topics. Each topic has:
  • A text area where I write my definition from memory (active recall)
  • An AI evaluator that grades my answer 1–10 and explains what I missed
  • An AI deep-dive that generates exhaustive explanations with pros/cons, diagrams, and examples
  • Related terms that auto-link to other topics in the board
  • Image uploads and reference links
I also built dedicated sections for AWS certification question banks (AIF-C01, ANS-C01) with domain filtering, tagging, batch import, and PDF export.

Architecture

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ CloudFront │────▶│ S3 (Static) │ │ Cognito User │
│ + CF Func │ │ HTML/JS/CSS │ │ Pool + Hosted │
└──────┬──────┘ └──────────────┘ │ UI (OAuth2) │
│ └────────┬────────┘
│ /api/* │ JWT
▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ API Gateway │────▶│ Lambda │────▶│ DynamoDB │
│ HTTP API │ │ (Node.js) │ │ (Single Table) │
└──────────────┘ └──────┬───────┘ └──────────────────┘
│
▼
┌──────────────┐
│ OpenAI │
│ GPT-4o │
└──────────────┘

Architecture Decisions Worth Sharing

Single-Table DynamoDB

Everything lives in one table with a composite key:
PKSKContent
user#<sub>boardAll sections, groups, items
user#<sub>note#<item-id>Definition, links, images, terms, rating
user#<sub>ai-cache#<sha256>Cached AI responses
user#<sub>aif-questionsAIF-C01 question bank
user#<sub>countdownsInterview deadlines
  • mode: 'evaluate' — Strict evaluator persona, grades 1–10, structured output (Score, and comments about my response), lower temperature (0.3)
  • mode: 'search' — Expert architect persona, exhaustive explanations with pros/cons, Mermaid diagrams, practical examples, higher temperature (0.7)
This prevents the AI from giving generic responses and ensures evaluation feedback never looks like the deep-dive content.

XOR Obfuscation at Rest

My study notes contain personal summaries I don't want readable in plain text if someone accesses DynamoDB directly. It's not encryption (it's reversible with the key), but enough to prevent casual exposure during debugging or if table access is inadvertently shared.

Dual-Mode Operation (Cloud / Offline)

The same codebase runs:
  • Locally with JSON files — for offline study (planes, no internet)
  • In the cloud against DynamoDB/S3 — full persistence and multi-device sync
A single environment variable (USE_DYNAMODB=true) switches the data layer. The frontend detects the mode via /api/config and adapts (auth required vs. offline badge).

OIDC Federation for CI/CD

No IAM access keys stored in GitHub. The deploy workflow uses:
1
2
3
4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
aws-region: ${{ secrets.REGION }}
The IAM role's trust policy is scoped to my specific GitHub repo via the OIDC provider. CDK handles all infrastructure as code — a single npx cdk deploy creates or updates everything.

Tech Stack

LayerTechnology
CDN + Edge AuthCloudFront + CloudFront Functions
FrontendVanilla HTML/JS/CSS on S3
APIAPI Gateway HTTP API + Lambda (ESM)
AuthenticationCognito User Pool (Hosted UI, OAuth2)
DatabaseDynamoDB (single table, on-demand)
File StorageS3 + presigned URLs
AIOpenAI GPT-4o (evaluate + search)
InfrastructureAWS CDK (TypeScript)
CI/CDGitHub Actions + OIDC federation
DNS + TLSRoute 53 + ACM

What I Learned

Building this forced me to actually use the services I was studying for certifications — CloudFront cache behaviors, Lambda cold start optimization, DynamoDB access patterns and key design, Cognito token flows (refresh, exchange, cookie-based auth), IAM least-privilege policies, and CDK constructs.
The best way to learn AWS is to ship something real on it. Reading documentation is necessary, but hitting real limits (like the 1024-byte SK constraint) and solving them under pressure teaches you things no practice exam ever will.
The AI evaluation feature fundamentally changed how I study. Writing definitions from memory (active recall) and getting immediate structured feedback is significantly more effective than passively reading documentation or watching videos.

Cost

Under $5/month for a single-user workload. DynamoDB on-demand with minimal reads, Lambda invocations well within free tier, S3 storage negligible, CloudFront for a single user barely registers. The only real cost is OpenAI API calls, which are cached aggressively.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article