Computer & Information Sciences
Software Development Challenges
Real software-development projects on Ewance — write, test, and ship working code against briefs that mirror the job. Solve them to build a portfolio of verified, recruiter-checkable proof you can do the work — not just describe it.
Recommended challenges
- CodeIntermediateNew
Profile-Guided Optimization for a Production JavaScript Bundler
Read the bundler's existing release-build pipeline (Rust + Cargo). Design and implement a PGO workflow using Rust's profile-guided LLVM PGO: instrument build, training run on th…
- Profile Guided Optimization
- Llvm
- Benchmarking
Advanced Compilers and Program Optimization - CodeIntermediateNew
Stand Up Contract Testing for a Microservices Backend
Inventory the 18 services and pick the 6 producer-consumer pairs with the most staging breakages in the last 90 days. Stand up a Pact broker (self-hosted or PactFlow trial). For…
- Contract Testing
- Pact
- Microservices Patterns
Software Testing and Quality Assurance - CodeBeginnerNew
Native Android Sensor App for Wildlife Conservation Field Surveys
Build a Kotlin + Jetpack Compose Android app targeting API 31+ (covers the field rangers' rugged devices). Implement: GPS-tagged sighting records with species + count + photo, b…
- Mobile Development
- Android Kotlin
- Sensors
Mobile Application Development - CodeIntermediateNew
Native iOS HealthKit Integration for a Cardiac Rehab Startup
Build a SwiftUI app targeting iOS 17+ that requests HealthKit read scopes (heart rate, HRV, resting HR, workouts), reads the last 7 days on launch and subscribes to live updates…
- Mobile Development
- Ios Swift
- Healthkit
Mobile Application Development Practice your coursework on real scenarios.
Every challenge is shaped from real industry context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodeBeginnerNew
Build a Lexer and Parser for a Domain Query Language
Take the 1-page grammar sketch and the 12,000-query corpus (anonymized). Hand-write a lexer that emits tokens with source positions (line and column). Build a recursive-descent …
- Lexing
- Recursive Descent Parsing
- Abstract Syntax Trees
Compiler Construction - CodeBeginnerNew
Convert an Imperative Recommendation Service to Pure Functional Style
Take the Python ranking module (around 900 lines). Identify side-effects (DB reads, cache lookups, logging, time) and lift them to the boundary. Rewrite the ranking core in Scal…
- Scala Programming
- Pure Functions
- Functional Core Imperative Shell
Functional Programming - CodeBeginnerNew
Add Constant Folding and Dead Code Elimination to a Toy Compiler
Fork the repo, read the IR specification (3-address code, register-based, documented in /docs/ir.md). Implement constant folding as an IR-to-IR pass: any operation on literal op…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Compiler Construction - CodeBeginnerNew
Replace Raw Pointers with Smart Pointers in a Game-Engine Module
Audit the 18k-line module for raw-pointer ownership patterns (owning, borrowing, shared). Refactor in 4 phases: (1) introduce unique_ptr for clearly-owning sites, (2) shared_ptr…
- Cpp Programming
- Manual Memory Management
- Pointers
Imperative and Low-Level Programming - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeIntermediateNew
Design Error Recovery for a Friendly Compiler
Read the existing parser (recursive-descent, in Rust). Design and implement a panic-mode error recovery strategy with synchronization tokens (statement boundary, end of block, s…
- Error Recovery
- Recursive Descent Parsing
- Diagnostic Design
Compiler Construction - CodeIntermediateNew
Implement an SSA-Based Sparse Conditional Constant Propagation Pass
Read the IR specification (SSA form, phi nodes, typed values). Implement SCCP as a single combined worklist algorithm operating on the SSA lattice (top / constant / bottom) and …
- Static Single Assignment
- Dataflow Analysis
- Constant Propagation
Advanced Compilers and Program Optimization - CodeIntermediateNew
Cross-Platform Logistics Driver App with Live Telematics
Build a React Native app (Expo bare workflow) covering: optimized route view, parcel-barcode scan, photo proof-of-delivery with EXIF (Exchangeable Image File Format) location st…
- Mobile Development
- React Native
- Ble
Mobile Application Development - CodeBeginnerNew
Build an End-to-End Test Suite for a Checkout Flow
Inventory the last 6 months of production checkout incidents (anonymized export provided). Pick the top 7 user journeys (1 happy path + 6 highest-incident edge cases) and write …
- End To End Testing
- Playwright
- Ci Cd
Software Testing and Quality Assurance Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodeBeginnerNew
Refactor a Tangled Java Pricing Engine With Design Patterns
Start from a provided Java 21 codebase with the legacy PricingEngine class, 38 example fixtures (input cart, expected price), and one failing test demonstrating a bug from last …
- Python Or Javascript
- Design Patterns
- Refactoring
Object-Oriented Programming and Design - ResearchIntermediateNew
Compiler Fuzzing Campaign on a Production C Backend
Stand up a Csmith-based generator producing 200,000+ random valid C programs over the campaign. Differential-test the target backend against a baseline C compiler (matching opti…
- Fuzzing
- Differential Testing
- Test Case Minimization
Advanced Compilers and Program Optimization - CodeIntermediateNew
Multi-Tenant Schema Migration for a Series-B HR SaaS
Design a 4-phase migration: (1) add new columns + tables, dual-write on every workflow mutation, (2) backfill 3.4 TB in chunks of around 50k rows per minute with throttling and …
- Multi Tenant Architecture
- Schema Migration
- Dual Write
Engineering Software as a Service - CodeSeniorNew
Detect Use-After-Free with Pointer Analysis in a C++ Codebase
Build the codebase with compilation database (compile_commands.json). Write a custom Clang static-analyzer checker (or extend an existing one) that flags resource-handle uses af…
- Pointer Analysis
- Static Analysis
- Use After Free
Program Analysis - CodeBeginnerNew
Design and Implement a C++ Telemetry Aggregator With Inheritance
Implement a TelemetrySource abstract base class with virtual sample() and timestamp() methods, 6 concrete subclasses (one per sensor family), and a TelemetryBus that polymorphic…
- Systems Language Proficiency (Go, Rust, C++)
- Inheritance
- Polymorphism
Object-Oriented Programming and Design - CodeBeginnerNew
Refactor a Legacy Reporting Script for a Renewable-Energy Startup
Read the existing script and identify 5-7 distinct responsibilities tangled together. Refactor into 3 layers: data loaders (CSV, REST API), transformers (pure functions over row…
- Abstraction
- Higher Order Functions
- Refactoring
Programming Abstractions - CodeBeginnerNew
Build a DSL for Insurance-Policy Rules in OCaml
Design a small DSL covering: variables (insured amount, premium, deductible, named perils), expressions (arithmetic, conditionals, lookups against external tables like CRESTA zo…
- Ocaml
- Domain Specific Languages
- Parser Combinators
Functional Programming - CodeIntermediateNew
Build a CodeQL Query Pack to Catch Logging-of-PII
Use CodeQL to write queries for Java and Python that detect data flow from PII sources (request parameters, database columns marked PII, user-profile fields) into logging sinks …
- Static Analysis
- Codeql
- Data Flow Analysis
Program Analysis - StrategyBeginnerNew
App Store Launch Strategy for a Bootstrapped SaaS Side-Project
Audit the team's current TestFlight build and Play internal-testing build. Produce: App Store Connect and Play Console store listings with optimized titles, subtitles, keyword r…
- App Distribution
- Store Listing
- Mobile Analytics
Mobile Application Development - DesignIntermediateNew
Authentication + RBAC for a Multi-Workspace SaaS
Design the auth architecture: identity provider (managed), session model (JWT with rotation), workspace-membership claims, RBAC permission model (4 default roles, custom-role ca…
- Authentication
- Rbac
- Sso
Engineering Software as a Service - CodeBeginnerNew
CI/CD Pipeline for a SaaS Monorepo with 14 Services
Set up Nx (or Turborepo) for affected-graph computation. Configure remote build cache (S3-backed) so cached steps skip across runs and developers. Parallelize jobs in GitHub Act…
- Ci Cd
- Monorepo
- Nx
Engineering Software as a Service - CodeIntermediateNew
Property-Based Testing for a SEPA Payments Library
Read the SEPA Pain.001 XSD (XML Schema Definition) and pick 5 invariants the parser MUST preserve (e.g., 'sum of transactions equals control sum', 'IBAN passes mod-97 check', 'c…
- Property Based Testing
- Fuzz Testing
- Systems Language Proficiency (Go, Rust, C++)
Software Testing and Quality Assurance
How it works
From brief to credential, in six steps.
Step 01
Browse challenges aligned to your studies.
Step 02
Accept the one that fits your goals.
Step 03
Work through it with AI Copilot guidance.
Step 04
Submit for structured evaluation.
Step 05
Earn a verified credential.
Step 06
Add it to LinkedIn with one click.
Industry teams behind a decade of practitioner briefs
Hiring from this pool?
Sponsor a challenge and meet candidates through actual work.
Industry teams can shape briefs around the skills they hire for, then evaluate students on rubric-scored deliverables — not resumes.



















































































