README.md
February 25, 2026 ยท View on GitHub
<frontend-challenge />
Build a Customer Directory โข Show Your UI/UX Skills โข Document Your AI Journey
๐ฏ What We're Looking For
The main objective of this challenge is to assess your Front-end Development skills, your approach to UI/UX, and how you leverage AI tools in your workflow.
| โ | Your coding style and component architecture |
| โ | Knowledge of frameworks and modern technologies |
| โ | UI/UX skills and attention to detail |
| โ | Testing strategies |
| โ | How you collaborate with AI tools |
Important
๐ค AI collaboration is mandatory. We don't want to know if you used AI. We want to know how you used it. Document your journey!
๐ก Check out our frontend-guideline for some of our patterns and best practices.
๐ Table of Contents
- ๐ The Challenge
- ๐ Layout
- ๐ API
- โญ Evaluation Criteria
- ๐ค AI Journey (Required)
- ๐ค Submission
- โ FAQ
๐ The Challenge
Build a Customer Directory application that allows users to browse, search, and view customer details.
flowchart LR
subgraph INPUT["๐ฅ Data Source"]
API[("JSON API\nCustomer Data")]
end
subgraph APP["โ๏ธ Your Application"]
FETCH["Fetch Data"]
LIST["Customer List\n+ Filters"]
DETAIL["Customer\nDetail Page"]
end
subgraph UX["โจ User Experience"]
SEARCH["๐ Search"]
FILTER["๐ Filter by State"]
PAGINATE["๐ Pagination"]
end
API --> FETCH
FETCH --> LIST
LIST --> DETAIL
SEARCH --> LIST
FILTER --> LIST
PAGINATE --> LIST
๐ Requirements
You must implement:
| Feature | Description |
|---|---|
| ๐ Search | Search customers by name and/or last name |
| ๐ Filter by State | Filter the customer list by Brazilian states |
| ๐ Pagination | Navigate between pages of customer cards |
| ๐ค Customer Cards | Display customer information in card format |
| ๐ Detail Page | Internal page with more customer details (use your creativity!) |
| ๐งช Tests | We'll be happy if you write tests for it |
๐ Layout
Note
This is just a prototype! We want to see your ability to propose improvements and new contributions to the UI.
๐จ Be Creative!
Feel completely free to add:
- โจ Animations and micro-interactions
- ๐ฏ New filters and sorting options
- ๐ฑ Responsive design improvements
- โฟ Accessibility features
- ๐ Dark mode
- ๐ Any feature you think adds value
๐ API
Endpoint
https://jsm-challenges.s3.amazonaws.com/frontend-challenge.json
Sample Response
๐ Click to see JSON structure
{
"results": [
{
"gender": "female",
"name": {
"title": "mrs",
"first": "ione",
"last": "da costa"
},
"location": {
"street": "8614 rua santa catarina",
"city": "ponta grossa",
"state": "distrito federal",
"postcode": 24358,
"coordinates": {
"latitude": "-73.6753",
"longitude": "142.4098"
},
"timezone": {
"offset": "-3:00",
"description": "Brazil, Buenos Aires, Georgetown"
}
},
"email": "ione.dacosta@example.com",
"dob": {
"date": "1968-01-24T18:03:23Z",
"age": 50
},
"phone": "(01) 5765-3027",
"cell": "(75) 9398-8111",
"picture": {
"large": "https://randomuser.me/api/portraits/women/50.jpg",
"medium": "https://randomuser.me/api/portraits/med/women/50.jpg",
"thumbnail": "https://randomuser.me/api/portraits/thumb/women/50.jpg"
}
}
]
}
Tip
Feel free to use a BFF (Backend for Frontend) layer if you think it makes sense for your architecture.
โญ Evaluation Criteria
We assess your submission across 7 competencies. There are no "levels" to choose โ just deliver your best work, and we'll evaluate where you stand.
๐ฏ Problem Solving
๐๏ธ Code Architecture
โจ Code Quality
๐งช Testing
|
๐จ UI/UX
๐ Performance & Best Practices
๐ค AI Collaboration
|
๐ค AI Journey (Required)
Caution
This section is mandatory. Submissions without AI documentation will not be evaluated.
Create an /ai-journey folder in your repository documenting how you collaborated with AI tools.
๐ Required Structure
๐ ai-journey/
โโโ ๐ README.md # Summary of your AI usage
โโโ ๐ prompts.md # Key prompts you used
โโโ ๐ learnings.md # What you learned in the process
๐ What to Document
prompts.md โ The interesting parts, not everything
## ๐ง Prompt: Component architecture
**Tool:** ChatGPT-4 / Claude / Copilot
**What I asked:**
"How should I structure my React components for a customer directory app?"
**What happened:**
Initial suggestion was over-engineered. I simplified to...
**Final approach:**
[your architecture]
learnings.md โ Reflect on the experience
## โ
What worked well
- AI helped with CSS animations I wasn't familiar with
- Great for generating test boilerplate
## โ What didn't work
- Accessibility suggestions were incomplete
- Had to research WCAG guidelines myself
## ๐ What I'd do differently
- Be more specific about design system constraints
- Ask for simpler solutions first
๐ค Submission
๐ป Tech Stack
Choose your favorite framework/library. We're framework-agnostic!
๐ Repository Structure
๐ your-repo/
โโโ ๐ src/ # Source code (tests alongside components)
โโโ ๐ ai-journey/ # AI documentation (required!)
โ โโโ ๐ README.md
โ โโโ ๐ prompts.md
โ โโโ ๐ learnings.md
โโโ ๐ README.md # Setup instructions
๐ฎ How to Submit
flowchart LR
A["1๏ธโฃ Create public\nGitHub repo"] --> B["2๏ธโฃ Open Issue\nin this repo"]
B --> C["3๏ธโฃ Wait for\nour feedback"]
Issue format:
- Title:
[Frontend] Your Name - Content: Link to your repository + brief description
โฐ Timeline
| Recommended | Need more time? |
|---|---|
| 10 days | Just let us know in the issue! |
โ FAQ
๐ ๏ธ What frameworks can I use?
Any modern framework: React, Vue, Angular, Svelte, Next.js, Nuxt, etc. Choose what you're most comfortable with.
๐ผ Are there open positions?
Not always, but we maintain a talent pool. Great submissions stay on our radar for future opportunities.
โ ๏ธ What if I can only complete part of the challenge?
Submit what you have! Partial submissions with quality code tell us more than complete submissions with poor code. Just document what's missing and why.
๐จ Should I follow the layout exactly?
No! The layout is just a starting point. We want to see your creativity and UI/UX improvements. Feel free to redesign it entirely if you have good ideas.
๐ How will I know my seniority level?
We don't ask you to self-declare a level. We evaluate your submission across all criteria and determine fit based on our internal standards.
๐ง Can I use component libraries (Material UI, Chakra, etc.)?
Yes, but we also want to see your CSS skills. A mix of custom styling and library components is perfectly fine.
๐ Other Challenges
| Position | Repository |
|---|---|
| โ๏ธ Backend | backend-challenge |
๐ฌ Questions?
๐ Open an Issue ย โขย โ๏ธ vagas-dev@juntossomosmais.com.br
Before asking, check if your question was already answered in previous issues.
Made with ๐ by the Engineering Team at Juntos Somos Mais