Every job seeker has the same problem: your CV gets 6 seconds of attention. Recruiters skim. ATS bots scan for keywords. Most CVs never reach a human reader.
DocSmart fixes this. Upload your CV (PDF or image). Paste a job description. The app returns:
- ๐ Match score โ "Your CV matches 67% of the job's required skills"
- โ Matched skills โ what you have that the job wants (Python, AWS, React, etc.)
- โ ๏ธ Missing skills โ what's in the job description but not in your CV
- ๐ Improvement suggestions โ "Add 'Lambda' explicitly", "Quantify your achievements"
- ๐ท๏ธ Extracted entities โ names, companies, dates, certifications detected automatically
๐ฏ Why this one feels different
The other group projects are for hypothetical users. This one is for YOU. Every student in this cohort has a CV they're trying to improve. After demo day, you'll run your own CV through your own app. So will your friends. So will future bootcamp cohorts. Build it well โ it'll keep getting used.
1. UI Lead
- Owns the upload + paste-job-description flow
- Designs the score visualization (match circle, bar charts)
- Picks fonts that say "professional, hireable"
- Handles result presentation (skill chips, callouts)
2. Textract Engineer
- Wires Textract to handle PDFs and images
- Cleans the extracted text intelligently
- Detects sections (Education, Experience, Skills)
- Handles edge cases (scans, low-res, multi-column)
3. Matching Engineer
- Builds the skills taxonomy (Python, AWS, React, etc.)
- Wires Comprehend for entity + key phrase extraction
- Writes the matching/scoring algorithm
- Designs the improvement-suggestions logic
4. AWS & Polish Lead
- Provisions EC2 + IAM + S3
- Sets up deployment + restart policies
- Owns demo day prep + presentation deck
- Curates demo CVs (real ones, anonymized)
Every team member has their own CV. Use each other as test data. Your team owns 4 real CVs out of the gate โ more than any other team. Anonymize them (remove email/phone for demos), and you'll have a much better app by Friday than teams using only public sample CVs.
| Component | What it does |
|---|---|
| EC2 t2.micro | Streamlit app โ upload form + results display |
| S3 bucket | Temporary storage for uploaded CVs (delete after processing) |
| Textract | Extracts text + table data from PDF and image CVs |
| Comprehend | Extracts entities (people, companies, dates) + key phrases |
| skills.json (local) | Your curated taxonomy โ Python, AWS, React, Project Mgmt, etc. |
| Match engine (Python) | Compares extracted skills to job description, scores, suggests |
Set up the project:
The two-column layout: left = upload, right = results. Create app.py:
Run with streamlit run app.py. The empty-state shows on the right until the user uploads + analyzes.
Create aws_helpers.py:
Test it locally with a sample PDF. Print the output to check what Textract extracts before moving on.
For PDFs over 1 page, use the async start_document_text_detection API instead. For demo simplicity, accept single-page PDFs OR images only โ that's what 95% of CVs are anyway. Mention this in your demo as a "v2 improvement".
This is the brain of the app. Create skills.json โ your curated taxonomy:
Now create matcher.py:
Hint: making your skills.json richer (huge differentiator)
The basic taxonomy above is a starting point. Real differentiators: add aliases (e.g., "JavaScript" โ "JS" โ "ECMAScript"), related skills ("Lambda" implies "AWS"), and seniority indicators ("Senior", "Lead", "Manager"). The team with the smartest taxonomy delivers the smartest results โ and that's what wins Most Innovative.
Same EC2 setup as Projects 1 & 2: t2.micro, Amazon Linux 2023, port 8501 open, IAM role attached with AmazonTextractFullAccess + ComprehendFullAccess + S3ReadOnly.
Install on the server:
Award-winning polish ideas
- Skill chip styling โ use coloured "chips" instead of plain text. Matched = green, Missing = red, Extra = blue. Looks like Stack Overflow.
- Animated score circle โ use Plotly's gauge chart for the match score
- "Try it on these sample CVs" โ provide 3 ready-to-load sample CVs (anonymized teammates) so demo visitors don't have to upload their own
- "Try it on these sample jobs" โ paste-ready job descriptions for common Ghana roles (cloud engineer, frontend dev, data analyst)
- Download report โ generate a PDF report of the match results (uses Streamlit's
st.download_button+ reportlab) - Privacy notice โ "Your CV is processed in-memory and never stored. We delete uploads after analysis." Trust matters.
Skip the upload+paste form for first-time visitors. Show a landing screen with: "Try DocSmart with one of our sample CVs โ" + three big buttons. Lets judges test the app instantly without typing. Frictionless demo = memorable demo.
๐ฌ Your 5-minute demo flow
- 00:00 โ 00:30 ยท The pain. "Everyone in this room has been ghosted by a recruiter. Often, the reason isn't your skill โ it's that your CV didn't pass the keyword filter." Make eye contact. People will nod.
- 00:30 โ 01:00 ยท The team. Quick intros โ but mention that you used your OWN CVs as test data. Builds trust.
- 01:00 โ 02:00 ยท The live demo. Click "Try a sample CV". Paste a real Ghana cloud engineer job. Watch the score appear, skills get highlighted, suggestions populate. This is your headline moment.
- 02:00 โ 03:00 ยท A second demo โ judge's CV (optional!). If a judge consents, run their CV through the app live. "Here's where YOU could improve." Bold move. Massive memorability.
- 03:00 โ 04:00 ยท The architecture. Show your diagram. "Textract reads the doc, Comprehend extracts entities, our matching engine compares to the job. EC2 hosts Streamlit, all under free tier."
- 04:00 โ 05:00 ยท Who uses this. "Every job seeker in Ghana. Every bootcamp cohort. Career services at universities. We've built v1 โ v2 would add cover letter generation and salary suggestions." Vision sells.
After the demo, share the live URL in the cohort chat. "Try it with your own CV right now โ we'll wait." 20 people will try it in 2 minutes. Word will spread. You'll likely win People's Choice this way alone.
Most Polished
Looks like a real product. Beautiful score circle, animated chips, professional fonts, "feels like a $20/month tool".
Most Innovative
The smartest taxonomy. Or AI-generated improvement suggestions (using Bedrock). Or PDF report generation. Something nobody else thought of.
Best Demo
The team that ran a judge's CV through the app. Or the team that demoed with FIRE on the live narration. Pure showmanship.
Best Documentation
A README so good it could be a Medium article. Architecture diagram, setup steps, lessons learned, future roadmap.
People's Choice
The app the cohort genuinely uses on their own CVs after demo day. The clearest signal โ usage doesn't lie.
You're solving your own problem.
Every line of code you write here is dogfooded by your own team. By demo day, you'll have a tool you genuinely use yourselves โ and that's the most powerful signal in startup-land.
Build it. Run your own CV through it. Then watch the cohort do the same.