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
- StrategyBeginnerNew
Risk-Based Test Strategy for a Telehealth Scheduling Release
Using the module inventory case-file, the risk-scoring template, and the team-and-runway brief, design and document a risk-based test strategy for the seven-module scheduling re…
- Risk Based Testing
- Test Strategy
- Test Planning
Open coursework - ResearchIntermediateNew
Differential Fuzzing Campaign on a Production C Compiler Backend
Using the incident case file and the campaign scope brief, stand up a Csmith-based generator that produces at least 200,000 random but valid C programs across the two-week windo…
- Fuzzing
- Differential Testing
- Test Case Minimization
Open coursework - CodeIntermediateNew
Compile a C-Like Subset to WebAssembly for a Game Runtime
Using the studio runtime constraints brief, the five example scripts, and the runtime host harness declared in the provided materials, build a command-line compiler that reads o…
- Code Generation
- Webassembly
- Intermediate Representation
Open coursework - CodeIntermediateNew
Find the Dead Code Hiding in a Python Monorepo
Build a dataflow- and call-graph-based dead-code detector in Python (using libcst, or the standard ast module together with jedi) and prove it on the materials provided. Run it …
- Dataflow Analysis
- Ast
- Call Graph
Open coursework Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- 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
Open coursework - CodeSeniorNew
Diagnose Heap Corruption in a Trading Firm's Order Gateway
Working only from the materials in this case file, reconstruct what is corrupting the heap. Read the representative order-pool allocator module (item: gateway-allocator-module) …
- Cpp Programming
- Manual Memory Management
- Pointers
Open coursework - CodeIntermediateNew
Real-Time Collaboration Whiteboard with WebSockets
Design the board state model (sticky notes + cursor positions) and pick a conflict-resolution approach (last-write-wins for v1, or operational-transform if scoping allows). Buil…
- Websockets
- React
- Nodejs
Open coursework - CodeIntermediateNew
Port a Legacy C Image Pipeline from x86 to ARM64
Clone the 12k-line C codebase (provided). Set up an ARM64 cross-compile toolchain (clang or gcc). Identify portability issues: endianness assumptions, pointer-size casts, inline…
- C 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.
- CodeSeniorNew
Design a Polyhedral Loop-Tiling Strategy for a Tensor DSL
Study the DSL's IR (provided, MLIR-based with linalg-style ops). Choose a tiling strategy (rectangular tiling with cost-modeled tile sizes is the safe baseline; full polyhedral …
- Polyhedral Analysis
- Loop Tiling
- Mlir
Advanced Compilers and Program Optimization - 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…
- Cpp
- Inheritance
- Polymorphism
Object-Oriented Programming and Design - DesignSeniorNew
Design a Semantic Configuration Validator Using Abstract Interpretation
Using the configuration schema reference, the three incident post-mortems, and the 200-configuration validation set provided, design an abstract domain that captures relations b…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Open coursework - CodeIntermediateNew
Offline-First Flutter App for HVAC Field Service Technicians
Build a Flutter prototype that runs against the mock API described in the Mock API Specification, seeded with the Work Orders Seed Dataset and the Asset History and Parts Catalo…
- Mobile Development
- Flutter
- Offline First Design
Open coursework 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
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
Open coursework - 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
Refactor a Node.js Service into Scala with Effect Systems
Take the existing Node.js price-normalization code (provided). Rewrite in Scala 3 using ZIO (or Cats Effect) — model every effect explicitly (IO for side effects, Either or type…
- Scala Programming
- Zio Effects
- Cats Effect
Functional Programming - StrategyIntermediateNew
Stand Up Contract Testing for a Logistics Microservices Backend
Using only the materials provided, choose and justify the six producer-consumer service pairs to migrate first. Read the 90-day staging breakage log to rank pairs by how much pa…
- Contract Testing
- Pact
- Microservices
Open coursework - CodeBeginnerNew
Apply Property-Based Testing to a Currency-Conversion Module
Rewrite the conversion module in F#: use units of measure for currency types, immutable value types for amounts, no floating-point arithmetic (Decimal only). Build property test…
- Fsharp
- Property Based Testing
- Fscheck
Functional Programming - DesignBeginnerNew
Design a Playwright Checkout Test Suite That Blocks Bad Merges
Using the checkout incident export, identify the single most valuable happy path plus the six edge cases tied to the most frequent and most severe past incidents (for example fa…
- End To End Testing
- Playwright
- Ci Cd
Open coursework - CodeIntermediateNew
Build a Clinician-Grade HealthKit Cardiac Rehab iOS App
Build a SwiftUI app targeting iPhones running iOS 17 or later that requests the four HealthKit read permissions named in the product brief (PM-1), reads the last seven days of d…
- Mobile Development
- Ios Swift
- Healthkit
Open coursework - CodeIntermediateNew
Build a Metered-Billing System for a Usage-Based SaaS
Build an event-ingest API (Express + Redis Streams) that receives usage events with idempotency keys. Aggregate hourly into Postgres rollups using a windowed worker that survive…
- Metered Billing
- Idempotency
- Event Aggregation
Open coursework - StrategyBeginnerNew
Launch Plan for a Bootstrapped Journaling App Across Two App Stores
Your task is to act as the launch product manager and turn the team's raw position into an executable plan. Read the launch-readiness file (LAUNCH-FILE) to understand the team, …
- App Distribution
- Store Listing
- Mobile Analytics
Open coursework - 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 - CodeSeniorNew
Design an In-House Bare-Metal Bootloader for a Smartwatch Prototype
Working only from the provided materials, design and implement a bare-metal C bootloader for the Cortex-M4 target with no operating system, a custom linker script, and vector-ta…
- C Programming
- Manual Memory Management
- Pointers
Open coursework - DesignIntermediateNew
Design an Invoice-Rules Mini-Language for Non-Technical Users
Design a rule mini-language whose grammar (written in Backus-Naur Form, the standard notation for describing grammars) covers boolean logic (and / or / not), comparison operator…
- Abstraction
- Recursion
- Domain Specific Language
Open coursework
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.



















































































